Quiero mover un sistema (todos los sistemas que estoy usando están basados en Ubuntu 16.04) de una partición no cifrada a una cifrada con luks (en el mismo disco).
Con este fin, creé un volumen lógico cifrado LUKS que contiene una raíz y una partición de intercambio. Luego copié el contenido de la partición existente a la nueva partición raíz usando dd
. Verifiqué que esta nueva raíz contiene la estructura de directorio adecuada y realicé un escaneo del disco de la partición.
El plan era hacer chroot al nuevo sistema y actualizar grub desde allí.
En detalle, estoy probando lo siguiente (que es una combinación de las páginas de ayuda de Ubuntu y¿Cómo reinstalar grub desde un liveUSB si la partición / está cifrada y hay una partición /boot separada?):
# 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
Desafortunadamente, no funciona de esa manera ya que update-grub
no parece encontrar el sistema instalado en la partición cifrada. Sólo encuentra la instalación existente en una partición diferente /dev/sda3
.
¿Qué me estoy perdiendo?
Respuesta1
Parece que olvidaste crear un archivo /etc/mtap adecuado
sudo cp /proc/mounts /mnt/etc/mtab
Verhttps://wiki.sabayon.org/index.php?title=HOWTO:_Restore_Grub2