在加密的 luks-lvm (truecrypt) 上双引导安装 LMDE 2(和 Windows)时 GRUB 出现问题

在加密的 luks-lvm (truecrypt) 上双引导安装 LMDE 2(和 Windows)时 GRUB 出现问题

我正在尝试安装 LMDE 2“Betsy”64 位双启动与 Windows 8.1,并且两个系统均单独加密,Windows 使用 truecrypt,LMDE 使用 luks。引导时,我希望被要求输入 truecrypt 卷密码,当我按 Esc 时,GRUB 应该启动并引导加密的 Linux。我想要为我的数据创建一个 LVM 分区,它将作为我在 Linux 中的主目录,我计划使用它来访问它https://github.com/tdk/LibreCrypt。我的问题是我无法让 GRUB 工作。

以下大部分步骤是我采取的https://wiki.ubuntuusers.de/system_verschl%C3%BCsseln并改变它们以满足我的需要。

尽管 Windows 尚未加密,但这是我的设置:

/dev/sda1 Windows Recovery  ntfs
/dev/sda2 Boot      ext4        300MiB
/dev/sda3 Windows 8.1   truecrypt
/dev/sda4 crypt-luks    crypt-luks

这就是我所做的:从 USB 记忆棒启动 LMDE 2。选择德语作为语言。做其他事情,直到我必须选择一个分区。我进入专家模式,系统要求我将目标系统安装在 /Ziel 下,但它必须是 /target。

我开始准备系统:

cryptsetup -c aes-xts-plain64 -s 512 -h sha512 luksFormat /dev/sda4
cryptsetup luksOpen /dev/sda4 lukslvm
pvcreate /dev/mapper/lukslvm
vgcreate vglmde /dev/mapper/lukslvm

然后我创建逻辑卷:

lvcreate -L 8G -n swap vglmde
lvcreate -L 25G -n root vglmde
lvcreate -l 100%FREE -n home vglmde

我用标签格式化这些分区:

mkswap /dev/mapper/vglmde-swap -L swap
mkfs.ext4 /dev/mapper/vglmde-root -L root
mkfs.ext4 /dev/mapper/vglmde-home -L home

然后我将逻辑根分区挂载到/target中继续安装:

mkdir /target
mount /dev/mapper/vglmde-root /target
mkdir /target/boot
mount /dev/sda2 /target/boot
mkdir /target/home
mount /dev/mapper/vglmde-home /target/home

然后我继续安装。当询问时,我选择 GRUB 应安装在 /dev/sda2 中,因为那是我的引导分区。

显示“安装已暂停”对话框后,我执行以下步骤:

mount -o rbind /dev /target/dev
mount -t proc proc /target/proc

这里我得到消息 proc 已经安装在 /target/proc 上

mount -t sysfs sys /target/sys

这里说 sys 已经挂载或者 /target/sys 正忙。

cp /etc/resolv.conf /target/etc/resolv.conf
chroot /target /bin/bash

然后我确保所需的软件包是最新的。

apt-get update
apt-get install cryptsetup lvm2

要设置 /etc/crypttab,我首先获取 UUID,然后将其附加到 crypttab 并替换为 UUID。

blkid /dev/sda4
echo "lukslvm UUID=<MY_UUID> none luks" >> /etc/crypttab

然后我附加一些必要的模块。

echo "dm-crypt" >> /etc/modules
echo "ohci_pci" >> /etc/initramfs-tools/modules
update-initramfs -u -k all -t

我编辑 /etc/fstab 。

echo "/dev/sda2     /boot   ext4    defaults            0   2" >> /etc/fstab
echo "/dev/mapper/vglmde-root   /   ext4    defaults,errors=remount-ro  0   1" >> /etc/fstab
echo "/dev/mapper/vglmde-swap   none    swap    sw              0   0" >> /etc/fstab
echo "/dev/mapper/vglmde-home   /home/  ext4    defaults            0   2" >> /etc/fstab

然后我更新 GRUB 并保留 chroot。

update-grub
exit
sync

并继续安装。当被问到是否要重新启动时,我说是,然后......重新启动时,我得到以下输出:

error: no such partition
Entering rescue mode...
grub rescue>

现在我想不通我哪里错了。当没有其他可引导分区时,GRUB 应该正常加载,我说得对吗?

PS 调试时,以下命令可让您在 Live 光盘上使用已安装的系统。挂载加密卷

cryptsetup luksOpen /dev/sda4 lukslvm

搜索并添加卷组。

vgscan
vgchange -a y

像往常一样安装卷

mount /dev/mapper/vglmde-root /mnt

答案1

看来我错误地期望 LMDE 应该启动。

当我插入 truecrypt 救援光盘并按 Esc 离开加载程序时,GRUB 加载得很好,我可以启动 LMDE。通过在修复选项中恢复卷标头,无需光盘即可工作。

然而我没能再次启动Windows,所以我放弃了双启动并切换到虚拟化。

相关内容