Upon booting my Dell XPS 15 9560 running Arch, I am being dropped into an emergency shell because my devices aren't being found
starting version 239
A password is required to access the luks volume:
mount: /new_root: special device /dev/mapper/vg0-root does not exist.
ERROR: device '/dev/mapper/vg0-root' not found, Skipping fsck.
mount: /new_root: special device /dev/mapper/vg0-root does not exist.
You are now being dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]#
Output of lvm pvs
[rootfs ]# lvm pvs
WARNING: Not using lvmetad bacause config setting use_lvmetad=0
WARNING: To avoid corruption, rescan devices to make changes visible (pvscan --cache)
PV VG Fmt Attr PSize PFree
/dev/mapper/luks vg0 lvm2 a-- <237.74g 0
Output of lvm lvs
[rootfs ]# lvm lvs
WARNING: Not using lvmetad bacause config setting use_lvmetad=0
WARNING: To avoid corruption, rescan devices to make changes visible (pvscan --cache)
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root vg0 -wi------- <221.74g
swap vg0 -wi------- 16.00g
That output is really confusing because it shows that vg0-root and vg0-swap both exist, but they just don't appear under dev, including after doing a cryptsetup luksOpen /dev/nvme0n1p3 luks
My guess would be that I'm missing a hook with my mkinitcpio.conf, but this is my mkinitcpio.conf
HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck)
Which I don't believe is any different from 5 days ago, the last time it booted just fine. I did run a pacman -Syu
earlier today, but I'm not sure how I would find out what exactly broke here.
mkinitcpio -p linux
works without errors when chrooted into the drive from a arch usb
edit:
added root=/dev/mapper/luks
to my GRUB_CMDLINE_LINUX
, and now get the error mount: /new_root: unknown filesystem type LVM2_member'
lvm vgchange -ay vg0
mount /dev/mapper/vg0-root /new_root
exit
Allowed me to boot into my system, but this should be happening automatically with the lvm2 hook and upon restarting, I have to do it again.
pacman -Q linux && uname -r
. – jasonwryan Oct 1 '18 at 4:57