更新期间 cryptsetup 的问题

Mae*_*gan 20 updates cryptsetup

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

cryptsetup: WARNING: failed to detect canonical device of overlayfs
cryptsetup: WARNING: could not determine root device from /etc/fstab
Run Code Online (Sandbox Code Playgroud)

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

小智 15

如果您不使用加密卷或交换,那么您不需要 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
Run Code Online (Sandbox Code Playgroud)

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

lsblk
Run Code Online (Sandbox Code Playgroud)

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

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

  • 你能解释为什么需要 update-grub 和 grub-install 吗?如何确定要安装 grub 的设备? (2认同)

小智 5

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

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

$ lsblk -f

从“/”行获取 UUID 值。

然后将此 UUID 输入到两个文件中。在文件etc/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/resume 中,UUID 以这种形式输入:

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

然后执行以下命令:

$ update-initramfs -u -k all

警告应该已经消失,并且应该正在运行重新启动。