Arch cryptsetup 卡在“等待零”状态

Arch cryptsetup 卡在“等待零”状态

Cryptsetup 已经运行了几个月,但是今天我在系统上做的一些事情让它挂起了:

# cryptsetup --debug --verbose luksOpen /dev/sdb home --key-file=/home.key --verbose
...
Key slot 1 unlocked.
...
# Udev cookie 0xd4d949a (semid 32768) decremented to 1
# Udev cookie 0xd4d949a (semid 32768) waiting for zero

另外,当我这样做时lsblk -f,我曾经获得所有设备(包括sdb)的 UUID,但现在我只获得 rootfs 的 UUID 和 FSTYPE(列出了其他每个设备,但 FSTYPE、LABEL 和 UUID 为空)。blkid但是确实显示了所有设备的 UUID。

我也没有看到任何网络设备 -eth0并且wlp4s0缺少ip linkifconfig

当我从原始实时 USB 启动时,一切都运行正常 - 我可以挂载所有分区、连接到 WiFi 并arch-chroot进入损坏的系统。执行此操作后,我pacman -Syuu卸载了今天安装的所有软件包(f2fs-tools、、 ) exfat-utilsfuse-exfat并使用更新了我的 initramfs mkinitcpio -p linux

答案1

我的愚蠢.bash_history

#1448399392
chroot rootfs /bin/bash -x <<'EOF'
ln -s /dev/null /etc/systemd/system/systemd-udevd.service
ln -s /dev/null /etc/systemd/system/systemd-udevd-control.socket
ln -s /dev/null /etc/systemd/system/systemd-udevd-kernel.socket
ln -s /dev/null /etc/systemd/system/proc-sys-fs-binfmt_misc.automount
exit
EOF

删除了可怕的符号链接,现在一切都好了。我意外地在主系统上运行了上述链接,而不是在 LXC 容器内运行。(https://wiki.archlinux.org/index.php/Linux_Containers#Systemd_conflicts_in_the_.2Fdev_tree

答案2

Udev cookie ... waiting for zero当下列任一情况成立时,也会发生这种情况:

  1. 您的发行版缺少该/lib/udev/rules.d/${NUMBER}-dm.rules文件,该文件至少在 Ubuntu 15.10 Wily 中${NUMBER}存在。(55细节
  2. udev需要从sudo service udev start
  3. udev正在运行,但需要重新启动sudo service udev restart(因为你以某种方式改变了系统的挂载卷的状态,而 Udev 需要重置其状态)

相关内容