更新期间的cryptsetup问题

我想我正在安装一堆更新,在看似大概一个小时之后,我终于在终端窗口中收到了这条消息:

cryptsetup: WARNING: failed to detect canonical device of overlayfs cryptsetup: WARNING: could not determine root device from /etc/fstab 

这是什么意思,我该如何解决?

如果您没有使用enCRYPTED卷或交换,那么您不需要cryptsetup,只需卸载它并使用以下命令重新启动:

 sudo apt-get remove cryptsetup # it's better to update and reinstall GRUB before rebooting sudo update-grub sudo grub-install /dev/ sudo reboot 

要确保您没有使用加密文件系统,请检查/etc/fstab ,如果您在任何地方看到“crypt”选项,那么您需要cryptsetup,您需要的是正确配置它。

预信息:我在LUKS中使用带有未加密的启动分区的btrfs。 对于LVM或其他设置,解决方案可能有所不同!

如果您实际使用的是cryptsetup并遇到此错误,那么我的修复方法是:

  1. 确保正确设置了/etc/crypttab文件。 应该至少有一个名为“root”的条目,这是根/条目。 这对我来说至关重要 – 到目前为止还没有人提到它!
  2. 应使用/dev/mapper/root/etc/fstab引用此条目。 检查UUID是否已正确设置
  3. 现在运行update-initramfs -u ,它只使用最新的内核。 如果弹出cryptsetup警告,则您在前面的步骤中失败。 查看所有文件并尝试找出问题所在
  4. 运行update-grub来修复任何剩余的grub问题
  5. 现在检查/boot/grub/grub.cfg 。 去搜索第一个menuentry ,这是将要启动的menuentrysearch部分应包含启动分区的UUID(未加密!)。 linux部分应该有一些东西说root=/dev/mapper/root或者指向未加密卷的UUID(在我的设置中是btrfs卷)

祝好运!