You are not logged in.
Hi all, happy to be here, it's been forever since I've really posted in a forum though. Hopefully this is all up to rules and everything.
Context:
I had a previous dualboot setup that worked and rebuilt my PC as part of an upgrade, keeping essentially only my drives. I have:
- 1TB SSD: Windows OS (sda)
- 2TB HDD: Data/stuff, shared between OS. (sdb)
- 512GB SSD: Arch OS (sdc)
sdc1 is boot, sdc2 is swap, sd3 is everything else.
Motherboard is MSI Pro Z690-A WIFI (I flashed the bios last night in case that was the issue too).
Issue:
BIOS only recognizes sda as bootable, though all three drives appear in the system status. The drive is also recognized in windows, for what it's worth, it's just not mounted due to the format (not that I'd want that anyways). I've turned fast boot off.
I know my install is still good because I can manually launch it by going through the UEFI shell and booting grubx64.efi (sdc1, \EFI\GRUB\grubx64.efi), and, after booting into Arch, I've gone through the process of signing everything (via sbctl) to make sure that it wasn't a secure boot issue. I've restarted with secure boot both on and off and can boot Arch in both cases, BIOS doesn't recognize it in either case.
I've also added the entry manually myself both in Arch with efibootmgr (didn't stick after restart) and from the UEFI shell with bcfg (exited directly to BIOS, not reset, wasn't in the list). I've seen that you could install grub with --removable, which I haven't tried. I know that this is meant to put grubx64.efi in a more "standard" location, but I don't know if there's any other side effects or reasons to not do this. I'm not even sure this is non-standard. I just pointed grub-install at sdc and let it pick the default... In any case, I feel like non-standard location is supposed to be solved with efibootmgr or bcfg anyways, so I'm not sure what's going on with that.
I also haven't tried swapping SATA ports (if this is some priority issue or something) and I'd like to avoid it if possible.
So altogether, I'm asking for help or suggestions on how to make my boot entry appear in the bios. Any other info or diagnosis commands, let me know! I'd really like to make this work as intended.
Last edited by braaedy (2023-02-19 22:14:32)
Offline
https://wiki.archlinux.org/title/GRUB#D … _boot_path
--removable option is the way to go for MSI motherboards. It's totally safe.
Excuse my poor English.
Offline
MSI boards have a shit tier EFI/NVRAM implementation, you need to either go with the removable option or create a bootable entry in the Windows bootloader. Note that the fallback location might be under contention and get grabbed by Windows again on updates.
Offline
https://wiki.archlinux.org/title/GRUB#D … _boot_path
--removable option is the way to go for MSI motherboards. It's totally safe.
Went with the second option in this section since I didn't want to redo the signing process. Checked my windows UEFI partition to find the right path, made the same folder on my arch boot partition, copied grubx64.efi to bootx64.efi in that folder. Boot option shows in BIOS now, though MSI chose to have a two tier set of boot options (set boot from drive priority to 0, then access a second menu to set which drive to boot first), when every other BIOS I've used just adds a separate option to the top level menu for a second drive.
Thanks everyone, solved.
Offline
Hi. I just registered to confirm that the --removable flag worked! Mine is the same MSI Z690 motherboard but is the DDR4 version with WiFi (full model name is MSI PRO Z690-A WIFI DDR4).
Offline