I’m having trouble with my Manjaro install. I had installed this system on an M.2 NVME SSD in a PC, then took it out and put it into a USB-C enclosure, the system boots and works perfectly fine. I have used this system this way for a few months but yesterday I tried to put the SSD back into the PC, and now it won’t boot. I get to unlock the LUKS disk, but then I get this message:
mount: /new_root: no filesystem specified.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]# _
So I put the SSD back into the USB-C enclosure and it boots normally while it is in there. I repeated the above procedure for sanity check and the SSD only boots while in the enclosure, not while it’s an internal drive. I assume it’s an fstab issue? Any ideas how to fix this?
I did not make this name or fstab/crypttab myself, Manjaro did it automatically when I installed the OS with full disk encryption. If this naming is incorrect then the standard naming scheme Manjaro does when installing the OS is wrong?
Again, I simply mounted a LUKS volume in Dolphin when I plugged it in, and that’s where it puts the volume automatically. Then I used the Manjaro Settings Manager to auto-unlock and auto-load that
LUKS volume if it is attached. I did not do any manual edits here. This install is maybe 6 months old and I don’t do fstab/crypttab tinkering, I stick to default behaviours and use GUI apps to mount drives.
Short: I ended up fixing the problem by running mkinitcpio -P, then the drive booted in the internal M.2 slot normally.
Long: I managed to fix the problem but the solution is not conclusive. I plugged the SSD (in the USB enclosure still) to my work system, did some more digging and ran mkinitcpio -P as I saw this suggestion come up regularly on forums for this error message for others, but their problems were not the same as mine though. Then plugged in the SSD into yet another system’s M.2 slot (so internally) and booted it without any problem (I just used whatever system was available at the moment for tinkering). Then I plugged it into my original PC’s M.2 slot and it booted there too normally. So, as far as I can tell, mkinitpcio -P was the only change I have made and it now works as expected. I hope this helps or explains why it works, but I don’t know the details.