如何让 grub 从新加密的分区启动

Dan*_*iel 4 grub2 luks

我最近用 luksipc 加密了我的根分区 (sda7)。它运行良好,我可以解锁分区并在从实时 USB 运行时安装它,但操作系统不再加载。

我的系统有 4 个相关分区:

  • /dev/sda1 - 电喷
  • /dev/sda5 - 开机
  • /dev/sda7 - 根(现在用 LUKS 加密)
  • /dev/sda8 - 交换

我只修改了sda7,我没有修改我的/etc/fstab/etc/crypttab/etc/grub.d/文件,因为我不知道要放什么东西在其中。这就是我需要帮助的!

我的/etc/fstab包含:

UUID=211bd0c8-… / ext4 errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)

(221bd0c8-... 是解锁的sda7的 UUID )

我的/etc/crypttab包含交换分区(sda8)的条目,但加密的 sda7 没有任何条目(UUID=8fa9b089-...)

我的/boot/grub/grub.cfg有:

linux /vmlinuz-4.15.0-36-generic root=UUID=221bd0c8-… ro quiet splash $vt_handoff
initrd /initrd.img-4.15.0-36-generic
Run Code Online (Sandbox Code Playgroud)

我不确定这个文件是如何生成的,但我以前使用 grub-cutomizer 来编辑我的启动菜单 :)

我怎样才能找回我的笔记本电脑?(不恢复备份)

Dan*_*iel 8

在浏览了一堆不同的教程、指南和文档后,我解决了它。我相信这些是修复的必要步骤:

我从 Live USB 记忆棒启动了 Ubuntu,解锁并安装了 sda7,然后在里面添加了 /etc/crypttab 中加密分区的条目:

sda7_crypt UUID=8fa9b089-… none luks

修改我的 /etc/fstab 条目以使用新的映射名称而不是驱动器的 UUID:

/dev/mapper/sda7_crypt / ext4 errors=remount-ro 0 1

最后,修改 /etc/default/grub 文件以添加:

GRUB_CMDLINE_LINUX="rd.luks.name=8fa9b089-…=sda7_crypt"

然后我在 Live USB 上安装了grub-customizer,启动它,它给了我一条错误消息“更改环境”按钮 - 选择未锁定的 sda7 分区,然后单击复选框以挂载 /boot 和 /boot/efi。

然后在 grub-customizer 中“保存”,然后重新启动。魔法!