You are not logged in.

#1 2020-10-09 09:20:46

archuser_9999
Member
Registered: 2019-08-17
Posts: 97

[SOLVED] Boot error emergency shell

I'm working with brand new hardware, so am presently ruling any of that out  as cause of the issue.

It might help to explain how I'm booting. I'm booting directly from an EFI stub, as I had learned to do on the old hardware, and which ran fine (until other errors appeared, hence I upgraded). After assembling the parts, I used efibootmgr to start creating the entries, but noticed that they were lost immediately upon reboot. Now I've been using bcfg successfully to write a boot entry. I have just two entries, entry 0 for the nvme memory where the root system is installed, and 1 for the live USB just in case of problems.

The machine has been starting fine, until something changed and suddenly I get

 246.1-1-Arch
ERROR: device ' ' not found

I have checked everything that I can think of! I've double checked the entries in options.txt and matched them directly against the output of blkid. I ran # efibootmgr again and removed a bunch of useless entries that had clearly been created on a previous boot. Now there exist just the two boot entries, and the default (first) entry points, or so I believed, at the correct root partition.

I don't understand how I can find out what the boot loader thinks this ' ' is, or indeed be sure what I'm supposed to be troubleshooting exactly.

I can boot every time from the emergency shell with

 mount /dev/nvme0n1p2 new_root
exit

and the machine boots fine. I'd like to find out what's causing the error.

Last edited by archuser_9999 (2020-10-09 11:20:45)

Offline

#2 2020-10-09 09:26:51

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,365

Re: [SOLVED] Boot error emergency shell

Post your efibootmgr -v and or your options.txt or whever you ended up configuring the kernel commandlne

That said how well this works entirely depends on your firmware, it's very possible that your new MB works worse in this regard than your old one. If it doesn't properly retain efibootmgr entries you will save your sanity by opting for some simpler methods like systemd-boot or so.

Last edited by V1del (2020-10-09 09:28:10)

Offline

#3 2020-10-09 09:54:13

archuser_9999
Member
Registered: 2019-08-17
Posts: 97

Re: [SOLVED] Boot error emergency shell

Thank you smile

Here we are:

options.txt

root=/dev/nvme0n1p2 resume=/dev/nvme0n1p3 rw quiet initrd=\intel-ucode.img initrd=\initramfs-linux.img

efibootmgr -v

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0004,0005,0006,0007
Boot0000* Arch Linux    PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)/NVMe(0x1,64-79-A7-29-A0-87-37-35)/HD(1,GPT,b9379373-bb6c-ee4e-ac33-a7405705bd32,0x800,0x200000)/File(\vmlinuz-linux)..r.o.o.t.=./.d.e.v./.n.v.m.e.0.n.1.p.2. .r.e.s.u.m.e.=./.d.e.v./.n.v.m.e.0.n.1.p.3. .r.w. .q.u.i.e.t. .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...
Boot0004* UEFI: VerbatimSTORE N GO 1100, Partition 1    PciRoot(0x0)/Pci(0x14,0x0)/USB(4,0)/HD(1,MBR,0x0,0x3f00,0xeed900)..BO
Boot0005  Hard Drive    BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0200)..GO..NO..........S.a.n.D.i.s.k. .S.D.S.S.D.X.2.4.0.G.G.2.5...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L.3.1.1.1.3.4.0.4.5.2.6.2. . . . . . . . ........BO..NO..........W.D.C. .W.D.2.0.E.Z.R.X.-.0.7.D.8.P.B.0...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L. . . . .W. .-.D.C.W.4.C.2.M.L.C.R.R.T.F........BO..NO..........P.N.Y. .C.S.3.0.3.0. .2.5.0.G.B. .S.S.D...................\.,.@.r.d.=.X..........A..........................dy.)..75.....>..Gd-.;.A..MQ..L.P.N.Y.4.4.1.9.0.0.3.4.4.9.0.1.0.0.0.7.5........BO
Boot0006  CD/DVD Drive  BBS(CDROM,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0300)..GO..NO..........T.S.S.T.c.o.r.p. .C.D.D.V.D.W. .S.H.-.2.2.2.B.B...................\.,.@.r.d.=.X..........A...........................>..Gd-.;.A..MQ..L.8.R.M.L.8.6.B.F.2.C.9.9.5.4. . . . . . ........BO
Boot0007  USB KEY       BBS(HD,,0x0)/VenHw(5ce8128b-2cec-40f0-8372-80640e3dc858,0b00)..GO..NO........y.V.e.r.b.a.t.i.m.S.T.O.R.E. .N. .G.O. .1.1.0.0...................\.,.@.r.d.=.X..........A.......................6..Gd-.;.A..MQ..L.1.1.3.4.7.0.0.0.0.0.0.1.5.9.5.8........BO

You have already strayed into where my next questions might be going. Firstly though, since posting I completely reset my BIOS (including taking out the battery). I remade the entries from scratch. The above output shows that somehow three new entries for a hard drive, CD/DVD and the non UEFI sector of the live USB made its way into NVRAM. Hey ho.

Anyway yes, while I realise some of this is for the MSI forum, as it pertains to having Arch run, is the systemd boot the way to go?

I was even thinking, having set up my new drive with GPT table etc. that since the BIOS binary is written to support Windoze, were I to include an MBR sector and use Grub my problems might go away? But that would surely be a retrograde step on a brand new system?

If you feel that I should simply go to using systemd booting I'll read through the docs and see if I can understand it smile

Offline

#4 2020-10-09 10:28:35

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,365

Re: [SOLVED] Boot error emergency shell

UEFI booting should be the way to go, but I have seen several reports that MSI is particularly bad in retaining boot entries to the point where they don't actually  care about NVRAM entries and will by default just boot what's in esp/EFI/BOOTx64.efi (... Windows does by default populate that path, so a lazy firmware dev can be sure that that one should be populated) in which case you will want to put a bootloader there that can in turn load everything else including the kernel with the correct arguments (doesn't have to be systemd-boot that was just an example).

FWIW the three autogenerated entries are pretty normal, they are there so relevant EFI binaries on one of the specificed media can actually be booted. So if I understood you correctly that current entry you have there only exists after youv'e specifically added it and is likely to get removed on reboot/shutdown correct? Then it does sound like you'll have to go with the fallback path suggestion.

Offline

#5 2020-10-09 10:50:22

archuser_9999
Member
Registered: 2019-08-17
Posts: 97

Re: [SOLVED] Boot error emergency shell

Thank you again - VERY helpuful!

I've just booted successfully from systemd. Wonderful! In all of these different cases I really 'enjoy' being able to specify my boot options etc. and to do so by means of what is essentially a text string is very satisfying.

Thus far therefore my problem has been solved (will adjust post accordingly).

From what you say further: yep, only AFTER I brought home this particular board did it appear that half the world has been having similar issues. One thing in MSI's favour is that updating the BIOS is stupidly easy. Gone is any need to have to try to cobble together a bootable USB with an .exe on it. Their BIOS screen has an option and all one has to do is have the binary on a USB and choose that option from the main screen, and it does the rest. Which is to say that I've updated to their latest BIOS specifically because it showed that the last several releases have all been to incorporate further intel microcode security updates. Since I once learned that to omit the intel-ucode.img from the kernel options created all manner of issues, I updated so as to rule that out as a cause.

On the wider issue though yes, I find it curious in one way. My previous donor machine (which was a perfectly fine i5 from 2014) could not be upgraded. Apparently six years in computing is far too long, so no LGA1150 main boards for sale (new) and so... new mobo, processor, RAM (because you can't re-use DDR2) etc. Mad. Anyway, my point here is that the issues I had with the last hardware - namely losing NVRAM entries overnight, then followed by disk errors etc. drove me to update. On that earlier machine, which was sold as an OEM pre-installed Windoze machine I saw that Micros**t had insisted on tweaks to the BIOS itself, which was themed to match but which was also really difficult to configure outside of defaulting to boot their OS. It was only ever possible by keep editing with efibootmgr. I'd rather assumed that buying a brand new board would be 'agnostic' but oh no... it's all set up by default with Win10 WHQL support, Win8 fastboot etc. Whereas I would have thought/hoped it would simply be BIOS as in some form of plain old vanilla BIOS. Nope. As it is I have to enable Legacy and CSM modes. If I set up the BIOS to boot in strict UEFI mode I lose any functions e.g. can no longer DEL into setup mode during boot, or use F11 to choose boot device. I have to then shut down, reset the BIOS and begin again. All said though, all I want is for Arch to boot up when I press the button, so nerding aside I'll be happy if these systemd settings persist across overnight shutdowns.

Thanks again for your help.

p.s. yes, those extra NVRAM entries keep getting added. In the BIOS I even disabled every single other device except the system drive and the live USB installer, but still those entries creep back in, despite those devices are now disabled in BIOS. Maybe I should go away and learn to hack BIOS? ;P

Offline

#6 2020-10-09 10:52:03

archuser_9999
Member
Registered: 2019-08-17
Posts: 97

Re: [SOLVED] Boot error emergency shell

SOLVED.

Apologies to mods - I can't remember how to "solve"

Offline

#7 2020-10-09 11:18:13

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,365

Re: [SOLVED] Boot error emergency shell

Glad to hear, edit the title in your first post and prepend [SOLVED] or so

Offline

Board footer

Powered by FluxBB