Reinstalar para partições criptografadas existentes

3

Meu layout de disco é assim:

  • Partição criptografada para /
  • Partição criptografada para /home
  • partição não criptografada para /boot

Eu configurei isso da última vez que fiz uma reinstalação completa (incluindo o disco apagado) do Ubuntu há um tempo atrás. Agora, depois de atualizar para o Ubuntu mais recente, algumas coisas foram quebradas e decidi reinstalar novamente do zero. Mas, como tenho uma partição separada para /home e outra partição para / , que já estão criptografadas, gostaria de reutilizá-las, em vez de começar tudo de novo. Especialmente para economizar o tempo necessário para fazer backup do meu /home e restaurá-lo novamente após a nova instalação.

Antes de passar pelo instalador, eu destravo as duas partições criptografadas. Isso me permite selecioná-los para / e /home para a nova instalação. Eu faço esse desbloqueio de pré-instalação porque não consigo desbloquear as partições da interface do instalador.

Tudo parece estar bem instalado.

Mas quando eu reinicio o sistema, nunca recebo o aviso de desbloqueio. O splash de inicialização de 5 pontos está lá por um tempo e depois cai para um prompt (initramfs) .

O que eu faço para obter o prompt de desbloqueio na inicialização? Posso alterar algumas configurações em um arquivo em algum lugar da minha partição /boot ? Preciso fazer algo diferente durante a instalação? Eu não me importo de fazer outra reinstalação (já que não leva muito tempo, yay!). Eu só não quero ter que fazer o backup / restauração de /home (já que leva muito tempo, boo!).

    
por decibyte 24.11.2016 / 11:54

1 resposta

6

O problema é que /etc/crypttab não está configurado corretamente no novo sistema. Você pode consertar isso inicializando em um ambiente ao vivo e montando seu novo sistema para consertá-lo. A seguir, uma visão geral do que você precisa fazer, mas é provável que os nomes dos dispositivos precisem ser alterados para o seu sistema.

$ sudo -i
# cryptsetup open /dev/sda5 sda5_crypt # For root partition
# cryptsetup open /dev/sda6 sda6_crypt # For home partition
# lvchange -ay  # activates the logical volumes if you use llvm
# mkdir /mnt/ubuntu
# mount /dev/mapper/sda5_crypt /mnt/ubuntu
# mount /dev/mapper/sda6_crypt /mnt/ubuntu/home
# mount /dev/sda1 /mnt/ubuntu/boot
# mount --bind /dev /mnt/ubuntu/dev
# mount --bind /sys /mnt/ubuntu/sys
# mount -t proc none /mnt/ubuntu/proc

Agora que o sistema está montado, você pode adicionar /mnt/ubuntu/etc/crypttab . Deve parecer um pouco assim:

sda5_crypt UUID=12345678-9abc-def012345-6789abcdef01 none luks
sda6_crypt UUID=87654321-cba9-543210fed-01fedcba9876 none luks

Você pode encontrar o UUID com ls -l /dev/disk/by-uuid . Observe que os UUIDs usados devem ser das partições criptografadas , não das partições descriptografadas .

Você também deve consultar /mnt/ubuntu/etc/fstab e garantir que as partições descriptografadas sejam referenciadas pelos nomes sdaX_crypt atribuídos em /mnt/ubuntu/etc/crypttab . Se você descriptografou os dispositivos no instalador do sistema operacional antes de instalá-los, eles poderão ser referenciados por alguns outros nomes diferentes daqueles que você atribuiu a si mesmo (por exemplo, luks-<uuid> ). Se você não conseguir fazer isso, poderá receber um erro dizendo cryptsetup: lvm is not available durante a inicialização.

Finalmente, você pode chroot no novo sistema para atualizar o initramfs.

# chroot /mnt/ubuntu /bin/bash
# update-initramfs -u

E então você está pronto para reiniciar seu novo sistema.

    
por Virdal 06.01.2017 / 15:14