Estoy tratando de configurar un disco cifrado completo con una /bootpartició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 #okCrear 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/sda4Abrir criptovolumen
cryptsetup luksOpen /dev/sda1 boot cryptsetup luksOpen /dev/sda2 swap cryptsetup luksOpen /dev/sda3 root cryptsetup luksOpen /dev/sda4 homeFormato
mkfs.ext2 /dev/mapper/boot mkswap /dev/mapper/swap mkfs.ext4 /dev/mapper/root mkfs.ext2 /dev/mapper/homeInstalar (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/bootVolumen de montaje
mkdir /mnt/root mount /dev/mapper/root /mnt/root mount /dev/mapper/boot /mnt/root/bootActualizar 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 2criptab
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=5000Actualizar 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 #okConfigurar 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

grubtu + 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!/bootcomo el punto de montaje para todo. Espero que sea un error tipográfico. 2. No/devmontaste 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.
/bootpartición no encriptada y un btrfs encriptado/usando el instalador estándar.chrootalgunos 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 upgradepara actualizar los componentes del instaladorfdisk,gpartedu otra herramienta para crear 3 particiones:/bootPrepare la partición encriptada
Instalar Ubuntu
/dev/sda1comoEFI System Partition/dev/sda2como ext2, formateado, con punto de montaje de/boot/dev/mapper/sda3_cryptcomo btrfs con punto de montaje de/Copie el contenido de
/booty haga unchroot(Todo está sucediendo ahora
chrootdentro de su nuevo sistema).Agregar línea a
/etc/default/grubAñadir línea a
/etc/crypttab. Primero deberá ejecutarsudo blkidpara encontrar el UUID de/dev/sda3(NOT/dev/mapper/sda3_crypt).Edite
/etc/fstaby 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.cfgcontiene líneas que incluyeninsmod luks,cryptomount -u <UUID>las entradas de arranque correctas, etc. Y verifique que su initrd contenga elcryptsetupbinario. 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-mkconfigpara agregar|| truea 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/forcecryptsetupcon contenidoexport CRYPTSETUP=yy un archivo/etc/initramfs-tools/conf.d/cryptrootcon 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-mkconfigcomando personalizado .grub-installcomando personalizado .Otras notas
fuente
fstaby encrypttabrealidad no son correctos en la pregunta.crypttabdebe apuntar a lauuidde los/dev/sdxYdispositivos en bruto ;fstabdebe apuntar a los dispositivos de cripta abiertos en/dev/mapper/label.grub-installinstrucción, tiene un--bootloader=ubuntupará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?