I have a DIY Framework with the 2TB SN750 WD Black with Arch Linux installed. After updating the BIOS to 3.07 using the BIOS 3.07 EFI Shell update, the SSD no longer shows up as a bootable drive.
Strangely, it still shows up as an attached device under the Boot tab in the BIOS and if I boot through a USB and mount the drive it looks like all my files are still there, so it doesn’t look like drive corruption. I even tried taking the drive out and plugging it back in and it still doesn’t show up.
I have secure boot turned off but the drive doesn’t show up on the boot menu for me to even attempt to boot from it. I’ve reinstalled the 3.07 BIOS updates multiple times, so I don’t think it was a bad install. Anyone have any ideas how to fix this?
You’ll need to restore the config for whatever bootloader you’re using, whether that’s grub or something else (in my case, booting from a usb and reinstalling refind fixed things).
For example, you can download Super Grub2 Disk to create a recovery USB flash drive:
Then write it using dd to a USB flash drive:
sudo dd if=super_grub2_disk_hybrid_2.04s1.iso of=/dev/sdc bs=4M; status=“progress”
Boot using the Super Grub2 USB flash drive you just made.
Select the appropriate EFI file to boot your distro from.
Log in like you normally would.
Open a terminal.
Reinstall grub-efi.
For example, on Debian (obviously for Arch use pacman instead of apt):
sudo apt-get install --reinstall grub-efi
sudo grub-install
sudo update-grub
Check the EFI boot options:
efibootmgr -v
If the first boot option listed is your distro on your internal drive then:
reboot
You should now have a fixed grub-efi that will boot your distro without need for the Super Grub2 disk, thereby fixing the borked grub-efi parameters mismatch.
@DHowett , thanks. Yes, I figured out that the Bios 3.07 “Windows” thread was not just Windows and had some reports about issues. I actually just managed to repair it. Took a bit longer with all BTRFS/crypto subvolumes, but simple grub-install was enough.
If anyone has similar issue - here is the good reference. Obviously adjust to your filesystem specifics. Then chroot and just grub-install was enough for me.
The files aren’t actually removed from the EFI partition, their boot options are just wiped from NVRAM.
I followed the NVRAM-editing part of the manual rEFInd instructions on the Arch Wiki to fix my rEFInd-not-found problem. Below is the (genericised) efibootmgr command, taken from that page:
If you’re going to use it, make sure you fill in the correct device, loader path (relative to the EFI partition’s root – it should be correct for rEFInd) and label, of course
Running into no boot disk issue after bios upgrade. Reinstalling grub-efi, following GrubEFIReinstall - Debian Wiki with grub-install and update-grub, worked for me.
Same here on Arch. Just boot from the arch install media, mount your partitions, chroot and re-run grub-install command, which will add the efi entries again. Just another way, to achieve the same thing.
Tip: If you use the option --removable then GRUB will be installed to esp/EFI/BOOT/BOOTX64.EFI (or esp/EFI/BOOT/BOOTIA32.EFI for the i386-efi target) and you will have the additional ability of being able to boot from the drive in case EFI variables are reset or you move the drive to another computer.
I’m pretty confident that the BIOS updates are wiping things entirely, so GRUB users could pass this flag to ensure that there’s still a copy that doesn’t need to be registered with EFI (which is how you do it normally) and avoid this problem for good. Windows/systemd-boot don’t have this problem, others may not either.
I’m running Linux MInt and had that problem after updating to BIOS 3.07. I pressed F12 on Boot in order to get into various options in efi. The Windows boot manager was first in the order, so I chose the “ubuntu” choice which is the grub option. This gave me GRUB and I was in. Once Linux had booted I ran ‘sudo grub-install’ to make sure that GRUB was the default boot loader again.
I had tried looking at the BIOS first, and found where the options in efi were listed, but there was no way I could see to change the order there. Seeing both options listed gave me the idea to try the F12 boot options possibility.
Edit: It may be obvious, but I forgot to mention that I have dual boot and did the BIOS update in Windows. Perhaps doing it from Linux will avoid this problem.