I updated my 11th gen Framework Laptop 13 and it was successful but it reset/cleared the EFI NVRAM and it wouldn’t boot saying there was no bootable device. To make along story short, with the help of a bot I was able to identify and fix the problem. Here are the steps I took:
- Created a bootable arch linux install usb stick and booted it
- Use
efibootmgr
to confirm there was no boot device from the NVME ssd:
root@archiso ~ # efibootmgr
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 2001,2002,2003
Boot0000* EFI USB Device (SanDisk Extreme) UsbWwid(781,5580,0,AA01111014115131278)/CDROM(1,0x1ff800,0x57840)RC
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC
root@archiso ~ #
- Verify the nvme devices was available and the partitions were fine using
parted
:
root@archiso ~ # parted -l
Model: SanDisk Extreme (scsi)
Disk /dev/sda: 16.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 1073MB 1256MB 184MB primary fat32 esp
Model: WDS500G3X0C-00SJG0 (nvme)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 537MB 536MB fat32 ESP boot, esp
2 537MB 500GB 500GB ext4 primary
root@archiso ~ #
- mounted nvme0n1p2 to /mnt and nvme0n1p1 /mnt/boot and verified the expected contents. In particular it shows I was booting using grub as we:
root@archiso ~ # mount /dev/nvme0n1p2 /mnt
root@archiso ~ # mount /dev/nvme0n1p1 /mnt/boot
root@archiso ~ # arch-chroot /mnt
[root@archiso /]# cd boot
[root@archiso boot]# ls -l
total 177116
drwxr-xr-x 5 root root 4096 Jun 1 2024 EFI
drwxr-xr-x 6 root root 4096 Jun 22 2023 grub
-rwxr-xr-x 1 root root 134492927 May 28 20:49 initramfs-linux-fallback.img
-rwxr-xr-x 1 root root 18104560 May 28 20:49 initramfs-linux.img
-rwxr-xr-x 1 root root 13286400 May 12 10:56 intel-ucode.img
-rwxr-xr-x 1 root root 15462912 May 28 20:49 vmlinuz-linux
[root@archiso boot]# ls -l grub/
total 68
drwxr-xr-x 2 root root 4096 Oct 14 2021 fonts
-rwxr-xr-x 1 root root 4605 Jun 22 2023 grub.cfg
-rwxr-xr-x 1 root root 1024 Oct 14 2021 grubenv
drwxr-xr-x 2 root root 8192 Jun 1 2024 locale
drwxr-xr-x 3 root root 4096 Oct 14 2021 themes
drwxr-xr-x 2 root root 40960 Jun 1 2024 x86_64-efi
[root@archiso boot]#
- I then executed
grub-install
followed byefibootmgr
to verify the NVRAM was updated:
[root@archiso boot]# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
Installing for x86_64-efi platform.
Installation finished. No error reported.
[root@archiso boot]# efibootmgr
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0001,2001,2002,2003
Boot0000* EFI USB Device (SanDisk Extreme) UsbWwid(781,5580,0,AA01111014115131278)/CDROM(1,0x1ff800,0x57840)RC
Boot0001* GRUB HD(1,GPT,2e4dcc40-0206-4ca7-94fd-9e025b24f853,0x800,0xff800)/\EFI\GRUB\grubx64.efi
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC
[root@archiso boot]#
To be sure grub.cfg was going to be correct I executed grub-mkconfig
and executed efibootmgr
to be sure it was still good:
[root@archiso boot]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
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 not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
[root@archiso boot]# efibootmgr
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0001,2001,2002,2003
Boot0000* EFI USB Device (SanDisk Extreme) UsbWwid(781,5580,0,AA01111014115131278)/CDROM(1,0x1ff800,0x57840)RC
Boot0001* GRUB HD(1,GPT,2e4dcc40-0206-4ca7-94fd-9e025b24f853,0x800,0xff800)/\EFI\GRUB\grubx64.efi
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC
[root@archiso boot]#
- Now with fingers crossed I
exited
the chroot and rebooted
[root@archiso boot]# exit
exit
root@archiso ~ # reboot
- And it worked
Maybe this will help someone else, but I do wonder if I did something wrong or there is a problem with my laptop or the updating process.