Drive not shown as bootable by motherboard, works on live USB

tl;dr: Detect EFI bootloaders on live USB works, but the motherboard doesn’t recognise the drive as bootable.

My motherboard no longer recognises my Manjaro (/dev/sdb) disk as a bootable drive.

I managed to delete my EFI partition. I created a FAT32 partition at the beginning of the drive (300MiB) with the boot and esp flags and followed these instructions to restore GRUB:

su -
manjaro-chroot -a
mount -t vfat /dev/sdb1 /boot/efi
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck
update-grub
nano /etc/fstab # Add UUID of /dev/sdb1 to /etc/fstab

The rest of the drive is EXT4 with a small linux-swap partition with the swap flag enabled.

My motherboard (which can see the drive is attached in the BIOS) does not display the drive as bootable in the boot priority options.
Whenever I used a live USB, and choose Detect EFI bootloaders, selecting (hd2, gpt1)/efi/manjaro/grubx64.efi successfully boots manjaro.
The drive is set to a higher boot priority than the other drives in my system, and it bypasses them and goes to a lower priority one. This happens on UEFI and Legacy compatibility mode.

My motherboard is running the latest BIOS version.

I also tried

sudo manjaro-chroot -a
efibootmgr -c -d /dev/sdb -p 1 -L "Manjaro" -l "\EFI\Manjaro\grubx64.efi"
efibootmgr -v
exit

from this post too but I’m still having to use a live CD to boot into my Manjaro install.

Recheck all option in Bios to get only EFI

disable secureboot
disable fastboot
no CSM or Legacy
choose UEFI only or first or others ( not windows )
disks on AHCI
no optane RST

and boot in UEFI only on USB iso
you should see this
UEFI < USB vendor name > < partition 1>

open a terminal and a browser on this topic
and returns

inxi -Mza
test -d /sys/firmware/efi && echo efi || echo bios
sudo parted -l
sudo efibootmgr -v
1 Like

CT1000MX500SSD1 is the drive I have my Manjaro data on

~ >>> inxi -Mza                                                                                   
Machine:   Type: Desktop Mobo: Micro-Star model: MAG B550M MORTAR WIFI (MS-7C94) v: 1.0 
           serial: <filter> UEFI: American Megatrends LLC. v: 1.50 date: 01/13/2021 
~ >>> test -d /sys/firmware/efi && echo efi || echo bios                                          
efi
~ >>> sudo parted -l  
Model: ATA ST1000LM024 HN-M (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  1000GB  1000GB  ext4


Model: ATA CT1000MX500SSD1 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name  Flags
 1      1049kB  317MB   316MB   fat32           EFI   boot, esp
 2      317MB   991GB   990GB   ext4
 3      991GB   1000GB  9449MB  linux-swap(v1)        swap


Model: ATA WDC WD10EZEX-00B (scsi)
Disk /dev/sdc: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                          Flags
 1      1049kB  106MB   105MB   fat32        EFI system partition          boot, esp
 2      106MB   123MB   16.8MB               Microsoft reserved partition  msftres
 3      123MB   1000GB  1000GB  ntfs         Basic data partition          msftdata
 4      1000GB  1000GB  532MB   ntfs                                       hidden, diag


Model: SanDisk Ultra Fit (scsi)
Disk /dev/sdd: 30.8GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 2      2954MB  2958MB  4194kB  primary               esp


~ >>> sudo efibootmgr -v                                                                          
BootCurrent: 0002
Timeout: 1 seconds
BootOrder: 0002,0003,0000,0001
Boot0000* Windows Boot Manager	HD(1,GPT,35634094-bcf4-48e2-96a4-c2a923b91d19,0x800,0x32000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...a................
Boot0001* Manjaro	HD(1,GPT,d669c7f3-853e-4793-95fb-6e27390c118b,0x800,0x96800)/File(\EFI\Manjaro\grubx64.efi)
Boot0002* UEFI: SanDisk	PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/USB(10,0)/USB(1,0)/CDROM(1,0x580794,0x8000)..BO
Boot0003* UEFI: SanDisk, Partition 2	PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/USB(10,0)/USB(1,0)/HD(2,MBR,0x0,0x580794,0x2000)..BO

Is it just a matter of changing the boot priority in efibootmgr?

change order

sudo efibootmgr -o 0001,0000

Thanks for the suggestion, but it doesn’t persist when the computer is restarted.
It just boots into 0000 (windows).

Whenever I used a live USB, and choose Detect EFI bootloaders, selecting (hd2, gpt1)/efi/manjaro/grubx64.efi successfully boots manjaro.

“HD(1,GPT” (windows) and “HD(2,GPT” (linux)

You have 3 drives, two of which have EFI partitions (linux and windows system drives). i.e. each EFI has a different GUID/partUUID.

Where do you wish to boot linux from, the EFI on the windows drive or the EFI on the linux drive?

Boot0000* Windows Boot Manager	HD(1,GPT,35634094-bcf4-48e2-96a4-c2a923b91d19
Boot0001* Manjaro	HD(1,GPT,d669c7f3-853e-4793-95fb-6e27390c118b

At the moment it appears that both windows and linux are booting from the same drive “HD(1,GPT” which presumably is the windows drive.
Windows is booting from EFI partition with partUUID 35634094-bcf4-48e2-96a4-c2a923b91d19 and linux d669c7f3-853e-4793-95fb-6e27390c118b (does this partition exist on “HD(2,GPT” ??).

You can manually correct this by first confirming the the EFI partUUID on the linux drive.
sudo blkid
Also have a look at fstab on your linux system partition.

This can only be fixed from inside Windows.

Login to Windows and open a Command Prompt with Administrative Privileges.
Then run this command:

bcdedit /set {bootmgr} path \EFI\Manjaro\grubx64.efi

Reboot and you should be greeted by Grub Menu.

1 Like

So I unplugged my windows drive so that it wouldn’t be viewable when I reinstalled and Manjaro booted from EFI successfully.
I think this was a problem with my specific motherboard BIOS since it didn’t even show it as a bootable drive beforehand.

Only installing a single drive at a time and they both boot fine individually.
When they’re both installed, the one most recently unplugged doesn’t show on the boot menu.

Thank you all for your help.

I wouldn’t recommend MSI B550 Mortar Wifi

That’s why you have to tell Windows to use Grub. It’s a common fix! You can use both drives.

If you own a desktop with SATA controller then you may want to consider purchasing a SATA Power Switch (google search: Linux windows data separation - SATA Power Switch).

Just a couple of button presses to switch between Linux and Windows and no more Grub menu/selection prompt to slow down your system boot up!

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.