![使用 LVM 和 LUKS 的多启动问题 (Ubuntu + Kubuntu + Windows)](https://linux22.com/image/940775/%E4%BD%BF%E7%94%A8%20LVM%20%E5%92%8C%20LUKS%20%E7%9A%84%E5%A4%9A%E5%90%AF%E5%8A%A8%E9%97%AE%E9%A2%98%20(Ubuntu%20%2B%20Kubuntu%20%2B%20Windows).png)
一般问题
我已经(似乎)成功地在包含 Ubuntu 和 Kubuntu 的一块硬盘上用 LVM 设置了我的系统,所有这些都用 LUKS 加密(基于https://help.ubuntu.com/community/Full_Disk_Encryption_Howto_2019) 和另一个装有 Windows 10 的硬盘。但它无法正常工作。
系统总览:
- sda
| - sda1 Windows Recovery
| - sda2 EFI System
| - sda3 Windows
- sdb
|- sdb1 /boot (encrypted LUKS1)
|- sdb2 BIOS
|- sdb3 EFI-SP
|- sdb5 LVM (encrypted LUKS2)
|- vg_linux_ubuntu_root
|- vg_linux_ubuntu_swap
|- vg_linux_kubuntu_root
|- vg_linux_kubuntu_swap
|- vg_linux_linux_shared
PC 规格:英特尔 i9-9900k、64GB RAM、Nvidia GTX 1080Ti、主板华硕 Maximus Hero XI
安装背景
- 很长一段时间以来,我都同时运行 Windows 10 和 Ubuntu,没有任何问题。在对 Ubuntu 进行几次升级后,有些东西变得一团糟,我也想摆脱刚接触 Ubuntu 时做的一些事情。此外,我想加密我的数据。
- 所以我根据这个重新安装了 UbuntuUbuntu 指南实现全盘加密。效果很好。
- 我注意到我无法通过 grub 启动 Windows,但决定稍后修复它。
- 因此,我在安装 Ubuntu 的同时安装了 Kubuntu,包括所有必要的步骤,以便它在加密的 LVM 上运行。这也有效。(注意:根据几个论坛和文档,多个发行版可以使用相同的 /boot 分区,所以我就是这么做的(当然,没有先格式化它))。
- 我现在在 grub 菜单中看到了 Ubuntu、Kubuntu 和 Windows。引导到新安装的 Kubuntu 运行正常。
问题 1(P1_ubu)
无法再启动 Ubuntu。在 grub 启动菜单中选择 Ubuntu 时,Kubuntu 启动。
我采取的步骤:
- 检查配置后,我注意到启动根位置设置为 Kubuntu。我将其更改为 Ubuntu 卷。现在它似乎选择了正确的卷,但存在其他一些问题。
- 接下来,我认为重置 grub 可能会有所帮助。所以我使用了 boot-repair-live 工具来执行此操作。在那里,我解密了 LVM 并选择 Ubuntu 作为我的主系统。一切都顺利完成,grub 菜单也重新创建了。引导进入 Kubuntu 仍然有效,引导进入 Ubuntu 会导致进入紧急模式控制台。通过这种方式,我最终进入了我的 Ubuntu 系统的 root shell,因此加密应该没有问题。在卷上运行和不会
depmod
改变fsck
任何东西。退出此 shell 会导致Failed to start default target: Transaction for graphical.target/start is destructive
和卡住(正如其他线程所建议的那样,在卷上运行 fsck 不会改变任何东西)。(需要注意的一件事是,当尝试引导进入 Ubuntu 时,会出现 Kubuntu 启动画面) - 选择较旧的内核版本来启动 ubuntu。这会导致
initramfs
终端不支持键盘(所以我无法输入任何内容)。
编辑 (2021-09-15):我注意到 EFI 下的 /boot 文件夹中只有一个文件夹。即ubuntu
。似乎由于 Kubuntu 是 Ubuntu 的一个版本,因此覆盖了 ubuntu 安装的文件,因为它们在内部具有相同的名称。现在的问题是,我是否可以以某种方式重新创建这些原始文件(我没有这些文件的备份)并将文件夹ubuntu
(Kubuntu 使用)重命名为kubuntu
。
编辑(2021-09-17):我终于设法让两个发行版并排运行。结果发现 Kubunut 已经安装了比 Ubuntu 更新的内核版本。我能够在 Ubuntu 上安装最新更新,然后解决了启动问题。最后一步,我只需要更改 grub 配置,以便通过 grub 菜单正确启动 Kubuntu 和 Ubuntu。我不确定当我在一个发行版中更新内核时,这是否会再次中断,但我也不知道是否还有其他可行的解决方案。我正在研究让 Ubuntu 有一个(加密的)启动分区,并在 LVM 卷内直接安装所有其他发行版及其自己的 /boot 文件夹。这样,我希望 Ubuntu Grub 能够链式加载所有其他发行版,但我不确定这是否会起作用。关于该用例的信息有点少。
问题 2 (P2_win) - 优先级 2
直接从包含 Windows 的驱动器启动时(通过 BIOS 启动菜单),我可以启动 Windows。但通过 grub 启动会导致错误消息并返回 grub 启动菜单。
有人之前处理过类似的事情吗?或者有人知道如何解决这个问题吗?