如何修复使用加密根磁盘无法启动 Ubuntu 设置的问题?

mat*_*t3o 5 boot btrfs luks cryptsetup

Ubuntu 不启动但打印奇怪的东西

  • /run/lvm/lvmetad.socket: connect failed: No such file or directory
  • 或者/sbin/cryptsetup not found

然后几分钟后回落到 busybox(有时..)。

转移到新硬盘后出现该错误,我必须删除加密分区。chroot进入根分区并运行后,弹出询问 Ubuntu 问题中udpate-initramfs -u提到的错误:

cryptsetup: WARNING: could not determine root device from /etc/fstab
Run Code Online (Sandbox Code Playgroud)

我遵循了本文中建议的设置:Full Disk Encryption with Ubuntu。现在我/在 LUKS 中有一个 btrfs 卷,并且有一个未加密的/boot分区。所有这些都在禁用安全启动的 EFI 上运行。

小智 9

在 Dell XPS13 (2020) 上更新 Ubuntu 20.04 后出现了非常类似的问题。搜索了几个小时,解决方案其实很简单。

重新启动并使用“fn 和 F2”进入 BIOS
BIOS > 系统配置 > Sata 操作 > 从“RAID On”切换到“AHCI”

由于某种原因,此 BIOS 设置被切换。

  • 我在 Dell XPS 15 上遇到了同样的问题。尝试初始化 luks 分区时启动通常会失败(“等待设备 dev-disk-by/... 超时”)。我同意这是一个有点不直观的建议,但它对我帮助很大。至少这个答案似乎是通过谷歌最容易找到的。 (6认同)

mat*_*t3o 5

所有默认的黑客和修复都让您走上了良好的轨道,但它们都不是完整的。这是我的案例的解决方案:

  1. 确保/etc/crypttab文件设置正确。所有条目都必须引用现有分区。应该至少有一个名为“root”的条目,这是根/条目。这对我来说至关重要 - 到目前为止还没有人提到过!
  2. /etc/fstab此条目应在with中引用/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 卷)
  6. 尝试启动。如果仍然弹出 lvm 错误,请按此答案中所述将其静音

最后一条建议:关心任何小事warning出现的小事。通常它们是没有意义的,在这种情况下它们非常重要。

祝你好运!