Я хочу переместить систему (все используемые мной системы основаны на Ubuntu 16.04) из незашифрованного раздела в зашифрованный с помощью Luks раздел (на том же диске).
Для этого я создал зашифрованный логический том LUKS, содержащий корень и раздел подкачки. Затем я скопировал содержимое существующего раздела в новый корневой раздел с помощью dd
. Я проверил, что этот новый корень содержит правильную структуру каталогов, и выполнил сканирование диска раздела.
План состоял в том, чтобы перейти на новую систему и обновить grub оттуда.
Если говорить более подробно, я пробую следующее (что является комбинацией страниц справки Ubuntu иКак переустановить grub с liveUSB, если раздел / зашифрован и есть отдельный раздел /boot?):
# 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:_Восстановить_Grub2