将现有的 Debinan 安装迁移到 LUKS 上的 LVM 并加密 /boot

将现有的 Debinan 安装迁移到 LUKS 上的 LVM 并加密 /boot

我有一个装有 Debian Jessie 的 VirtualBox。一段时间后,我决定创建新的虚拟驱动器,使用 LUKS 对其进行加密,并将旧系统复制到其中而无需重新安装。我使用了几个指南(1234) 来执行此操作,但出现了问题 - 当我尝试从第二个驱动器启动时,出现了带有光标的黑屏(甚至不确定它是否闪烁)。看起来这是某种与 grub 相关的问题。

之前只是一个分区上的系统:

Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        2048 40136703 40134656 19,1G 83 Linux
/dev/sda2       40138750 41940991  1802242  880M  5 Extended
/dev/sda5       40138752 41940991  1802240  880M 82 Linux swap / Solaris

新磁盘是 /dev/sdb 40Gb。我已按如下方式准备此驱动器1,然后安装此驱动器并从旧系统复制所有内容:

# mount /dev/mapper/vg-root /mnt/
# mount /dev/mapper/vg-home /mnt/home
# cp -a /bin /boot /etc /home /lib /root /sbin /usr /var /mnt

然后 chroot 到新系统:

# mount -t proc none /mnt/proc
# mount -t sysfs none /mnt/sys
# mount --bind /dev /mnt/dev
# chroot /mnt

修改后的fstab:

/dev/mapper/vg-root     /               ext4    errors=remount-ro 0       1
/dev/mapper/vg-home     /home               ext4    errors=remount-ro 0       1
/dev/mapper/vg-swap     none            swap    sw              0       0

添加了对 crypttab、initramfs 和 grub 的更改:

# echo 'lvm /dev/sda2 none luks' >> /etc/crypttab
# echo 'lvm2
  dmcrypt' >> /etc/initramfs-tools/modules
# update-initramfs -k all -u

向 /et/default/grub 添加了选项:

GRUB_CMDLINE_LINUX="cryptdevice=UUID=3bd9c402-92aa-4bf8-9644-7c7a079e1cf6:lvm"
GRUB_ENABLE_CRYPTODISK=y

然后安装 grub# dpkg-reconfigure grub-pc并验证 /boot/grub/grub.cfg(粘贴箱


尝试从第二个驱动器启动后,我得到了带有光标的黑屏。没有错误,也没有任何文本。我认为甚至 grub 都没有启动...

除了重新安装还有其他想法吗?

答案1

我已经修复了这个问题。看起来要么# dpkg-reconfigure grub-pc与“grub-mkconfig - grub-install”方法相比,它的工作方式有些不同,要么是我使用错了。

无论如何,我已经通过执行安装了它

# grub-mkconfig -o /boot/grub/grub.cfg
# grub-install /dev/sdb

就像帕维尔·科根写了,现在 grub boots。

相关内容