You are not logged in.
I'm trying to create a set up where I use UEFI directly to load the OS but for some reason the boot record is not found after I restart.
The steps I've taken:
1. basic setup, 1 nvme SSD: root swap boot and home partitions, the EFI partition is fat32 and mounted as /boot
2. pacstrap and basic setup according to wiki, at the end:
$ mkinitcpio -p linux
$ efibootmgr --disk /dev/nvme0n1 --part 3 --create --gpt --label "Arch Linux" --loader /vmlinuz-linux --unicode "root=/dev/nvme0n1p2 rw initrd=/initramfs-linux.img iommu=1 amd_iommu=on rd.driver.pre=vfio-pci"The record is created and it seams ok:
BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0000,0003,0002,0001
Boot0000* Arch Linux HD(3,GPT,2cfea3d3-69fe-6142-b2a1-8ef9141dac78,0x10800800,0x100000)/File(\vmlinuz-linux)r.o.o.t.=./.d.e.v./.n.v.m.e.0.n.1.p.2. .r.w. .i.n.i.t.r.d.=./.i.n.i.t.r.a.m.f.s.-.l.i.n.u.x...i.m.g. .i.o.m.m.u.=.1. .a.m.d._.i.o.m.m.u.=.o.n. .r.d...d.r.i.v.e.r...p.r.e.=.v.f.i.o.-.p.c.i.
Boot0001 USB KEY BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0b00)..GO..NO..........K.i.n.g.s.t.o.n.D.a.t.a.T.r.a.v.e.l.e.r. .3...0.P.M.A.P...................\.,.@.r.d.=.X..........A.............................F..Gd-.;.A..MQ..L.4.0.1.6.7.E.A.7.C.E.6.5.B.0.4.0.8.9.A.7.B.7.9.6........BO
Boot0002 UEFI: KingstonDataTraveler 3.0PMAP PciRoot(0x1)/Pci(0x7,0x1)/Pci(0x0,0x3)/USB(0,0)/CDROM(1,0xa4,0x10575c)..BO
Boot0003* UEFI: KingstonDataTraveler 3.0PMAP, Partition 2 PciRoot(0x1)/Pci(0x7,0x1)/Pci(0x0,0x3)/USB(0,0)/HD(2,MBR,0x5329baec,0xa4,0x20000)..BOefivars are mounted throughout the process.
Pointers are greatly appriciated.
UPDATE:
As it turns out the problem is the manufacturers UEFI implementation.
It seams according to MSI (MSI x399 Gaming Pro Carbon AC motherboard) disabling the Windows whql setting in BIOS is equal to making the EFI record table read only...
Last edited by Slaw0 (2017-12-12 19:45:05)
Offline
the boot record is not found
I have no idea what this means, please explain more clearly exactly what happens when your computer starts.
The record is created and it seams ok.
You should post the full `efibootmgr -v` output here so that we can see it also.
Another Archer has reported problems booting an nVME drive with EFI_STUB:
https://bbs.archlinux.org/viewtopic.php?id=232150
Perhaps your problem is related?
Jin, Jîyan, Azadî
Offline
On that system the problem is not the nVME drive but rather the broken UEFI implementation of said system (this seems to be a general problem with the Dell XPS models).
While it does create the entry, the UEFI implementation of that specific system completely disregards any and all arguments assigned to a boot entry. In other words, it doesn't matter what you try to pass on to '-u/--unicode', it will never be used.
Do you use the same system?
Last edited by Omar007 (2017-12-05 00:02:20)
Offline
You should post the full `efibootmgr -v` output here so that we can see it also.
Your are right, sorry. Updated the post.
the boot record is not found
I mean that after restarting, I end up in BIOS because I assume the UEFI cant find any bootable record.
Another Archer has reported problems booting an nVME drive with EFI_STUB:
He is getting kernel panic so his UEFI could load the boot entry, so no.
Do you use the same system?
I dont, I'm usinng MSI's x399 Gaming Pro Carbon motherboard.
Offline
The boot entry is created and saved so that isn't the issue, efibootmgr is showing you that. Are you using the ESP in that entry? I wonder if you are pointing to the root partition instead. The kernel lives on the ESP when /boot is the mount point for the ESP. Is /boot the mount point you used for the ESP, does it have the boot and ESP flags set and are you using the right partition number for the ESP?
Simple and Open
Offline
Yes, /dev/nvme0n1p3 is my ESP and it is mounted to /boot. I used fdisk and set EFI System partition label so that should take care of the flags.
I wonder if you are pointing to the root partition instead. The kernel lives on the ESP when /boot is the mount point for the ESP.
Do you mean that after --unicode I should also set root=/dev/nvme0n1p3 ? Tried it and it didnt work.
However, while trying I realised that the record that I created at the first time is missing so thats probably the root cause. I suspect this is my use case now. I'll report back tommorow ![]()
Offline