LVM Ontop de LUKS usando Grub

5

O que estou tentando fazer?

Instale o Arch com criptografia total do sistema (sans boot e media partition) usando o LVM sobre o LUKS em um disco rígido externo (sdb) usando: link

Qual é o meu problema:

O sistema inicializa o grub e parece haver alguma confusão sobre onde encontrar o root

Error: Device 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d' not found. skipping fsck

Error: Unable to find root device 'uuid=f7153c4b-e6ea-48a2-9ee1-bf38c037173d'

Onde me desviei deste tutorial

  1. Eu usei o Grub Em vez do Syslinux como o tutorial sugere (Esse parece ser o ponto crucial) e é muito nebuloso na solução para o Grub

  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 é aí que a questão é)

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

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

e devo excluir o comentário:

GRUB_DISABLE_LINUX_UUID=true

Problemas no /etc/mkinitcpio.conf

Eu devo adicionar os ganchos da seguinte forma

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

Trabalho atual

Eu ainda posso usar o sistema, porque depois de erros, ele me cai em um shell de recuperação, em que tipo eu posso simplesmente fazer um:

cryptsetup luksOpen /dev/sdb2 crypt 
enter password

Em seguida, saia do shell de recuperação e ele me retorna a um prompt normal de login em arco. Isso não seria tão ruim, se não fosse tão demorado ... (Leva uma eternidade para errar na inicialização, como 20 segundos)

Outros recursos Eu 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

Juntamente com algumas perguntas do fórum que outros postaram aqui, mas também não tem sorte.

    
por Cyberpsychosis 11.10.2014 / 05:16

3 respostas

2

Seu problema parece estar na diferença de :crypt como grupo de volume para /dev/sdb2 e usando lvmpool- como nome de volume como parâmetro para raiz.

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

O exemplo aqui :

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

tem correspondência entre :MyStorage e MyStorage- . Essa página visa especificamente grub (e não o Syslinux), com o LVM sobre o LUKS. Então, eu seguiria essa configuração.

Você tem uma partição extra e não criptografada, não importa.

    
por 11.10.2014 / 08:25
1

Obrigado Anthon pela sua resposta acima, isso contribuiu muito para resolver o meu problema.

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

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

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

  2.   
  Para dividir cada entrada:

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

root está simplesmente apontando para a localização da minha raiz criptografada lvmpool (que está localizada em sdb2)

  1. Após essa entrada ser feita (e isso foi um erro fundamental para mim), você deve executar:

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

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

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

    
por 11.10.2014 / 20:25
0

incluir em mkinitcpio.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 
    
por 09.08.2015 / 22:15