Asking for help and guidance with reinstalling GRUB and fixing the boot partition/ Legacy BIOS/GPT

System : This is a pretty old system from the year 2007 with a Q6600 CPU and a 8800GT graphics card. Being realistic, its time to let it go but it still has a lot of value for me as i am still using it because of audio PCI cards and even the parallel port with LinuxCNC, so please no jokes about throwing it in the trashcan :wink: Its still able to do so much and the last 2 1/2 years i almost had no problems with EOS and installing/trying hundreds of software packages.

Backstory I:
All the OS partitions on the two ssds grew over the last 8-9 years as a product of lots of tinkering and having fun with hackintosh and windows multibooting, it grew far too complicated and of course now i wouldnt do it the same way when setting up a new system. Nowadays I am really into Linux for the last 2-3 years and discovered EOS for myself, using it as my daily driver for almost everything except professional audio work which is still done on windows (which is kept offline).

Backstory SSD2 (sdb) :
It started with installing Windows 32bit on SSD2 (sdb2), later Windows 64bit (sdb3) and years years later Debian Bullseye on sdb5, which wasnĀ“t a problem because of the MBR from the windows installs. Selecting SSD2 as the boot drive in BIOS gives me GRUB(sdb1 ) and from the grub-menu i can boot into Debian, the Windows 32/64 boot chain and even the EOS from SSD1 (sda4) which is now broken. So no problem with SSD2!

Backstory SSD1 (sda) :
Doing a extensive period of hackintoshing 10 years ago, i was installing two version of OSX on SSD1(sda2 and sda3) and because of that SSD1(sda) ended up with a GPT partition table and a EFI partition, even when the system is legacy bios. When i installed EOS years later 2-3 years ago i remember clearly that the installer gave me some warnings that with the configuration its only possible to install EOS when creating that small size partition which happens to be sda5.

Backstory EOS, Grub-Customizer :
Since having installed EOS i had almost no issues with booting into it (working almost 2 1/2 years)till last september when the GRUB problem happened. It did not break like some UEFI systems, after every kernel update, dkms were generated and os-proper was still finding debian and windows from SSD2(sdb), but Grub-Customizer wasnĀ“t working anymore and was throwing errors. As the problem didnĀ“t get any better i decided to remove it, but without it my grub menu grew and grew with old entries. I reinstalled it, and i tried rEFInd but stuck with the problems. I once again removed grub-customizer and copied the backups back, deleted some files, once again tried to reinstall grub but this time Grub was damaged in the processā€¦

Problems i am facing and lacking knowledge:

  • Its a legacy BIOS system, so no UEFIā€¦means i am stuck with GRUB ? I tried rEFInd but thats only working with UEFI and not with legacy BIOS ?
  • Because of the GPT partition table layout on SSD1 (sda), which came from the hackintoshing period i did more then 10 years ago, EOS/GRUB got installed as/with Blocklists ?? (question)
  • GRUB is not installed on the EFI (sda1), it got installed on partition sda4 under /boot/ā€¦ ?

What i have tried so far :

  • When EOS was still booting i tried to reinstall GRUB

State right now :

  • When selecting SSD1 (sda) in the BIOS as the boot drive, i am stuck with a ā€œVerifying DMI Pool Data ā€¦ā€ and a blinking ā€œGRUB _ā€ cursor
  • Selecting SSD2 (sdb)as bootdrive i can boot into Debian, Windows but EOS (sda4)entry boots into kernel panicā€¦
  • With the latest EOS installer on USB as a Live System, i am able to arch-chroot :
[liveuser@eos-2022.12.17 ~]$ sudo mount /dev/sda4 /mnt
[liveuser@eos-2022.12.17 ~]$ sudo arch-chroot /mnt
[root@EndeavourOS /]# sudo grub-install --recheck --target=i386-pc /dev/sda4
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install: error: will not proceed with blocklists.
efibootmgr
EFI variables are not supported on this system.
sudo grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux-rt-lts
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux-rt-lts.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-rt-lts-fallback.img
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/intel-ucode.img /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot:  intel-ucode.img initramfs-linux-fallback.img
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
grub-probe: error: cannot find a GRUB drive for /dev/sdc1.  Check your device.map.
Found Windows 10 on /dev/sdb1
Found Debian GNU/Linux 11 (bullseye) on /dev/sdb5
Adding boot menu entry for UEFI Firmware Settings ...
done
Model: ATA OCZ-TRION100 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                  Flags
 1      20.5kB  210MB   210MB   fat32           EFI System Partition  msftdata
 2      210MB   84.2GB  84.0GB  hfs+            OSX Capitan
 3      84.3GB  165GB   80.2GB  hfs+            OSX Capitan DAW
 5      165GB   165GB   37.7MB
 4      165GB   238GB   73.8GB  ext4            EndeavourOS           boot, esp
 6      238GB   240GB   1677MB  linux-swap(v1)  SWAP                  swap


Model: ATA FCCT256M4SSD1 (scsi)
Disk /dev/sdb: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  525MB   524MB   primary   ntfs            boot
 2      525MB   89.1GB  88.6GB  primary   ntfs
 3      89.1GB  178GB   89.1GB  primary   ntfs
 4      178GB   256GB   77.8GB  extended
 5      178GB   208GB   29.9GB  logical   ext4
 6      208GB   210GB   1580MB  logical   linux-swap(v1)  swap
 7      210GB   256GB   46.3GB  logical   ntfs


Model: VendorCo ProductCode (scsi)
Disk /dev/sdc: 8053MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:


Number  Start   End     Size   Type     File system  Flags
 2      1931MB  2041MB  110MB  primary  fat16        esp


Can you describe a description of what the problem you are facing is?

Also, which partitions are used for EOS?

Still working on my post, just a few minutes and there will be more information :slight_smile:

1 Like

there is 2 changes to do on sda
add flag boot/esp on sda1
remove flag boot/esp on sda4

Is it a AND or XOR operation ? :wink:
Removing from sda4 and flagging sda1 boot/esp with gparted ends up with the stuck "GRUB _
" blinking cursor.


Trying the other way arround (setting sda4 boot/esp back again), i am not able to remove the msftdata flag from sda1.
Booting with boot/esp removed from sda4 also ends up with the blinking cursor:

Whats the deal with the bios_grub flag ?

Should install it in the drive (/dev/sda) instead of partition (/dev/sda4)?
But sda doesnā€™t seem to be the right one.

1 Like

When mounting the partitions for arch-chroot, what are the exact steps for mounting EFI before getting into the root filesystem in my case ?

sudo mount /dev/sda4 /mnt
sudo mount /dev/sda1 /mnt/boot/efi

Or

sudo mount /dev/sda1 /mnt/efi

After mounting the partition :

sudo arch-chroot /mnt
sudo grub-install --recheck --target=i386-pc /dev/sda

sda, not sda4 ???

:point_up_2:t5:

1 Like

You only mount the efi partition in an EFI install. For a legacy install you donā€™t use an efi partition.

/dev/sda is a gpt formatted drive and OSX is using efi partitionā€¦ but this command is writing into the MBR of the diskā€¦ not sure if this is what you want toā€¦

Partition Table: gpt

dev/sdb instead is formatted

Partition Table: msdos

what looks like MBR legacy installā€¦

this shows only that the ISO is booted in that modeā€¦ caused by boot option used from the firmware or setup of the firmware on how to boot the usb stickā€¦

I am not sure what exactly is the goal hereā€¦

Needs a decision on how to boot or the info on how it was before?

SSD2 (which is sdb) indeed does have msdos as partition table, as the ssd was planned to host purely Windows OS with adding Linux (Debian) later, which also installed GRUB on sdb. Again, that drive is working/booting fine when selecting it as the boot drive in BIOS and is not the problem, i only wanted to provide a complete overview (even if it may lead to more confusion)

When doing OSX and Windows multibooting guides are always stressing to keep those operating systems on seperate drives, OSX and WIN mixing on one drive will get you into trouble and as Mr. Kamprad already said MacOS needs the GPT system.

If i remember correctly, when installing EndeavourOS 2-3 years ago on SDD1 (sda) i used EOS from Ventoy USB drive. Any chance that booting EOS from Ventoy at that time did some kind of UEFI emulation and EOS did get installed the wrong way ?

SO you was able to boot on the OSX drive (sda) into OSX and EndeavourOS ?
I mean it was showing grub and the choice of OSX and EndeavourOS to boot?

ISO itself is able to boot in both bootmodesā€¦ but could be that you had ventoy created in efi mode what could force ISO to boot in EFI mode and now you have it booting in legacy modeā€¦

If EndeavourOS is installed in efi mode you would find an entry inside the esp for it ( /dev/sda1)

If so you need to make sure ISO is booted in efi mode to be able to arch-chroot and recreate boot stuff from insideā€¦ no clue what options you have on mac device inside Bios??

After the EOS install on sda i had it booting into GRUB (when selecting ssd1/sda as bootdrive in bios), which showed entries from all Linux OSs and the Windows boot chain from SSD2 (sdb). The two OSXs didnt show up in the menu, but to boot into one of them i used Clover on USB boot stick as i wasnt hardly using MacOS anymore. I used that kind of method the last 2-3 years and it was working fine (except the kernel patching for the 8800GT) until last september/october when Grub-Customizer made problems with not being able to save the config. After kernel updates i still was able to boot into the newest kernels (also windows 32, 64 and debian), only the grub boot menu got more and more cluttered with old entries.

I found the usb stick i used at that time :


How is it that 2007 system which is legacy BIOS can boot in EFI mode ?

EFI



In the EFI partition (sda1) there are no signsā€¦

now i am even more confusedā€¦ i see refind stuff installedā€¦ but no grub

When i removed the grub-customizer after not working anymore i installed rEFInd (and removed it after not working). Those folders you see are the backups/leftovers. But at that time i had a working/booting EOS on sda.

I am again in the EOS live usb system, and when mounting sda4 (which is the partition everything EOS) there is an efi folder and the grub folder with configs under /boot

sda4 partition mounted under /mnt :



I am now pushing the latest EOS installer on the old Ventoy USB stick and booting into that live system, see if it makes any difference

Again, the refind_linux.conf is a leftover, refind is not installed (was installed, tried it, didnt work, removed it and had a working system)

to repair efi grub you need to boot in efi modeā€¦ and as we see now /boot/efi on the EndeavourOS install partitionā€¦ it is sure it is thatā€¦

So make sure it shows efi like you tested before efibootmgr` on live session and arch-chroot into endeavouros:

sudo mount /dev/sda4 /mnt
sudo mount /dev/sda1 /mnt /boot/efi
sudo arch-chroot /mnt

make sure it is chrooted ls /home should show your username from the eos installā€¦

inside the chrooted terminal run this:
grub-install
without any options if this does not error out ā€¦ it should work :wink: you can try posting the output if unsureā€¦
regen grub:
grub-mkconfig -o /boot/grub/grub.cfg

This should repair grub ā€¦

With the latest EOS installer ISO on the old ventoy usb stick i booted into the ventoy menu, but in the left corner theres the indication that ventoy is booted as BIOS (legacy). Searching on the Ventoy website, theres the following in the FAQs :

* Can Ventoy select the BIOS mode ?

No!
It's the BIOS that decides the boot mode not Ventoy. The BIOS decides to boot Ventoy in Legacy BIOS mode or in UEFI mode.

* How to determine the current boot mode ?

After boot into the Ventoy main menu, pay attention to the lower left corner of the screen:

1.0.84 BIOS www.ventoy.net ===> This means current is Legacy BIOS mode.
1.0.84 UEFI www.ventoy.net ===> This means current is UEFI mode.
1.0.84 IA32 www.ventoy.net ===> This means current is 32bit UEFI mode.
1.0.84 AA64 www.ventoy.net ===> This means current is ARM64 UEFI mode.
1.0.84 MIPS www.ventoy.net ===> This means current is MIPS64EL UEFI mode.

So it seems that when installing EOS 2-3 years ago there could not have been a possibility that i was in some kind of a other bios mode other than legacy bios, as there is strictly no option in my old 2007 bios settings. And with ventoy or the EOS installer on bare usb-stick there is no way that i know of, to get into an EFI mode with legacy bios.

Thats disappointing and it really bugs me that i deleted the eos-installer.logs in the home directory which could have been helpful on how and where Grub got installed at that time. I really have no clu now, but after 7 hours trying today my head is spinning and hurts, so maybe its better to start tomorow with fresh ideas and energy.

Thank you guys for all the impacts and comments/answers !!

:vulcan_salute:

indeedā€¦

May someone using mac device can help more on that i never play with thatā€¦

It is a mixed bag and many confusions seem to have entered the system over the years as described.

Especially with grub-costumizer, ferntoy, relostnotfound and all different boot-tools involvedā€¦ I am Mac user, but this seems a jungle historically grown. Some plants in it grow stronger than others. Nature, you knowā€¦

To the OP:
What of all this do you really need? :wink:
Hint:
Complexity isnā€™t your friend here, nor is promiscuity, so if I were you, Iā€™d choose my :bride_with_veil:!

@BreakingBad you are breaking it badly :laughing: .
Here is your real problem:

You were almost there, almost remembered, but not completely:

This flag should have been on sda5 (unknown=unformatted?). Itā€™s this:

When you need to install grub in MSDOS_Legacy mode, on a gpt drive, you fake the MBR target, creating a small partition and do not format it at all, only applying the bios_grub flag. Then you install grub, with an MSDOS/Legacy grub-install command, targeting the sda drive (like normal), not the partition (sda5). Grub would find it by the flag.

From your long adventureā€™s story telling, it seems:

  • The only UEFI type booting is done with your Hackintosh
  • All other systems (Debian, WinOS, EnOS) are on MSDOS_Legacy
  • Grub customizer is still a destroyer application (for adventurous users, since many users use it in a simple way).

Actually, when you remove the package, the /etc/grub.d/* drop-ins are not removed/deleted. This created the extra mess.

You missed this description from your story:

It might have helped someone to identify the issue (from the errors/messages).

As for your questions:

Yes. No UEFI. No systemd-boot. No rEFInd.

Yes, but fake, as explained above.

Yes. No.
It was (probably) installed on sda5, as explained above.

Possible solution:

  • Boot with EnOS Live installer image in MSDOS_Legacy mode
  • Use Gparted to apply bios_grub flag on sda5 (the small unformatted partition)
  • Chroot to EnOS installed system, mounting only the root partition (sda4)
  • Remove/uninstall grub-customizer
  • Delete/rename /etc/grub.d folder
  • Re-install grub package
  • Install grub for legacy, on sda (no need for sudo in chroot)
grub-install --recheck --target=i386-pc /dev/sda
  • Create grub config.

Good luck! :wink:


Read moreā€¦

1 Like