You are not logged in.

#1 2021-09-01 02:37:37

Brocellous
Member
Registered: 2017-11-27
Posts: 145

[SOLVED] Can't boot GRUB without syslinux

This one is kinda strange. Fiirst some context in case it is relevant:

I've got an old machine that I'm pretty sure used to boot Windows on UEFI. I want to install Arch on it, however I found I was not able to boot the install iso in UEFI mode. It's not a problem since I can boot the iso in legacy mode, but since I wasn't sure which my install would be I created a bios boot partition and an efi partition when I reformatted the drive. I then tried to install with grub on efi but wasn't successful so I decided to go with legacy instead. I wiped the ESP and changed the partition type to "Linux Filesystem" so it wouldn't get accidentally picked up as an efi partition by systemd; if I can figure out how to boot on UEFI maybe I'll use it in the future.

Anyway, so I reinstall the kernel, ucode, etc., regenerate the initramfs and grub-mkconfig -o /boot/grub/grub.cfg, where this time /boot is not a separate partition. I change the boot type to legacy in the bios setup and attempt to reboot:

Error 1962: No Operating System Found

Hmm. Now it doesn't boot on legacy or uefi. With some trial and error, I found a way to boot the new install from the syslinux config on the iso. I first boot the iso in legacy mode, then on the boot menu select the "Boot Existing OS" option and press Tab to edit it. I edit the boot line from

.com32 chain.c32 hd0 0

to

.com32 chain.c32 hd1 0

and it works! This brings up the grub menu from the new install where I can select the Arch entry, login, etc. and everything seems to be in order. Except I haven't figured out how I can boot it without the iso.

I tried moving the arch disk to the top of the boot sequence in the bios setup, but it had no effect. There are options for "Quick Boot" and "Rapid Boot", but I have them disabled. The only thing of interest I've found is that the Arch entry in the grub.cfg has "set root='hd0,gpt4'", which doesn't seem right. "ls -l" from the grub cli once I load it with the method above yields:

grub> ls -l
Device hd0: Filesystem typw is09660 - Label `Arch_202108' - [...] (arch ISO usb drive)
Device hd1: No known filesystem detected - Sector size 512B - [...]
    Partition hd1,gpt4: Filesystem type btrfs - Label `root', [...] (root filesystem)
    Partition hd1,gpt3: No known filesystem detected - [...] (swap partition)
    Partition hd1,gpt2: Filesystem type fat - Label `ESP', [...] (empty ESP)
    Partition hd1,gpt1: No known filesystem detected - [...] (BIOS boot partition)

however I have tried changing all hd0 references to hd1 in grub.cfg without success.

Last edited by Brocellous (2021-09-01 21:01:03)

Offline

#2 2021-09-01 08:14:44

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,678

Re: [SOLVED] Can't boot GRUB without syslinux

If you actually have a normal BIOS system, it's quite likely your BIOS doesn't actually support booting from a GPT disk. Have you tried normal MBR instead?

Online

#3 2021-09-01 10:19:55

Brocellous
Member
Registered: 2017-11-27
Posts: 145

Re: [SOLVED] Can't boot GRUB without syslinux

That sounds very possible, I'll give it a shot tomorrow. I guess I figured gpt wouldn't be a problem since I observed it boot windows on uefi, but then again the uefi mode didn't work for me either.

Offline

#4 2021-09-01 21:00:23

Brocellous
Member
Registered: 2017-11-27
Posts: 145

Re: [SOLVED] Can't boot GRUB without syslinux

Yep that works, thanks! I was even able to use gdisk to directly reformat the gpt disk as mbr. Shame the uefi mode only seems to work with windows for some reason. Marking as solved.

EDIT: After further inquiry, I think I was mistaken about the uefi working for Windows previously. I guess this machine just has a broken uefi firmware implementation.

Last edited by Brocellous (2021-09-01 21:04:47)

Offline

Board footer

Powered by FluxBB