在加密磁盘中安装其他 Linux

Peq*_*que 7 fedora dual-boot grub2 linux-mint disk-encryption

我最近买了一个 SSD 来替换我笔记本电脑的硬盘,并决定更改并使用“全盘”加密。

我创建了一个小的未加密分区/boot和一个大的加密 LUKS 分区,我使用 LVM 在一个卷组中创建了 5 个逻辑卷:

  • 一安装Fedora ( lv_fedora)。
  • 一个用于交换 ( lv_swap)。
  • 一个用于另一个 Linux 操作系统 ( lv_os2)。
  • 还有两个用于数据(lv_data1lv_data2)。

我安装了 Fedoralv_fedora作为我的第一个操作系统,没有任何问题,我可以从 GRUB 的菜单启动它,但现在我不知道如何在加密磁盘中安装另一个基于 Linux 的操作系统(Linux Mint 17)并制作 Fedora 的 GRUB2检测它并启动这个操作系统。

我尝试了两种不同的方法。在这两种情况下,我都启动ubiquity了 Linux Mint 安装程序,并带有--no-bootloader选项,以防止 Mint 安装引导加载程序。而且在这两种情况下,为了开始安装,我之前都从 LinuxMint Live 镜像的文件管理器中解锁了 LUKS 分区,以便能够选择相应的逻辑卷lv_os2作为安装目标。现在:

  • 首先,我尝试在分配给/in的单个分区中安装 Linux Mint lv_os2。安装成功。在 Fedora 中,我执行grub2-mkconfig -o /boot/grub/grub.cfg更新 GRUB 条目(这就是我在使用非加密磁盘时一直在做的事情)。GRUB 检测到 Linux Mint 存在并将相应的条目添加到引导菜单中。问题是我之后无法从这些条目启动。
  • 然后我想可能[1]这是由于内核映像boot在 Linux Mint 分区的文件夹中被加密。也许 GRUB 2 需要将这些文件放在未加密的分区中,就像我第一次安装 Fedora 时一样(我使用/boot未加密的分区只是因为这是推荐的设置)。所以这次我备份了 Fedora 的/boot分区(以防万一)并重新安装了 Linux Mint,但让它也使用未加密的分区/boot,以便内核映像可以复制到该目录中,并且可能在安装后启动。安装成功,/bootLinux Mint添加的“额外”文件没有覆盖任何 Fedora 文件,所以至少 Fedora 正在工作,我不必使用/boot酒杯。然后我启动了 Fedora 并grub2-mkconfig -o /boot/grub/grub.cfg再次执行。这一次更糟。GRUB 混淆了条目,例如,为 Fedora(目标lv_fedora)加载 Linux Mint 的内核映像创建了一个条目。我试图手动修改这些条目,但没有成功。

我敢打赌我做错了什么。是否有更好的方法将辅助 Linux 操作系统安装到已加密的卷中并让主要 Linux 操作系统处理引导加载程序?(更新其 GRUB 条目以允许从辅助操作系统启动)

[1]:如你所见,我只是在尝试和学习,但我对这个主题没有深入的了解。

pet*_*rph 1

它并没有真正回答你的问题“如何”,但应该给你一些见解 - 而且对于评论来说太长了。

首先,您无法启动加密分区。原因很简单,因为启动链仅在该过程的后期才理解加密:

  1. 硬件加载固件 - 通常是 UEFI 的 BIOS(在 x86 平台上)。这样的硬件完全与数据无关——它只是加载在某些持久存储中(在预定义地址上)找到的任何内容。

  2. 固件加载引导加载程序或直接加载内核。与 CPU 一样,它对可能的加密模式一无所知(不是说它不能,而是通常不会)。

  3. 如果涉及引导加载程序,它会加载内核(或链式引导加载程序,例如启动 Windows 时),并且通常还会加载初始 ramdisk(可以位于独立文件中或嵌入到内核映像中)。这里变得更有趣了,因为例如 GRUB2 应该能够从 LUKS 设备启动,但文档似乎相当稀缺

  4. 内核挂载根文件系统并运行init(System V init、、、...systemd选择很多)。OpenRCupstart

  5. 如果使用初始 ramdisk 启动,它首先会扩展到内存中,然后安装并从那里运行 init 系统。initramfs 应该包含挂载正确的根文件系统所需的所有内容 - 通常它包含每个可用的驱动程序(例如,当最终 rootfs 位于 RAID 设备上时必需的 RAID 驱动程序)、图形引导基础架构 - 这通常意味着最小(或不那么最小的)X11 堆栈 - 通常还有用于安装加密分区的工具。一切设置完毕后,最终的 rootfs 挂载了从 initramfs 运行的 init 系统pivot_root()(有关更多详细信息,请参阅pivot_root(8)pivot_root(2)手册页),从而切换/到正确的文件系统。

现在,启动加密卷的最简单方法通常是在步骤 5 中进行加密设置 - 主要是因为它是由将要运行的内核完成的,并且它可以使用任何像样的最新发行版提供的基础设施。

因此,您可能想了解 Fedora 和 Mint 究竟如何从加密卷启动。例如,您的问题的解决方案可能是为 Mint 内核创建适当的 initramfs 映像。您甚至可以为两个内核使用一个 initramfs,前提是您确保根据启动的内核有条件地安装正确的 rootfs,尽管我不建议这样做,特别是如果您决定使用不同的(例如 stock ) 每个发行版的内核。

也就是说,您可能还需要考虑是否真的想要并行安装两个安装 - 运行一个虚拟化可能会更方便。