Grub Updated Seamlessly

Sure.

$ findmnt --real
TARGET      SOURCE    FSTYPE OPTIONS
/           /dev/sda2 ext4   rw,noatime
`-/boot/efi /dev/sda1 vfat   rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro

and the output of sudo grub-install --no-nvram

--no-nvram option is simply not writing to nvram, it does instead create /EFI/BOOT/BOOTX64.EFI what is the entry specified in uefi specifications:
uefi-image-types

EFI/BOOT/bootarch.efi—This name is the official EFI fallback filename. It’s most commonly used on bootable removable disks, but it can be used on hard disks. It’s typically used only if no NVRAM entry points to a valid boot loader. Note that arch is an architecture code, such as x64 for x86-64/AMD64 or ia32 for x86/IA32. Thus, the most common fallback filename is bootx64.efi

:nerd_face:

My reason for using --no-nvram is that if you are just updating an existing install, the existing entries in nvram should be fine. There should be no reason to alter them.

1 Like

yes indeed, that’s true it will update the grub files without wearing out the nvram :wink:

1 Like

This is what I get.

Installing for i386-pc platform.
grub-install: error: install device isn't specified.

That is super interesting.

What does sudo efibootmgr return.

And this is why being familiar with the Arch Way is still necessary when running any Arch-based system. :rofl:

1 Like

hmm, weird, this is what it says.

EFI variables are not supported on this system.

If you are running a system installed on a UEFI system, why are you

So it seems like you have a BIOS install and an EFI partition. That is…different.

Just for completeness can we see sudo parted -l

Or booted in BIOS mode? :wink:

I thought he was booted off his install.

@Lemon Are those results from a live ISO or your actual install?

1 Like

Strange, isn’t it, it is a uefi install.
This is my normal install, one year old or so…

sudo parted -l:

Model: ATA CT500MX500SSD1 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system     Name  Flags
 1      2097kB  317MB  315MB   fat32                 boot, esp
 2      317MB   491GB  490GB   ext4            root
 3      491GB   500GB  9449MB  linux-swap(v1)        swap


Model: Unknown (unknown)
Disk /dev/zram0: 7485MB
Sector size (logical/physical): 4096B/4096B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system     Flags
 1      0,00B  7485MB  7485MB  linux-swap(v1)

Were they already black when you put them on?

1 Like

I see there are already eos hooks in /usr/share/libalpm/hooks/ that regen the grub cfg. Maybe eos devs can just add a check there to see if user has a standard grub install and auto reinstall and if not just echo ā€œnon-standard grub install detected recommend reinstalling grub to efi and regenerating grub.cfgā€. Or, if they don’t want to risk borking someone’s grub install, just echo the message that grub was upgraded and that the user might want to consider re-installing grub to efi and regenerating config?

Iirc, they plan on removing those to avoid grub issues in the future.

Since there is no ā€œone size fits allā€ grub update procedure, making a hook that can be used on every system isn’t really possible.

It’s not only that. There are many users who do not know the difference between UEFI and Bios. They don’t set the settings properly and just stick a usb in and install. They have no idea about the partition requirements and think the installer is just going to take care of it.

2 Likes

If we could do that, we could probably detect the correct options to use in the first place. :wink:

They have been removed. You may still have them in your install though.

With enough if then statements, anything can be determined! :crazy_face: