You are not logged in.
Pages: 1
I have been booting my system using efistub directly for some time now. However since the last motherboard firmware update the kernel need to have the .efi file ending. I did find other post describing similar problems but most if not all of them obscure the root of the problem with different boot loaders/managers.
I'm planing on adding some text about this to the wiki but I have a couple of questions I would like to have some feedback on first.
What is the best solution? Currently I made a copy of the kernel and added the .efi ending. This works and might be a viable solution but... is it better to rename the file or are anything expecting to find a vmlinuz-linux file? Also how should this be automated?
Who's fault is it? Should I file a bug report to MSI (motherboard vendor), Intel TianoCore (UEFI Shell) or Arch Linux? Is there a standard mandating .efi ending that is ignored?
Offline
Who's fault is it?
It sounds like the fault of your motherboard vendor to me.
Post the `efibootmgr` command you are using to genrate the NVRAM entry.
The ".efi" suffix is used by the bootable binaries for GRUB, gummiboot, Windows (bootmgfw.efi), etc -- perhaps your motherboard vendor is not aware of the Linux kernel's ability to boot itself without the assistance of a bootloader.
Jin, Jiyan, Azadî
Offline
Once this bug showed up I have use the UEFI shell but now when I tried to add an entry with
# sudo efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sda2 initrd=/intel-ucode.img initrd=/initramfs-linux.img nomodeset"
it does show up in BIOS setup but not in the F11 boot menu. Also tried adding a second entry with different label where I replace vmlinuz-linux with vmlinuz.efi and it gives the same result. The boot menu only shows the UEFI shell as an option, not even windows show up anymore, but that might be a feature I guess.
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0000,0001,0002,0004
Boot0000 Windows Boot ManagerHD(1,800,100000,ed33ee23-7189-4baf-95ff-965495fdbb6e)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.}...5...............
Boot0001 Arch LinuxHD(1,800,100000,ed33ee23-7189-4baf-95ff-965495fdbb6e)File(\VMLINUZ-LINUX)r.o.o.t.=./.d.e.v./.s.d.a.2. .i.n.i.t.r.d.=./.i.n.t.e.l.-.u.c.o.d.e...i.m.g. .i.n.i.t.r.d.=./.i.n.i.t.r.a.m.f.s.-.l.i.n.u.x...i.m.g. .n.o.m.o.d.e.s.e.t.
Boot0002 Arch Linux EfiHD(1,800,100000,ed33ee23-7189-4baf-95ff-965495fdbb6e)File(\VMLINUZ.EFI)r.o.o.t.=./.d.e.v./.s.d.a.2. .i.n.i.t.r.d.=./.i.n.t.e.l.-.u.c.o.d.e...i.m.g. .i.n.i.t.r.d.=./.i.n.i.t.r.a.m.f.s.-.l.i.n.u.x...i.m.g. .n.o.m.o.d.e.s.e.t.
Boot0003* UEFI: Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)..BO
Boot0004 Hard Drive BIOS(2,0,00)..GO..NO........o.C.o.r.s.a.i.r. .F.o.r.c.e. .G.S...................A..........................>..Gd-.;.A..MQ..L.4.1.9.2.9.7.4.0.0.0.1.0.0.0.8.5.0.0.0.6.......BO..NO........o.W.D.C. .W.D.6.4.0.0.A.A.K.S.-.6.5.A.7.B.2...................A..........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.S.A.7.Y.7.8.5.7.1.5.......BO
I have at least informed MSI about the problem booting from the shell when no .efi was added to the kernel. Guess I should ask them about this to.
Offline
Try adding "rw" to the options:
# efibootmgr -d /dev/sda -p 1 -c -L "Arch Linux" -l /vmlinuz-linux -u "root=/dev/sda2 rw initrd=/intel-ucode.img initrd=/initramfs-linux.img nomodeset"
Any new entries made using `efibootmgr` get added as first in the boot order list so you should be able to just reboot into this entry with no further changes.
If the Windows entry no longer shows up in your "boot menu" then there is something seriously wrong with your firmware.
How did you update the firmware?
Are there any new updates available?
Perhaps this is a known bug.
Jin, Jiyan, Azadî
Offline
Pages: 1