我有一台双启动机器,其中我已经在加密的 lvm 中设置了 Ubuntu。我想为 Crunchbang(debian 衍生产品)使用相同的 lvm,因为我设计该 lvm 有两个根卷、一个交换区域和一个数据卷。
我设法在 Debian 安装程序中安装了 lvm(通过带有 cryptsetup 和 vgchange 的 shell - 这似乎是唯一可行的方法,因为 partman 似乎无法自行执行此操作)并且我可以通过这种方式安装 Crunchbang。
现在我遇到的唯一问题是,我的 Debian 找不到 lvm-group(因此也找不到 root-Volume)——这似乎合乎逻辑,因为显然它不知道它位于加密分区后面。
所以问题是:我现在怎样才能让我的 Debian 正常工作?
我觉得引导加载程序(本例中为 grub)根本不知道加密,所以如果我能让它知道加密,一切都会正常进行。我该如何实现呢?
或者 - 更准确地说是线程问题 - 是否有另一种(更简单的)方法将 Debian 系统安装到现有的加密 lvm 上?
答案1
迟做总比不做好,使用 Debian 安装程序将 Linux 系统安装到已经 LUKS 加密的 LVM 卷组的解决方案:https://dragonvslinux.wordpress.com/2017/09/24/installing-debian-9-kali-2-0-to-an-already-luks-encrypted-lvm-volume-group/
五年过去了,这似乎仍然是一个问题。作为参考,Debian 没有找到 LVM 组,因为您不会创建 crypttab 文件并将其集成到 initramfs(上述链接的第 9 步),这是选择先前配置的 LVM 时处理的一部分。
答案2
经过一番折腾,我还是没能找到恢复操作系统的方法。不过,我找到了一种正确安装两个操作系统的方法:
首先,debian-installer 附带的软件包(很自然地)会有所不同,具体取决于您要安装的操作系统。这几乎就是此处问题的瓶颈:
就我的情况而言 - 自从 Canonical 决定不再发布 12.10 及更高版本的替代 CD,从而让用户无法设置非平凡的分区方案 - Ubuntu 12.04 lts 的替代(即 debain-)安装程序能够检测加密驱动器和配置的 lvm,而 Crunchbang 的 debian 安装程序则不能。
所以我的步骤是:
- 首先安装 Crunchbang
- 设置不同的分区,其中一个分区是加密分区
- (这里还有另一个棘手的部分:我认为 Crunchbang 中的默认加密算法是 aes-xts-plain64,但 Ubuntu 12.04 安装程序不支持它)选择两种操作系统的 Debian 安装程序都支持的加密算法
- 在加密 lvm 的其中一个卷上安装 Crunchbang
- 安装 Ubuntu
- 在分区管理器中,单击“设置加密分区”。安装程序将询问您是否要完成分区方案,单击“是”(它已经是最终方案),然后它将询问您是否要发现加密驱动器,单击“是”
- 如果一切顺利,您可以输入分区的密码,安装程序将列出可用的卷
- 在加密 lvm 的其中一个卷上安装 Ubuntu
- 享受!
现在这些步骤特定于我的操作系统,因此可能与其他人想要安装的任何内容有很大不同,但总体上应该可以给出如何进行的想法。
最后一条友情建议:在尝试此类安装之前,请使用虚拟机(例如 VirtualBox)。这将为您节省大量头发损失并提高您的工作效率!