Cómo lograr esto con LVM y una única partición encriptada
Advertencia
En primer lugar, 128M es demasiado pequeño para arrancar. Yo uso 1G. De lo contrario, lo que seguramente sucederá es que puede olvidarse de eliminar los núcleos antiguos y / boot se llenará, y tendrá que lidiar con el dolor de tratar de eliminar los núcleos antiguos del sistema para que pueda obtener apt
o apt-get
trabajar de nuevo. Incluso con 1G, asegúrese de eliminar los núcleos viejos de vez en cuando.
Los siguientes pasos no están destinados a usuarios novatos.
ACTUALIZACIÓN: ¡He creado un script que realizará las siguientes operaciones para usted y más! Todo lo que tiene que hacer es ejecutarlo desde Live OS antes de la instalación. Puedes encontrar una reseña en mi blog .
Preinstalación desde el sistema operativo en vivo
¡Desea configurar LUKS y LVM mientras particiona manualmente! Probé esto en Ubuntu 16.04.2
Inicie Ubuntu desde un sistema operativo en vivo y seleccione la opción para probar Ubuntu sin instalar. Siga los pasos que he descrito a continuación. Supongamos que está instalando en / dev / sdb.
- Particione el disco con su herramienta de elección: utilicé fdisk para configurar el mío en una tabla de partición msdos de la siguiente manera:
- otras particiones: sistemas operativos existentes: no nos importan estos
- sdb1: / boot (1G)
- sdb2: partición LUKS (el resto del disco)
- Configurar LUKS
sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sdb2
sudo cryptsetup luksOpen /dev/sdb2 CryptDisk
- Si bien no es necesario, es una buena idea llenar su partición LUKS con ceros para que la partición, en un estado encriptado, se llene de datos aleatorios.
sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M
¡CUIDADO, esto podría tomar mucho tiempo!
- Configurar LVM en / dev / mapper / CryptDisk
sudo pvcreate /dev/mapper/CryptDisk
sudo vgcreate vg0 /dev/mapper/CryptDisk
sudo lvcreate -n swap -L 2G vg0
sudo lvcreate -n root -L 10G vg0
sudo lvcreate -n home -l +100%FREE vg0
Instalación desde sistema operativo en vivo
- Ahora estás listo para instalar. Cuando llegue a la parte "Tipo de instalación" de la instalación, elija la opción "Algo más". Luego, asigne manualmente las particiones / dev / mapper / vg0- * como le gustaría configurarlas. No olvide configurar / dev / sdb1 como / boot. la partición / boot no debe estar encriptada. Si es así, no podremos arrancar. Cambie el "Dispositivo para la instalación del cargador de arranque" a / dev / sdb, y continúe con la instalación.
- Cuando finalice la instalación, ¡no reinicie ! Elija la opción "Continuar con las pruebas".
Configuración posterior a la instalación desde el sistema operativo en vivo
¡Este bit es realmente importante si quieres que tu sistema arranque! Pasé bastante tiempo investigando esto para descubrir estos pasos posteriores a la instalación. En mi caso, lo estaba haciendo porque quería personalizar el tamaño de / boot on / dev / sda, pero todo ese trabajo también debería trasladarse a su situación.
- En una terminal, escriba lo siguiente y busque el UUID de / dev / sdb2. Tome nota de ese UUID para más tarde.
sudo blkid | grep LUKS
- La línea importante en mi máquina lee
/dev/sdb2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
A continuación, vuelva a montar el sistema recién instalado para que podamos hacer algunos cambios más.
sudo mount /dev/vg0/root /mnt
sudo mount /dev/vg0/home /mnt/home
# esto probablemente no sea necesario
sudo mount /dev/sdb1 /mnt/boot
sudo mount --bind /dev /mnt/dev
# No estoy completamente seguro de que esto sea necesario
sudo mount --bind /run/lvm /mnt/run/lvm
- (Solo si está utilizando EFI):
sudo mount /dev/sd*/your/efi/partition /mnt/boot/efi
Ahora ejecuta sudo chroot /mnt
para acceder al sistema instalado
- Desde el chroot, monta un par de cosas más
mount -t proc proc /proc
mount -t sysfs sys /sys
mount -t devpts devpts /dev/pts
- Configurar crypttab. Usando su editor de texto favorito, cree el archivo / etc / crypttab y agregue la siguiente línea, cambiando el UUID con el UUID de su disco.
CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
- Por último, reconstruya algunos archivos de arranque.
update-initramfs -k all -c
update-grub
- Reinicie, y el sistema debe solicitar una contraseña para descifrar en el arranque.
Un agradecimiento especial para Martin Eve , EGIDIO DOCILE y la gente de blog.botux.fr por los tutoriales que publicaron. Al extraer piezas de sus publicaciones y resolver problemas un poco más, finalmente pude resolver esto.
Lo intenté varias veces y fallé una y otra vez. El bit que tuve que resolver por mí mismo basado en mensajes de error fuesudo mount --bind /run/lvm /mnt/run/lvm