¿Qué estoy intentando hacer?
Instale Arch con cifrado completo del sistema (sin arranque ni partición de medios) usando LVM encima de LUKS en un disco duro externo (sdb) usando:http://suddenkernelpanic.blogspot.com/2013/03/arch-linux-lvm-on-top-of-luks-2013-style.html
¿Cuál es mi problema?
El sistema arranca grub y parece que hay cierta confusión sobre dónde encontrar root
Error: Dispositivo 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d' no encontrado. saltando fsck
Error: No se puede encontrar el dispositivo raíz 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d'
Donde me desvié de este tutorial
Utilicé Grub en lugar de Syslinux como sugiere el tutorial (este parece ser el quid) y la solución para Grub es muy confusa.
Mi esquema de partición consta de una partición FAT32 adicional que no participa en el cifrado (parece irrelevante para el problema)
Problemas en /etc/default/grub:
(Siento que aquí es donde está el problema)
Por lo que he leído, necesito actualizar un par de lugares en este archivo específicamente:
GRUB_CMDLINE_LINUX="root=/dev/mapper/lvmpool-root cryptdevice=/dev/sdb2:crypt ro"
y se supone que debo descomentar:
GRUB_DISABLE_LINUX_UUID=true
Problemas sobre/etc/mkinitcpio.conf
Se supone que debo agregar los ganchos de la siguiente manera
HOOKS="... encrypt lvm2 ... filesystems ..."
Aquí está mi entrada fstab para root
<filesystem>
/dev/mapper/lvmpool-root
UUID=f7153c4b-e6ea-48a2-9ee1-bf38c037173d / ext4 rw,relatime,data=ordered 0 1
Solución alternativa actual
Todavía puedo usar el sistema porque después de que se produce un error, me coloca en un shell de recuperación, en cuyo tipo simplemente puedo hacer:
cryptsetup luksOpen /dev/sdb2 crypt
enter password
Luego salgo del shell de recuperación y me lleva nuevamente al mensaje de inicio de sesión normal de Arch. Esto no sería tan malo si no llevara tanto tiempo... (El error tarda una eternidad en el arranque, como 20 segundos)
Otros recursos que probé
También he usado:
wiki.archlinux.org/index.php/Beginners%27_guide
wiki.archlinux.org/index.php/Gr… cifrado
wiki.archlinux.org/index.php/Dm…oot_loader
wiki.archlinux.org/index.php/Dm… VM_on_LUKS
Respuesta1
Su problema parece estar en la diferencia entre :crypt
un grupo de volúmenes /dev/sdb2
y el uso lvmpool-
de un nombre de grupo de volúmenes como parámetro para la raíz.
GRUB_CMDLINE_LINUX="root=/dev/mapper/lvmpool-root cryptdevice=/dev/sdb2:crypt ro"
El ejemploaquí:
cryptdevice=/dev/partition:MyStorage root=/dev/mapper/MyStorage-rootvol
tiene juego :MyStorage
y MyStorage-
. Esopáginaapunta específicamente grub
(y no a Syslinux), con LVM encima de LUKS. Entonces seguiría esa configuración.
Que tengas una partición extra, no cifrada, no importa.
Respuesta2
Gracias Anthon por tu respuesta anterior, contribuyó enormemente a resolver mi problema.
Parece que la solución a mi problema fue de dos partes.
- La entrada en /etc/default/grub, para mí, debería decir:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:lvmpool root=/dev/mapper/lvmpool-root"
cryptdevice consta de la partición en la que también aplicó el cifrado, en mi caso /dev/sdb2 y lvmpool (mi grupo de volúmenes)
root simplemente apunta a la ubicación de mi lvmpool raíz cifrado (que se encuentra en sdb2)
- Después de realizar esa entrada (y este fue un error clave para mí), debes ejecutar:
grub-mkconfig -o /boot/grub/grub.cfg
Después de hacer eso, el sistema arrancó directamente con el mensaje para desbloquear la partición raíz.
Respuesta3
incluido enmkinitcpio.conf
MODULES="dm_mod dm_crypt ext4 aes_x86_64 sha256 sha512"
HOOKS="... encrypt lvm2 ..."
incluido en/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... quiet "
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX:name"
GRUB_ENABLE_CRYPTODISK="y"
ejecutar comando:
sudo mkinitcpio -p linux
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install --recheck --target=i386-pc /dev/sda
sudo pacman -S linux linux-headers