¿Qué estoy intentando hacer?

¿Qué estoy intentando hacer?

¿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

  1. Utilicé Grub en lugar de Syslinux como sugiere el tutorial (este parece ser el quid) y la solución para Grub es muy confusa.

  2. 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 :cryptun grupo de volúmenes /dev/sdb2y 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 :MyStoragey 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.

  1. La entrada en /etc/default/grub, para mí, debería decir:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:lvmpool root=/dev/mapper/lvmpool-root"

Para desglosar cada entrada:

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)

  1. Después de realizar esa entrada (y este fue un error clave para mí), debes ejecutar:

    grub-mkconfig -o /boot/grub/grub.cfg

Esto actualizará su /boot/grub/grub.cfg con la información que agregó a /etc/default/grub.

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 

información relacionada