grub: no such device: /efi/boot/fallback.efi

Hi,
I have a Acer Veriton M4640G with pre-installed Windows 7 in UEFI mode and openSUSE 13.2 32 bit installed in BIOS-legacy mode because installation DVD was not bootable in UEFI mode.
I installed in UEFI mode Leap 42.2, rebooting with inserted Leap DVD-> Boot from Hard Disk shows “error: no such device: /efi/boot/fallback.efi”.
Rebooting without DVD starts Windows 7. With Leap DVD-> Boot Linux System it is possible to start Leap 42.2.
What to to?

Thanks, Martin

You can not mix EFI and non EFI. Thus when Windows used EFI, you must install using EFI and the resulting openSUSE wll be EFI.

Apart from that, I have no idea what you borked now. But there will be others to tune in here.

It is cosmetic bug in grub, this menu entry has code “if /efi/boot/failback.efi exists, then do something”; it is not supposed to print error in this case.

What to to?

Boot in Leap and paste output of “efibootmgr -v” and “ls -lR /boot/efi”.

For installation of Leap 42.2 I did exactly that. :wink:

efibootmgr -v returns nothing:


test@linux-vs21:~> /usr/sbin/efibootmgr -v
test@linux-vs21:~>

Result of “ls -lR /boot/efi” is here:
http://mseide-msegui.sourceforge.net/temp/leap_uefi.txt

As root:


test@linux-vs21:~> sudo efibootmgr -v
BootCurrent: 0008
Timeout: 2 seconds
BootOrder: 0008,0007,0000,0005,0006,0001
Boot0000* Windows Boot Manager  HD(1,800,32000,5f1880c6-3bf4-4c93-816a-6aedbaf318e0)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.}...c................
Boot0001  opensuse-secureboot   Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)
Boot0005* ST1000DX001-1NS162    BIOS(2,0,00)..BO
Boot0006* WDC WD10EFRX-68FYTN0  BIOS(2,0,00)..BO
Boot0007* HL-DT-ST DVDRAM GHD0N BIOS(3,0,00)..BO
Boot0008* UEFI: HL-DT-ST DVDRAM GHD0N   ACPI(a0341d0,0)PCI(17,0)03120a000500ffff0000CD-ROM(1,3fd,20a448)..BO
test@linux-vs21:~> 

Well, your Windows comes first in boot order. There are all sorts of problems due to various firmware implementations insisting on always having Windows as primary boot option. You could try to explicitly change it:

efibootmgr -o 0008,0007,0001,0000,0005,0006

and see if it sticks.

With DVD-Boot from Hard Disk: “error: no such device: /efi/boot/fallback.efi”. Without DVD: Windows 7 does not start but shows a repair screen.
The BIOS has a start menu function with a menu item filter setting “UEFI” or “Legacy”. The BIOS lists in UEFI filter mode only “Windows Boot Manager” and DVD as options in boot order setting so I assume that the Leap 42.2 Installation is not recognized as UEFI boot device.
In “Legacy” mode I can start openSUSE 31.2 32 bit which has been installed in legacy mode (see first post). That installation probably has set the MBR.
What does it mean that “Boot0001 opensuse-secureboot” has no "" as the other entries?
Edit:


"
Five boot entries (0000 - 0004), along with the active/inactive flag (
means active) and the name displayed on the screen.
"

I installed boot manager again with Yast, “efibootmgr -v” shows before reboot:


BootCurrent: 0008                                                                       
Timeout: 2 seconds                                                                      
BootOrder: 0002,0008,0007,0000,0005,0006                                                
Boot0000* Windows Boot Manager  HD(1,800,32000,5f1880c6-3bf4-4c93-816a-6aedbaf318e0)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.}...c................       
Boot0002* opensuse-secureboot   HD(1,800,32000,5f1880c6-3bf4-4c93-816a-6aedbaf318e0)File(\EFI\opensuse\shim.efi)
Boot0005* ST1000DX001-1NS162    BIOS(2,0,00)..BO
Boot0006* WDC WD10EFRX-68FYTN0  BIOS(2,0,00)..BO
Boot0007* HL-DT-ST DVDRAM GHD0N BIOS(3,0,00)..BO
Boot0008* UEFI: HL-DT-ST DVDRAM GHD0N   ACPI(a0341d0,0)PCI(17,0)03120a000500ffff0000CD-ROM(1,3fd,20a448)..BO

Leap boot menu still does not work, after reboot with “Boot Linux System” “efibootmgr -v” shows:


BootCurrent: 0008
Timeout: 2 seconds
BootOrder: 0008,0007,0000,0005,0006,0002
Boot0000* Windows Boot Manager  HD(1,800,32000,5f1880c6-3bf4-4c93-816a-6aedbaf318e0)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.}...c................
Boot0002  opensuse-secureboot   Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)
Boot0005* ST1000DX001-1NS162    BIOS(2,0,00)..BO
Boot0006* WDC WD10EFRX-68FYTN0  BIOS(2,0,00)..BO
Boot0007* HL-DT-ST DVDRAM GHD0N BIOS(3,0,00)..BO
Boot0008* UEFI: HL-DT-ST DVDRAM GHD0N   ACPI(a0341d0,0)PCI(17,0)03120a000500ffff0000CD-ROM(1,3fd,20a448)..BO

Good catch. It means that this boot entry is inactive and so should be ignored by firmware. Unfortunately, there is not really much that can be done from Linux side here - your firmware actively disables non-Windows boot entries. At this point I would try contact your system’s vendor. May be there are some hidden/obscure setup options. Did you check whether BIOS update is available? If you do not absolutely need secure boot, you can also try to disable it in your system’s setup and check whether it helps (may be they think only Windows is secure …).

Otherwise the only way would be to hijack Windows bootloader (and hope that firmware does not keep and verifies signatures). That of course makes booting Windows rather more difficult though.

Secure boot was and is disabled in BIOS. The “secure boot” option in Yast has been chosen by the Leap installer. I already installed grub again without “secure boot” option -> the boot entry still is disabled after reboot.

This hints that may be it is Windows, not firmware, which modifies settings. What “bcdedit /enum firmware” shows in Windows?

I don’t think so, I several times installed grub and restarted without starting Windows.

What “bcdedit /enum firmware” shows in Windows?


Start-Manager für Firmware
--------------------------
Bezeichner              {fwbootmgr}
displayorder            {3d35e45e-dafa-11e6-b73a-806e6f6e6963}
                        {bootmgr}
                        {3d35e45f-dafa-11e6-b73a-806e6f6e6963}
                        {3d35e460-dafa-11e6-b73a-806e6f6e6963}
                        {beca3b5d-da42-11e6-867a-806e6f6e6963}
                        {3d35e45d-dafa-11e6-b73a-806e6f6e6963}
timeout                 1

Windows-Start-Manager
---------------------
Bezeichner              {bootmgr}
device                  partition=\Device\HarddiskVolume1
path                    \EFI\Microsoft\Boot\bootmgfw.efi
description             Windows Boot Manager
locale                  de-DE
inherit                 {globalsettings}
default                 {current}
resumeobject            {00a540ba-8631-11e6-86dd-98eecb2fbfab}
displayorder            {current}
toolsdisplayorder       {memdiag}
timeout                 30

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {3d35e45d-dafa-11e6-b73a-806e6f6e6963}
description             opensuse-secureboot

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {3d35e45e-dafa-11e6-b73a-806e6f6e6963}
description             HL-DT-ST DVDRAM GHD0N

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {3d35e45f-dafa-11e6-b73a-806e6f6e6963}
description             ST1000DX001-1NS162

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {3d35e460-dafa-11e6-b73a-806e6f6e6963}
description             WDC WD10EFRX-68FYTN0

Firmwareanwendung (101fffff)
----------------------------
Bezeichner              {beca3b5d-da42-11e6-867a-806e6f6e6963}
description             opensuse

I submitted a support case at Acer.

Acer Germany (very responsive and nice support BTW) suggested to install the newest BIOS. I installed R01-B1 but no change.
A bug report is here:
https://bugzilla.opensuse.org/show_bug.cgi?id=1020356

Answer of Acer:

UEFI mode is for Microsoft certified OS only, it is not planned to change the behavior in next firmware update.