我有一台双启动 Windows 7 和 Arch Linux 的计算机。Arch 安装已使用 LUKS 和 LVM 加密,如下所示:
sda Computer's Hard Drive, GRUB2 in MBR
| sda1 Preinstalled, ignorable partition
| sda2 Preinstalled, ignorable partition
| sda3 Windows 7
| sda4 Extended partition
| | sda5 Arch - LUKS Encrypted Container
| | | archcrypt LVM Container
| | | | arch-root Arch /
| | | | arch-swap Arch swap
| | sda6 Arch - unencrypted /boot
我认为 LUKS 容器下的所有内容都可以忽略,因为现在一切都正常。我也想使用 TrueCrypt 加密 Win7 分区。我该怎么做?将 GRUB2 安装到分区的引导扇区可以吗?我需要对 GRUB2 进行哪些配置更改才能与新设置配合使用?
答案1
几个月前,我把笔记本电脑的 Windows 系统扔掉了,所以这只是一个粗略的概念,而不是一步一步的指南。当然,你应该事先备份,因为加密总是伴随着数据丢失的风险。
- 安装 Truecrypt 时它会破坏您当前的 MBR,完成后,将救援磁盘 *.iso 保存到您的启动分区。
- 由于 Grub 现已丢失,您必须使用实时系统来
chroot
备份旧系统并恢复 Grub。这个过程对于每个系统来说都相当具体,我可以告诉您它在我的 gentoo 上是如何工作的,但对于 Arch 就不行了,抱歉。(另一种方法是使用 保存并重写 MBRdd
)。 - 使 Grub 能够从 *.iso 启动(对于救援磁盘实时系统也很有帮助),有些版本已经具备此功能,有些版本需要编译才能具备此功能。告诉它链式加载 Truecrypt 救援 iso。我更喜欢手动编辑 grub.cfg,您可以使用
grub-mkconfig
并编辑/etc/grub.d/custom
文件以将其包含在内。 - 确保 grub 再次启动 Linux 后,启动救援 CD。您将无法启动 Windows,因为您会收到一些奇怪的错误。您必须对本地文件系统进行小幅修复,这样您就可以再次启动 Windows(接下来的几次无需修复)。
注意不要再次重写 MBR,每次 Truecrypt 更新后都不可避免地会发生这种情况,因此请做好不时恢复 Grub 的准备。您应该使用 iso-boot 并在您的 上存储一个救援磁盘 iso /boot
。
补充一点:您确定两个预装分区都可以忽略吗?如果其中一个是 Windows 系统分区 (100MB),这可能会变得有点复杂。您可以将 Windows 安装到一个分区中,我不知道如果不这样做会发生什么,上述步骤假设已经完成了这一点。