On Sun, 2024-12-29 at 11:26 -0500, Eben King wrote:
I think I've done everything reasonable in my firmware to ensure
booting by EFI.  I have:

Storage boot option control      UEFI only
Other PCI device ROM priority    UEFI only
(other options for both are "Legacy only" and "Disabled")

The boot device is currently /dev/sdb which has a GPT partition table,
and its first few partitions are

number  size   mount point
1       953MB  /boot
2       2GB    /
3       10GB   /usr
11      9GB    /home
13      48GB   swap
5       953MB  unmounted, filesystem="grub2 core.img",
flags="bios_grub"

The first four are ext4.

I do recall it was a pain to make d-i keep the GPT table not overwrite
it with an MBR one.

My motherboard is a Gigabyte H170 with 32 GiB RAM and I run Debian
12.8.  I swear I ran a program that showed me EFI boot vars (if they
exist)
and it showed nothing.  But now I can't remember what that program was.
How can I ensure that I'm actually booted using EFI?


Hi! I'm going to chime in with my cognitively warped take on this. I
went YEARS having to boot via obsolete LILO until I FINALLY figured out
the following. If there's a reason to not do what I do, I know someone
will point that out.

Top big must-have *for me* was a dedicated partition for EFI. Somewhere
I read that HAS to be an extremely early partition on the hard drive.
Today I learned it can be anywhere so the problems I had years ago were
NOT due to that. [0]

Additionally, until now I've always had an MBR partition at the front of
my hard drives. Thanks to your question, I've just now learned that is
NOT recommended and might cause compatibility issues, too. [1] Each User
has to decide what to do there based on what their multiple operating
systems demand for booting. I simply reformatted mine as EXT4 (for now).

My UEFI partition is formatted as FAT32 then I manually verify that it's
flagged as msftdata. I use Gparted that is being a tiny bit unpredictble
if left on its own to perform that function.

My /etc/fstab mounts EFI partition to Debian and GRUB's default
/boot/efi hierarchy. The "type" (third declaration on EFI's fstab line)
is "vfat".

Just yesterday, I debootstrap'ed two new Debian partitions. EFI setup
once again worked perfecty when I installed "grub-efi-amd64-signed grub-
pc grub-theme-breeze grub2-splashimages" (personal CHOICES). Those draw
in the proper dependencies that help me with this boot topic.

Even that simple step was a HUGE, MANY HOURS worth of fight to find the
proper packages that work. I STILL shudder at the mere thought of seeing
efivarfs fatal errors. GACK.

My bootloader, GRUB, has been working PERFECTLY if I do these two sets
of two things when first setting this up:

First set..
# mkdir /boot/efi

Then manually mount the EFI partition to that mount point.

Second set..

# update-grub

  (just to make sure grub.cfg is current)

# grub-install --target=x86_64-efi --efi-directory=/boot/efi --
bootloader-id=grub

  (usually only needs to be run once, sometimes might even install
itself when set up properly; target also has e.g. i386-pc option if that
applies instead; other variables might vary based on Users' setups;
there might be shorter versions, but this works foe me so I simply copy-
n-paste and move on.)

After that, I reboot, and it works (FOR ME)! That part about it possibly
installing itself without help is.. possibly.. as simple as the EFI
partitio being properly formatted and then mounted to /boot/efi. Twice
yesterday, debootstrap looked like it did install on its own. Next time
I'll try to remember to reboot before the grub-install step to see what
happens.

Good luck with yours. FINALLY fixing this a couple years ago was so
empowering. Without boot, we got no computers. :)

Cindy :)

DISCLAIMER: Hopefully I didn't miss any important steps this time. I
usually always forget something.

[0]
https://superuser.com/questions/1834990/how-do-i-rearrange-a-wrong-order-of-efi-and-boot-partitions

[1] https://superuser.com/questions/739153/uefi-with-mbr-partition-table

-- 
Talking Rock, Pickens County, Georgia, USA
* runs with birdseed! *


Reply via email to