BIOS does not recognize EFI system as boot partition

Hi,

I installed Manjaro 17 using the Live USB disk in UEFI mode (NO Legacy).
Created the following GPT partition table in the graphical installer:

(output from lsblk)

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0  99,9G  0 part /
└─sda3   8:3    0 365,4G  0 part /home

I marked the EFI partition as ESP:

(output from parted)

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot, esp
 2      538MB   108GB  107GB  ext4
 3      108GB   500GB  392GB  ext4

`

When I restart my desktop I automatically go into the BIOS and my pc won’t boot into Manjaro.
If I boot from the Live USB and choose “Detect EFI partition” it finds the ESP partition and when I select this I boot into Manjaro no problem.

Why doesn’t my BIOS recognize this boot ESP partition, did I forget to do something?

EDIT I tried sudo grub-install as suggested in this post UEFI not detected anymore, it said it installed correctly but still my BIOS will not boot from my SDD.

Thanks in advance!

Being that you system is efi, did you “disable” secure boot ?
gotta ask anyway.

Provide
sudo blkid
sudo parted -l
cat /etc/fstab
findmnt
cat /proc/cmdline

ps: In the other link, the poster had correct findmnt /boot/efi
Yours probably didn’t.

I disabled all the windows stuff in my BIOS so I don’t even have the option to enable it.

I also had the outpupt UEFI.

Here is all the output:

[jon@jon-manjaro ~]$ test -d /sys/firmware/efi && echo UEFI || echo BIOS
UEFI
[jon@jon-manjaro ~]$ sudo blkid
[sudo] password for jon: 
/dev/sda1: UUID="693A-C876" TYPE="vfat" PARTUUID="ef42ca8e-6956-4e9d-9662-ce2eef760188"
/dev/sda2: UUID="0c8cd742-fc83-4c16-a318-2ef070f2492b" TYPE="ext4" PARTUUID="9f2c5eb2-682a-41d9-83d5-782ea97cbb49"
/dev/sda3: UUID="cf03f0c9-5f28-4856-bb3d-4489c91f05c9" TYPE="ext4" PARTUUID="8bb21d4b-ecae-46e2-870c-b324fe2e4b63"
/dev/sdb1: UUID="2017-04-02-13-59-14-00" LABEL="MJRO1701" TYPE="iso9660"
/dev/sdb2: SEC_TYPE="msdos" LABEL="MISO_EFI" UUID="DEFC-ECE4" TYPE="vfat"
[jon@jon-manjaro ~]$ sudo parted -l
Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot, esp
 2      538MB   108GB  107GB  ext4
 3      108GB   500GB  392GB  ext4


Model: SanDisk Cruzer Switch (scsi)
Disk /dev/sdb: 8004MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      32,8kB  2130MB  2130MB  primary               boot                                                                                                          
 2      2130MB  2134MB  4194kB  primary               esp


[jon@jon-manjaro ~]$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>                           <mount point>  <type>  <options>  <dump>  <pass>
UUID=693A-C876                            /boot/efi      vfat    defaults,noatime 0       2
UUID=0c8cd742-fc83-4c16-a318-2ef070f2492b /              ext4    defaults,noatime,discard 0       1
UUID=cf03f0c9-5f28-4856-bb3d-4489c91f05c9 /home          ext4    defaults,noatime,discard 0       2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0       0
[jon@jon-manjaro ~]$ findmnt 
TARGET                           SOURCE     FSTYPE          OPTIONS
/                                /dev/sda2  ext4            rw,noatime,discard,data=ordered
├─/proc                          proc       proc            rw,nosuid,nodev,noexec,relatime
│ └─/proc/sys/fs/binfmt_misc     systemd-1  autofs          rw,relatime,fd=29,pgrp=1,timeout=0,minproto=5,maxproto=5,direct
├─/sys                           sys        sysfs           rw,nosuid,nodev,noexec,relatime
│ ├─/sys/firmware/efi/efivars    efivarfs   efivarfs        rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/security         securityfs securityfs      rw,nosuid,nodev,noexec,relatime
│ ├─/sys/fs/cgroup               tmpfs      tmpfs           ro,nosuid,nodev,noexec,mode=755
│ │ ├─/sys/fs/cgroup/systemd     cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd
│ │ ├─/sys/fs/cgroup/cpu,cpuacct cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,cpu,cpuacct
│ │ ├─/sys/fs/cgroup/pids        cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,pids
│ │ ├─/sys/fs/cgroup/devices     cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,devices
│ │ ├─/sys/fs/cgroup/blkio       cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,blkio
│ │ ├─/sys/fs/cgroup/memory      cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,memory
│ │ ├─/sys/fs/cgroup/cpuset      cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,cpuset
│ │ ├─/sys/fs/cgroup/perf_event  cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,perf_event
│ │ ├─/sys/fs/cgroup/freezer     cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,freezer
│ │ └─/sys/fs/cgroup/net_cls     cgroup     cgroup          rw,nosuid,nodev,noexec,relatime,net_cls
│ ├─/sys/fs/pstore               pstore     pstore          rw,nosuid,nodev,noexec,relatime
│ ├─/sys/kernel/debug            debugfs    debugfs         rw,relatime
│ ├─/sys/kernel/config           configfs   configfs        rw,relatime
│ └─/sys/fs/fuse/connections     fusectl    fusectl         rw,relatime
├─/dev                           dev        devtmpfs        rw,nosuid,relatime,size=8193096k,nr_inodes=2048274,mode=755
│ ├─/dev/shm                     tmpfs      tmpfs           rw,nosuid,nodev
│ ├─/dev/pts                     devpts     devpts          rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000
│ ├─/dev/hugepages               hugetlbfs  hugetlbfs       rw,relatime
│ └─/dev/mqueue                  mqueue     mqueue          rw,relatime
├─/run                           run        tmpfs           rw,nosuid,nodev,relatime,mode=755
│ └─/run/user/1000               tmpfs      tmpfs           rw,nosuid,nodev,relatime,size=1639608k,mode=700,uid=1000,gid=1000
│   └─/run/user/1000/gvfs        gvfsd-fuse fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=1000
├─/tmp                           tmpfs      tmpfs           rw,noatime
├─/boot/efi                      /dev/sda1  vfat            rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
└─/home                          /dev/sda3  ext4            rw,noatime,discard,data=ordered
[jon@jon-manjaro ~]$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.9-x86_64 root=UUID=0c8cd742-fc83-4c16-a318-2ef070f2492b rw quiet

Thanks for the quick reply btw

If did not reboot, do this

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck --debug

If you have rebooted, check again
findmnt /boot/efi and it states /dev/sda1

After doing the grub-install command, print out

efibootmgr

Good luck.

I already rebooted so…

Here is the output of the commands: (it also lists my USB key since it’s still plugged in)

[jon@jon-manjaro ~]$ findmnt /boot/efi
TARGET    SOURCE    FSTYPE OPTIONS
/boot/efi /dev/sda1 vfat   rw,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro
[jon@jon-manjaro ~]$ efibootmgr 
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0001,0002
Boot0001  Hard Drive
Boot0002  USB KEY
Boot0003* UEFI: SanDisk Cruzer Switch 1.26, Partition 2

Should I still try the command grub-install ... as you suggested?

Right. There is something wrong with your bios.
The Manjaro bootorder is not listed.

Let us know what your computer details, I’ll try to search it out.
But meantime, go and see for your self anything in F2 (bios setup) and see if there is anything there where it does not allow new boot or most likely in any advanced tab in boot section.
If after you find it, you have to do grub-install again. The short version will do.

Good luck again.

Oh… try this…Go to F10, (or F12)
select hard drive 0001
Does that boot manjarto?


Still… Manjaro should be listed…but
If testing out 0001 boots manjaro,
boot up manjaro and at terminal

sudo efibootmgr -o 0001,0002,0003

But I’m still unhappy manjaro is not listed. try to find something in your F2.

‘sudo efibootmgr -o …’ may still fail for your bios if your bios locks out new boots.
just to note.

What do you mean by F10? Just go to BIOS?
I cannot select any harddrive in BIOS.

I have a MSI Z170A Gaming M7 motherboard with I7-6700 CPU and 16 GB of RAM.
Do you need more specific info?
Thanks!

Ah… I see.
Normally, there are 2 F keys when you start up the computer.
F2 is usually the bios setup
F10 (or F12) is usually the boot selection key.

If you have only F2, that means your bios has ‘locked out’ selection of boot (F10).
To unlock, it is probably somewhere in your ‘advanced’ section.
To enable this, go to bios setup (F2) and see if there is anywhere you can unselect the boot lock.

While there, check if there is anything where you can enable ‘new bootorders’. If you cannot find this, enabling F10 sometimes is enough to enable. Try again ‘grub-install’.

But google out your system bios and … while typing this came acrooss this check it out. I haven’t… yet.

1
2

Ah ok,

Yes I tried that earlier (it’s F11 on my system). But only my USB drive and the EFI shell are listed.

Let’s not forget secure boot that scjet said. You replied, you disabled all windows stuff. Check specifically for ‘secure boot’. That is also important and to make sure.

Other than that, it is a bios thing that you have to check out.
I cannot help further if it is a bios thingy. but if I see anything, I’ll let you know.
And if you fix it, especially if I am wrong, please let us know, ya.

Good luck and take care.

The secure boot option is disabled by default in my BIOS, and it is only available to enable when I would enable Windows 8.1/10 WHQL Support which is disabled. So I think I can safely assume that it is disabled I suppose?

Yes. You’re right. Just making sure.
Explore your F2 bios, google out the motherboard. It’s freaking bad you cannot add any OS to ‘bootorder’ even when grub-install proceeds without error. If new, … naw… they wouldn’t know, far less replace…

[edit] if you can add another OS, say Ubuntu to it, let us know ya, that will mean eliminating your bios.
please write @gohlip so I will not miss out your post.

But come to think of it, if Ubuntu can be installed, it can still mean it is a matter of secure boot. as Ubuntu can be installed in secure boot. Try another OS, Arch or Antergos.

Thought of something.
At terminal

sudo ls /boot/efi/EFI/

is there any manjaro directory like output of

boot manjaro

Then

sudo ls /boot/efi/EFI/manjaro/

Any

fbx64.efi grub.cfg grubx64.efi mmx64.efi

If yes to all so far, and at least one grubx64.efi file, do

sudo efibootmgr -c

It may force a new bootorder entry. And if still won’t work, I think you have a faulty bios firmware.

@gohlip

I tried what you suggested but nothing changed. I noted that the boot manager added a new entry but after reboot (using USB again) it has vanished again.

Here is the output:

[jon@jon-manjaro ~]$ sudo ls /boot/efi/EFI
[sudo] password for jon: 
boot  Manjaro
[jon@jon-manjaro ~]$ sudo ls /boot/efi/EFI/Manjaro/
grubx64.efi
[jon@jon-manjaro ~]$ sudo efibootmgr -c
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0003
Boot0001  Hard Drive
Boot0002  USB KEY
Boot0003* UEFI: SanDisk Cruzer Switch 1.26, Partition 2
Boot0000* Linux

And after reboot:

BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0001,0002
Boot0001  Hard Drive
Boot0002  USB KEY
Boot0003* UEFI: SanDisk Cruzer Switch 1.26, Partition 2

Is it a good idea then to upgrade my BIOS firmware?
Thanks

At least it shows when ‘grub-install’ did not
But this disappears after a reboot.

Yes.

The ‘good’ thing is that we now know it’s your bios.
Cheers. Take care.

@gohlip
I found the solution, apparently my UEFI system needs a specific filename in its efi/EFI/boot/ folder. I just copied and renamed the grubx64.efi to bootx64.efi and the system boots properly!

[jon@jon-manjaro ~]$ efibootmgr
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0001
Boot0001  Hard Drive
Boot0004* UEFI OS

Thanks a lot for the assistance!

2 Likes

Ah… good to hear.
Learnt something myself here too.
Cheers, take care.

1 Like

Forum kindly sponsored by Bytemark