Estoy tratando de configurar un disco cifrado completo con una /boot
partición separada y tengo algunos problemas.
Escribiré el procedimiento que he seguido en una sesión de Ubuntu 15.04 Live DVD.
Llenar el disco con 'datos aleatorios'
sudo dd if=/dev/urandom of=/dev/sda1 bs=4096 #ok
Crear las particiones (usando gparted)
- Crear tabla de particiones - gpt 2.
- / dev / sda1 ext2 1.5GB #boot
- / dev / sda2 linux-swap 4GB #swap
- / dev / sda3 ext4 15 GB # raíz
- / dev / sda4 ext4 FREESPACE #home
- Crear tabla de particiones - gpt 2.
Cifrar volúmenes
cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda1 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda2 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 3000 /dev/sda3 cryptsetup luksFormat --cipher twofish-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 /dev/sda4
Abrir criptovolumen
cryptsetup luksOpen /dev/sda1 boot cryptsetup luksOpen /dev/sda2 swap cryptsetup luksOpen /dev/sda3 root cryptsetup luksOpen /dev/sda4 home
Formato
mkfs.ext2 /dev/mapper/boot mkswap /dev/mapper/swap mkfs.ext4 /dev/mapper/root mkfs.ext2 /dev/mapper/home
Instalar (usando Ubiquity)
- cargador de arranque en / dev / sda
- / dev / sda1 - usar como ext2 - punto de montaje / arranque
- / dev / sda2 - usar como ext2 - punto de montaje / arranque
- / dev / sda3 - usar como ext2 - punto de montaje / arranque
- / dev / sda4 - usar como ext2 - punto de montaje / arranque
Al final, el instalador advierte que la instalación de grub falló (porque el volumen de arranque está encriptado), así que elija 'continuar sin cargador de arranque'.
Volumen de arranque limpio
mkfs.ext2 /dev/mapper/boot
Volumen de montaje
mkdir /mnt/root mount /dev/mapper/root /mnt/root mount /dev/mapper/boot /mnt/root/boot
Actualizar fstab y crypttab
sudo blkid [/dev/sr0: UUID="2015-10-21-16-17-40-00" LABEL="Ubuntu 15.10 amd64" TYPE="iso9660" PTUUID="429817b4" PTTYPE="dos" /dev/sda1: UUID="...#1" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda2: UUID="...#2" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda3: UUID="...#3" TYPE="crypto_LUKS" PARTUUID="..." /dev/sda4: UUID="...#4" TYPE="crypto_LUKS" PARTUUID="..." /dev/mapper/boot: UUID="..." TYPE="ext2" /dev/mapper/swap: UUID="..." TYPE="swap" /dev/mapper/root: UUID="..." TYPE="ext4" /dev/mapper/home: UUID="..." TYPE="ext4"]
fstab
#<file system> <mount point> <type> <options> <dump> <pass> UUID=#1 /boot ext2 defaults 0 2 UUID=#2 none swap sw 0 0 UUID=#3 / ext4 errors=remount-ro 0 1 UUID=#4 /home ext4 defaults 0 2
criptab
boot UUID=#1 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool, time=3000 swap UUID=#2 luks,swap,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 root UUID=#3 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=3000 home UUID=#4 luks,cipher=twofish-xts-plain64,size=512, hash=whirlpool,time=5000
Actualizar imagen initramfs
cd /mnt sudo chroot root mount -t proc proc /proc mount -t sysfs sys /sys mount -t devpts devpts /dev/pts update-initramfs -u #ok
Configurar bootloader (
/etc/default/grub
)GRUB_ENABLE_CRYPTODISK=y GRUB_PRELOAD_MODULES="luks cryptodisk" GRUB_CMDLINE_LINUX="cryptdevice=UUID#3:root root=/dev/mapper/root resume=/dev/mapper/swap crypto=whirlpool:twofish-xts-plain64:512:0:"
crear archivo de configuración
$ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/dev/mapper/root'.]
intenta afuera
$ exit $ grub-mkconfig -o /boot/grub/grub.cfg [/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.]
¿Cometí algún error antes de esto? ¿Cómo puedo continuar configurando e instalando grub correctamente?
fuente
grub
tu + título. Supongo que encontró su procedimiento para encriptar en pavelkogan.com/2014/05/23/luks-full-disk-encryption (que es la primera búsqueda de Google sobre este tema). si no, tal vez eso ayude. ¡Buena pregunta! ¡y buena suerte!/boot
como el punto de montaje para todo. Espero que sea un error tipográfico. 2. No/dev
montaste durante el chrooting, pero montaste devpts. OoRespuestas:
Cometiste algunos errores, pero el problema principal está en la ubicuidad y la suciedad. Básicamente, cuando configuras
/
una partición cifrada y no creas una partición separada/boot
, grub muestra un mensaje de error como:Una visión general del proceso.
/boot
partición no encriptada y un btrfs encriptado/
usando el instalador estándar.chroot
algunos cambios de configuración importantes y reinstalamos grub en la partición del sistema EFI y volvemos a crear initrd.Los pasos detallados
sudo apt update && sudo apt upgrade
para actualizar los componentes del instaladorfdisk
,gparted
u otra herramienta para crear 3 particiones:/boot
Prepare la partición encriptada
Instalar Ubuntu
/dev/sda1
comoEFI System Partition
/dev/sda2
como ext2, formateado, con punto de montaje de/boot
/dev/mapper/sda3_crypt
como btrfs con punto de montaje de/
Copie el contenido de
/boot
y haga unchroot
(Todo está sucediendo ahora
chroot
dentro de su nuevo sistema).Agregar línea a
/etc/default/grub
Añadir línea a
/etc/crypttab
. Primero deberá ejecutarsudo blkid
para encontrar el UUID de/dev/sda3
(NOT/dev/mapper/sda3_crypt
).Edite
/etc/fstab
y elimine la línea para/boot
. Las otras entradas son correctas.Instale grub en la partición del sistema EFI, genere un nuevo grub.cfg y prepare initrd.
Verificación doble opcional: Verificación doble que
/boot/efi/EFI/ubuntu/grub/grub.cfg
contiene líneas que incluyeninsmod luks
,cryptomount -u <UUID>
las entradas de arranque correctas, etc. Y verifique que su initrd contenga elcryptsetup
binario. Si faltan estas cosas, es porque grub-mkconfig y / o update-initrd no pudieron entender cómo los volúmenes que ha montado o especificado en fstab se relacionan con el volumen cifrado en crypttab. (Hay una gran cantidad de configuraciones automáticas mágicas que hacen). Esto puede suceder si diverges de esta guía, por ejemplo, usando ZFS o intentando particionar sda3_crypt.(Si usa ZFS en lugar de btrfs) grub-mkconfig y update-initrd no reconocerán ZFS. La solución alternativa implica (durante chroot, antes de grub-mkconfig / update-initrd) editar
/usr/sbin/grub-mkconfig
para agregar|| true
a la línea 139 (que comienza conGRUB_DEVICE=
), agregarGRUB_DEVICE="/dev/mapper/sda3_crypt"
a/etc/default/grub
, crear un archivo/usr/share/initramfs-tools/conf-hooks.d/forcecryptsetup
con contenidoexport CRYPTSETUP=y
y un archivo/etc/initramfs-tools/conf.d/cryptroot
con contenidotarget=sda3_crypt,source=UUID=<UUID of sda3>,key=none,discard
. Todo esto se suma a los pasos que seguiría si no estuviera encriptando la partición ZFS (como instalar zfs userspace utils tanto en el sistema en vivo como durante chroot y eliminar la línea que se monta/
en fstab).Salga de chroot y reinicie en su nuevo sistema
Deberías ver a grub pidiendo tu contraseña. Entonces obtendrás el menú de arranque. Después de elegir Ubuntu, se le pedirá su contraseña nuevamente. Entonces estarás en tu sistema. Lea más sobre cómo Ubuntu usa BTRFS .
TODO : Crear intercambio cifrado (pista: implica editar crypttab, fstab y volver a ejecutar
update-initrd
).Actualizaciones
grub-mkconfig
comando personalizado .grub-install
comando personalizado .Otras notas
fuente
fstab
y encrypttab
realidad no son correctos en la pregunta.crypttab
debe apuntar a lauuid
de los/dev/sdxY
dispositivos en bruto ;fstab
debe apuntar a los dispositivos de cripta abiertos en/dev/mapper/label
.grub-install
instrucción, tiene un--bootloader=ubuntu
parámetro. Parece que no puedo encontrar ese argumento en los manuales de Ubuntu o GNU . ¿Podría aclarar qué hace o dónde está documentado?