O que estou tentando fazer?

O que estou tentando fazer?

O que estou tentando fazer?

Instale o Arch com criptografia completa do sistema (sem inicialização e partição de mídia) usando LVM sobre LUKS em um disco rígido externo (sdb) usando:http://suddenkernelpanic.blogspot.com/2013/03/arch-linux-lvm-on-top-of-luks-2013-style.html

Qual é o meu problema:

O sistema inicializa o grub e parece que há alguma confusão sobre onde encontrar o root

Erro: Dispositivo 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d' não encontrado. pulando fsck

Erro: não foi possível encontrar o dispositivo raiz 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d'

Onde eu me desviei deste tutorial

  1. Eu usei o Grub em vez do Syslinux como o tutorial sugere (este parece ser o ponto crucial) e a solução para o Grub é realmente nebulosa

  2. Meu esquema de partição consiste em uma partição FAT32 extra que não está envolvida na criptografia (parece irrelevante para o problema)

Problemas em /etc/default/grub:

(Eu sinto que é aqui que está o problema)

Pelo que li, preciso atualizar especificamente alguns lugares neste arquivo:

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

e devo descomentar:

GRUB_DISABLE_LINUX_UUID=true

Problemas em/etc/mkinitcpio.conf

Devo adicionar os ganchos da seguinte maneira

HOOKS="... encrypt lvm2 ... filesystems ..."

Aqui está minha entrada fstab para root

<filesystem>
/dev/mapper/lvmpool-root                                                 
UUID=f7153c4b-e6ea-48a2-9ee1-bf38c037173d / ext4 rw,relatime,data=ordered   0 1

Solução alternativa atual

Ainda posso usar o sistema porque, após ocorrer um erro, ele me coloca em um shell de recuperação, cujo tipo posso simplesmente fazer:

cryptsetup luksOpen /dev/sdb2 crypt 
enter password

Em seguida, saia do shell de recuperação e ele retornará ao prompt de login normal do Arch. Isso não seria tão ruim, se não fosse tão demorado... (Leva uma eternidade para ocorrer um erro na inicialização, cerca de 20 segundos)

Outros recursos que tentei

Eu também usei:

  • wiki.archlinux.org/index.php/Beginners%27_guide

  • wiki.archlinux.org/index.php/Gr… criptografia

  • wiki.archlinux.org/index.php/Dm… oot_loader

  • wiki.archlinux.org/index.php/Dm… VM_on_LUKS

Responder1

Seu problema parece estar na diferença entre :cryptum grupo de volumes /dev/sdb2e usar lvmpool-um nome de grupo de volumes como parâmetro para root.

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

O exemploaqui:

cryptdevice=/dev/partition:MyStorage root=/dev/mapper/MyStorage-rootvol

tem correspondência :MyStoragee MyStorage-. Quepáginavisa especificamente grub(e não o Syslinux), com LVM em cima do LUKS. Então eu seguiria essa configuração.

Que você tenha uma partição extra, não criptografada, não importa.

Responder2

Obrigado Anthon pela sua resposta acima, ela contribuiu muito para a solução do meu problema.

Parece que a solução para o meu problema consistiu em duas partes.

  1. A entrada em /etc/default/grub, para mim, deveria ser:

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

Para detalhar cada entrada:

cryptdevice consiste na partição em que você aplicou a criptografia também, no meu caso /dev/sdb2 e lvmpool (meu grupo de volumes)

root está simplesmente apontando para a localização do meu lvmpool raiz criptografado (que está localizado em sdb2)

  1. Depois que essa entrada for feita (e isso foi um erro importante para mim), você deve executar:

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

Isso atualizará seu /boot/grub/grub.cfg com as informações que você adicionou ao /etc/default/grub.

Depois disso, o sistema inicializou diretamente no prompt para desbloquear a partição raiz.

Responder3

incluir emmkinitcpio.conf

MODULES="dm_mod dm_crypt ext4 aes_x86_64 sha256 sha512"

HOOKS="... encrypt lvm2 ..."

incluir em/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="... quiet "

GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdX:name"

GRUB_ENABLE_CRYPTODISK="y"

comando de execução:

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 

informação relacionada