如何从未加密的 Ubuntu 启动加密的 Debian?

如何从未加密的 Ubuntu 启动加密的 Debian?

我正在尝试设置一个完全加密的 Debian 操作系统,以及我预装的未加密的 Ubuntu。

到目前为止,我已经(传统BIOS)使用以下方案安装了Debian。

  1. /boot 作为扩展分区;格式-ext4(未加密)
  2. LUKS 上的 LVM:/分区 -ext4(加密)、SWAP(加密)
  3. Debian 的 grub2 安装在 /boot 而不是 MBR 上,因为 Ubuntu 的 grub2 是我的主要引导加载程序。
  4. 然后从 Ubuntu 端,我安装了 /boot 和 LVM 分区,然后更新了 grub。

    但是,我的 grub2 无法识别 Debian。

    接下来我该怎么办?

答案1

我还尝试了 grub2 的替代方法。我在挂载逻辑根分区时犯了一个错误。因为我不擅长 cli,所以我不想弄乱 grub2 配置文件。然而,grub2 可以有效地处理 LVM2 和 LUKS 分区。看这里 (https://wiki.gentoo.org/wiki/GRUB2#Extended_features)。

所以,这是我尝试过的替代方案

  1. step1、挂载/boot分区。
  2. 第2步,$ sudo modprobe dm-crypt | grep dm-crypt
  3. 步骤3,使用“cryptsetup”命令解锁luks加密的分区。
  4. 步骤4、运行$ sudo pvscan | vgscan | lvsacan
  5. step5、激活卷组
  6. step6、挂载逻辑根卷。无需安装逻辑交换。
  7. 步骤7,sudo update-grub

完毕!

Grub2 将自动检测已安装的操作系统并将其列在 grub 菜单上。

答案2

好的,这就是你可以做的。

警告:此过程需要大量使用命令行,并且大多数情况下需要 root 访问权限:

  1. 启动Ubuntu。
  2. /etc/grub.d/40_custom使用文本编辑器打开。
  3. 将以下内容附加到文件中:

忽略这一行(它是为了解决格式问题)

menuentry 'Debian' --class gnu-linux --class gnu --class os $menuentry_id_option 'debian-0aca58bc-8fdb-4a07-aa2f-56406bcf19b7' {
   set root='hd0,msdos4'
   configfile /boot/grub/grub.cfg
}
  1. hd0,msdos4更改反映您的 Debian分区的部分/boot。在此示例中,hd0 是第一个磁盘,msdos4 是第 4 个分区;这意味着磁盘从 0 开始,分区从 1 开始。
  2. 保存/etc/grub.d/40_custom文件。
  3. 检查您是否拥有该文件/boot/grub/grub.cfg。如果不是,则意味着您需要/boot通过运行来挂载文件系统mount /boot
  4. 制作备份副本/boot/grub/grub.cfg
  5. 跑步grub-mkconfig -o /boot/grub/grub.cfg
  6. 交叉手指并重新启动。

如果一切顺利的话你会得到一个德班Ubuntu GRUB 菜单中的条目。当您选择该条目时,您的屏幕将刷新并显示您的 Debian GRUB 菜单,您可以从中启动 Debian。

相关内容