Subject: Re: bug#40496: cannot install bootloader

From: Marius Bakke <[email-masked]>
Date: Wed, 08 Apr 2020 11:53:52 +0200

Arne Babenhauserheide <[email-masked]> writes:

> Marius Bakke <[email-masked]> writes:
>
>> I hope you are able to recover your system. If the problem is "just"
>> that the boot entry is missing,
>
> Do you mean in grub?

I mean in the firmware boot menu.  The way UEFI works is that
bootloaders update the firmware directly with a name, EFI System
Partition, and executable (most likely "/EFI/Guix/grubx64.efi").

>> you should be able to create a new one
>> with "efibootmgr --create" manually. Here is a typical entry with the
>> EFI System Partition as the first partition of a disk:
>>
>> # efibootmgr -v
>> BootCurrent: 0000
>> Timeout: 1 seconds
>> BootOrder: 0000,0002
>> Boot0000* Guix  HD(1,GPT,32944052-6012-4cda-b270-fe653d430c84,0x800,0x4800)/File(\EFI\Guix\grubx64.efi)
>
> When I run efibootmgr -v, I get an error:
> $ efibootmgr -v
> EFI variables are not supported on this system.

This also requires booting in "EFI mode" so that /sys/firmware/efi is
present.  The live USB image supports EFI, but you may need to disable
"legacy boot" to make it boot in EFI mode.

>> 1 is the partition number, and the UUID is the same as 'lsblk -o
>> PARTUUID /dev/sda1' assuming your disk is /dev/sda.  I don't remember
>> what 0x800 and 0x4800 means, but don't think they are required.
>
> I get somewhat too little information from that:
>
> $ lsblk -O /dev/nvme1n1p1
> NAME KNAME PATH MAJ:MIN FSAVAIL FSSIZE FSTYPE FSUSED FSUSE% MOUNTPOINT LABEL UUID PTUUID PTTYPE PARTTYPE PARTLABEL PARTUUID PARTFLAGS  RA RO RM HOTPLUG MODEL SERIAL  SIZE STATE OWNER GROUP MODE       ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE TYPE DISC-ALN DISC-GRAN DISC-MAX DISC-ZERO WSAME WWN RAND PKNAME HCTL TRAN   SUBSYSTEMS REV VENDOR ZONED
> nvme1n1p1
>      nvme1n1p1
>            /dev/nvme1n1p1
>                 259:2     15,4G 884,9G        824,5G    93% /home                                                                     128  0  0       0               900G       root  disk  brw-rw----         0    512      0     512     512    0 none     1023 part        0      512B       2T         0    0B        0             nvme   block:nvme:pci

You probably need to use "sudo" to read the PARTUUID.

HTH,
Marius