LVM & LUKS manual particionado mas com problemas com loader / init / grub

3

Eu tive algum sucesso com o particionamento manual e a instalação do LVM & amp; LUKs.

As partições são criadas - home, root, swap e boot, o pv e o vg foram criados e configurados corretamente.

Eu instalei do Live e tudo no sistema de arquivos instalado nos lugares certos.

Eu chroot, montei e configurei o / etc / crypttab com o UUID correto e o / etc / fstab está apontando para o mapeador direito e UUIDs (baseado na saída blkid).

Neste ponto, tento algumas abordagens para tentar obter o gerenciador de inicialização e o grub para me fornecer uma tela de login de senha que irá descriptografar o que eu referenciei em / etc / crypttab.

Primeira abordagem -

mount -t proc proc /proc 
mount -t sysfs sys /sys 
update-initramfs -u

rodando isso me diz

/usr/sbin/iucode_tool: cpuid kernel driver unavailable, cannot scan system processor signatures

Segunda abordagem -

Verificando /etc/mkinitcpio.conf para adicionar lvm2 e criptografar e, em seguida, seguido por

mkinitcpio -p linux

Isso não funciona porque o mkinitcpio não existe.

Depois de algumas pesquisas eu estava pensando que o / etc / crypttab talvez seja suficiente para os processos init existentes?

Terceira abordagem -

Editando / etc / default / grub para adicionar

GRUB_ENABLE_CRYPTODISK=y 

e depois executando

grub mkconfig -o /boot/grub/grub.cfg
grub-install /dev/sda1

O problema que estou tendo com isso estou recebendo

/usr/sbin/grub-probe: error: failed to get canonical path of '/dev/mapper/ubuntu-rootvol'

Eu sei que deve ser bastante simples para obter essa tela de boot com a senha resolvida, mas estou sem opções. Por favor, você pode me dizer o método correto para ter referência do Ubuntu / etc / crypttab

Obrigado pela sua ajuda!

    
por user81084 14.02.2016 / 13:22

1 resposta

2

Eu encontrei uma maneira de configurar o LUKS e o LVM enquanto particionava manualmente! Eu testei isso no Ubuntu 16.04.2

Inicialize o Ubuntu de um SO Live e selecione a opção de experimentar o Ubuntu sem instalar. Siga os passos que descrevi abaixo.

  1. Particione o disco com sua ferramenta de escolha: usei o fdisk para configurar o meu em uma tabela de partições msdos da seguinte forma:
    • sda1: / boot (1G)
    • sda2: partição LUKS (o restante do disco)
  2. Configurar o LUKS
    • sudo cryptsetup luksFormat --hash=sha512 --key-size=512 --cipher=aes-xts-plain64 --verify-passphrase /dev/sda2
    • sudo cryptsetup luksOpen /dev/sda2 CryptDisk
    • Embora não seja necessário, é uma boa ideia preencher a partição LUKS com zeros para que a partição, em um estado criptografado, seja preenchida com dados aleatórios. sudo dd if=/dev/zero of=/dev/mapper/CryptDisk bs=4M CUIDADO, isso pode levar muito tempo!
  3. Configurar o LVM em / dev / mapper / CryptDisk
    • sudo pvcreate /dev/mapper/CryptDisk
    • sudo vgcreate vg0 /dev/mapper/CryptDisk
    • sudo lvcreate -n swap -L 2G vg0
    • sudo lvcreate -n root -L 10G vg0
    • sudo lvcreate -n home -l +100%FREE vg0
  4. Agora você está pronto para instalar. Quando você chegar à parte "Tipo de instalação" da instalação, escolha a opção "Outra coisa". Então, atribua manualmente as partições / dev / mapper / vg0- * como você gostaria de ter o configurado. Não se esqueça de definir / dev / sda1 como / boot. a partição / boot não deve ser criptografada. Se for, não poderemos arrancar. Altere o "Dispositivo para instalação do carregador de boot" para / dev / sda e continue com a instalação.
  5. Quando a instalação estiver concluída, não reinicialize ! Escolha a opção para "Continuar o teste".
  6. Em um terminal, digite o seguinte e procure o UUID de / dev / sda2. Tome nota desse UUID para mais tarde.
    • sudo blkid
    • A linha importante na minha máquina lê /dev/sda2: UUID="bd3b598d-88fc-476e-92bb-e4363c98f81d" TYPE="crypto_LUKS" PARTUUID="50d86889-02"
  7. Em seguida, vamos instalar novamente o novo sistema instalado para que possamos fazer mais algumas alterações.
    • sudo mount /dev/vg0/root /mnt
    • sudo mount /dev/vg0/home /mnt/home # provavelmente não é necessário
    • sudo mount /dev/sda1 /mnt/boot
    • Se você tiver uma partição EFI, monte-a em /mnt/boot/efi
    • sudo mount --bind /dev /mnt/dev # Não tenho certeza se isso é necessário
    • sudo mount --bind /run/lvm /mnt/run/lvm
  8. Agora, execute sudo chroot /mnt para acessar o sistema instalado
  9. Do chroot, monte mais algumas coisas
    • mount -t proc proc /proc
    • mount -t sysfs sys /sys
    • mount -t devpts devpts /dev/pts
  10. Configurar a criptografia. Usando o seu editor de texto favorito, crie o arquivo / etc / crypttab e adicione a seguinte linha, mudando o UUID com o UUID do seu disco.
    • CryptDisk UUID=bd3b598d-88fc-476e-92bb-e4363c98f81d none luks,discard
  11. Por fim, reconstrua alguns arquivos de inicialização.
    • update-initramfs -k all -c
    • update-grub
  12. Reinicialize e o sistema deve pedir uma senha para descriptografar na inicialização!

Agradecimentos especiais a Martin Eve , EGIDIO DOCILE , e o pessoal em blog.botux.fr para tutoriais que eles postaram. Puxando pedaços de seus posts e fazendo um pouco de resolução extra de problemas, finalmente consegui descobrir isso.

Eu tentei isso várias vezes e falhei várias vezes. O bit que eu tive que resolver sozinho com base em mensagens de erro foi sudo mount --bind /run/lvm /mnt/run/lvm

    
por b_laoshi 17.03.2017 / 09:19