如何使用 systemd-boot - PopOS 风格从完全加密的根分区启动?

如何使用 systemd-boot - PopOS 风格从完全加密的根分区启动?

在尝试在笔记本电脑上进行双引导设置时,我不小心删除了随 GUI 自动安装的原始引导加载程序。我遵循了这个指南:System76 引导加载程序指南。但是,每次重新启动时,我都会收到以下错误:cryptsetup: Waiting for encrypted source device and then UUID of the encrypted drive

这是我的/etc/crypttab文件,最初由 Pop OS 安装生成:

cryptdata UUID={uuid} none luks
cryptswap UUID={uuid} /dev/urandom swap,plain,offset=1024,cipher=aes-xts-plain64,size=512

我执行了这些命令来挂载我的加密分区:

sudo cryptsetup luksOpen /dev/nvme0n1p3 cryptdata
sudo lvscan
sudo vgchange -ay
sudo mount /dev/mapper/data-root /mnt

输入密码后,加密分区挂载成功。

然后,我执行以下命令来挂载 EFI 分区:

sudo mount /dev/nvme0n1p1 /mnt/boot/efi

并继续教程步骤

for i in dev dev/pts proc sys run; do sudo mount -B /$i /mnt/$i; done
sudo chroot /mnt
apt install --reinstall linux-image-generic linux-headers-generic
update-initramfs -c -k all
exit
sudo bootctl --path=/mnt/boot/efi install

除了运行时出现一个轻微的 Python 错误外,所有命令的执行都没有问题update-initramfs。该错误询问我是否在某个环境中运行chroot,我确实是在这样的环境中运行,所以我忽略了它。

重新启动后,我看到了 Linux 启动项,但尝试启动时出现了上述错误。我已验证所有 UUID 均正确。我缺少什么?

相关内容