更新期间 cryptsetup 出现问题

更新期间 cryptsetup 出现问题

我想我正在安装一堆更新,大约一个小时后,我终于在终端窗口中收到此消息:

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

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

答案1

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

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

要查找您的设备 ID,请运行:

lsblk

并找到disk包含part挂载在 的分区的/boot/*。请注意,您应该使用设备 ID(例如/dev/sda),而不是分区 ID(例如/dev/sda1

为了确保您没有使用加密文件系统,请检查/etc/fstab,如果您看到该选项‘地穴’任何地方,那么您都需要 cryptsetup,并且您需要正确地配置它。

答案2

在我将两个之前不活动的磁盘安装为 RAID 1、为其分配 UUID 并且随后进行内核更新后,此警告莫名其妙地出现。

要修复警告,首先要做的是

$ lsblk -f

从“/”行获取 UUID 值。

然后将此 UUID 输入到两个文件中。在文件中等/fstab在包含根“/”的行中,例如:“/dev/sda3 / ext4 defaults 0 0”。其中“dev/sda3”部分被替换为“UUID=value”:

UUID=cb2f354f-9e7a-44f8-8a01-2ef1e0b66c31 / ext4 默认值 0 0

在文件中/etc/initramfs-tools/conf.d/resumeUUID 按以下格式输入:

简历=UUID=cb2f354f-9e7a-44f8-8a01-2ef1e0b66c31

然后执行以下命令:

$ update-initramfs -u -k all

警告应该已经消失并且应该进行重新启动。

答案3

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

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

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

祝你好运!

相关内容