システム (使用しているシステムはすべて Ubuntu 16.04 ベース) を暗号化されていないパーティションから luks で暗号化されたパーティション (同じディスク上) に移動したいと考えています。
この目的のために、ルート パーティションとスワップ パーティションを含む LUKS 暗号化論理ボリュームを作成しました。次に、 を使用して、既存のパーティションの内容を新しいルート パーティションにコピーしましたdd
。この新しいルートに適切なディレクトリ構造が含まれていることを確認し、パーティションのディスク スキャンを実行しました。
計画は、新しいシステムに chroot し、そこから grub を更新することでした。
具体的には、次のことを試しています(これはUbuntuのヘルプページと/ パーティションが暗号化されていて、別の /boot パーティションがある場合、ライブ USB から grub を再インストールするにはどうすればよいですか?):
# Unlock crypto file system
sudo cryptsetup luksOpen /dev/sda2 lukslvm
sudo vgscan
sudo vgchange -ay
sudo svscan
# Mount root file system
sudo mount /dev/mapper/vgubuntu-root /mnt
# Mount boot filesystem
sudo mount /dev/sda1 /mnt/boot
# Mount required internal file systems
sudo mount -o rbind /dev /mnt/dev
sudo mount -t proc proc /mnt/proc
sudo mount -t sysfs sys /mnt/sys
## Additional LVM directories (for older systems)
sudo mount -o rbind /run/lvm /mnt/run/lvm
sudo mount -o rbind /run/lock/lvm /mnt/run/lock/lvm
# Enable DNS resolution
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
# Change to the encrypted system
sudo chroot /mnt /bin/bash
# Install required software
sudo apt-get install cryptsetup lvm2
# Edit /etc/crypttab
sudo printf "lukslvm\tUUID=%s\tnone\tluks\n" "$(cryptsetup luksUUID /dev/sda2)" | tee -a /etc/crypttab
# /etc/modules editieren
sudo echo "dm-crypt" >> /etc/modules
# Update kernel initramfs
sudo update-initramfs -u -k all
echo "Edit /etc/default/grub as GRUB_CMDLINE_LINUX_DEFAULT=\"kopt=root=/dev/mapper/vgubuntu-root\""
sudo vi /etc/default/grub
sudo update-grub
# Leave chroot environment
exit
# Write buffers to disk
sudo sync
# Unmount file systems
sudo umount /mnt/run/lvm
sudo umount /mnt/run/lock/lvm
sudo umount /mnt/sys
sudo umount /mnt/proc
sudo umount /mnt/boot
#
sudo swapoff -a
update-grub
残念ながら、暗号化されたパーティションにインストールされているシステムが見つからないため、その方法は機能しません。別のパーティションに既存のインストールが見つかるだけです/dev/sda3
。
何が足りないのでしょうか?
答え1
適切な/etc/mtapファイルを作成するのを忘れたようです
sudo cp /proc/mounts /mnt/etc/mtab
見るhttps://wiki.sabayon.org/index.php?title=HOWTO:_Restore_Grub2