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
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
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 :crypt
um grupo de volumes /dev/sdb2
e 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 :MyStorage
e 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.
- A entrada em /etc/default/grub, para mim, deveria ser:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdb2:lvmpool root=/dev/mapper/lvmpool-root"
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)
- Depois que essa entrada for feita (e isso foi um erro importante para mim), você deve executar:
grub-mkconfig -o /boot/grub/grub.cfg
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