como posso instalar uma inicialização para minha partição raiz criptografada?

3

Eu dist atualizei e perdi o kernel na minha partição de boot de alguma forma.

Eu consegui restaurar a maior parte dele (inicializando um 14 antigo, montando a partição criptografada e chrooting nele - daí o / mnt abaixo), mas ainda não consigo inicializar. Ele nunca pede minha senha de partição root e fica preso dentro de um shell initramfs.

Eu tentei adicionar isso ao / etc / default / grub

GRUB_CMDLINE_LINUX="cryptdevice=/dev/disk/by-uuid/8711af09-1c70-414a-af43-e859ddabf09f:cryptroot root=/dev/mapper/cryptroot"

onde esse UUID está em meu / etc / crypttab:

sda5_crypt UUID=8711af09-1c70-414a-af43-e859ddabf09f none luks,discard

mas quando eu faço isso e executo o grub-install assim:

grub-install --boot-directory=/mnt/boot /dev/sda1

Eu entendo isso:

Installing for i386-pc platform.
grub-install: error: attempt to install to encrypted disk without cryptodisk enabled. Set 'GRUB_ENABLE_CRYPTODISK=1' in file '/etc/default/grub'..

Pelo que eu posso encontrar, o GRUB_ENABLE_CRYPTODISK é apenas para quando você está criptografando todo o seu disco - eu não sou. Eu tenho uma partição de inicialização EXT2 separada montada em / boot (ou / mnt / boot na máquina inicializada por USB).

Quando eu ligo essa opção:

GRUB_ENABLE_CRYPTODISK=y

e executar o grub-install, recebo:

Installing for i386-pc platform.
grub-install: warning: Filesystem 'ext2' doesn't support embedding.
grub-install: error: embedding is not possible, but this is required for RAID and LVM install.

Todos os exemplos que posso encontrar parecem ser para instalações de discos inteiros, ninguém parece estar falando sobre este caso.

Por favor, ajude!

    
por nic ferrier 04.12.2016 / 21:06

1 resposta

2

Pelo que sei, você não precisa definir GRUB_CMDLINE_LINUX no seu dispositivo de criptografia. Em vez disso, verifique se o seguinte está correto:

  1. Instalando o grub: Certifique-se de que o grub esteja instalado em sua partição / boot. se ainda reclamar sobre ext2 , formate o seu / boot para ext3 ou ext4 (supondo que você não tenha nenhum dado valioso em seu / parição de inicialização).

Eu recomendo o seguinte modo limpo (de um liveUSB ou seu disco de recuperação):

sudo -i cryptsetup open /dev/sda5 my_encrypted_device mount /dev/mapper/my_encrypted_device /mnt mount --bind /dev/ /mnt/dev && mount --bind /dev/pts /mnt/dev/pts && mount --bind /proc /mnt/proc && mount --bind /sys /mnt/sys mount /dev/<YOUR_BOOT_PARTITION> /mnt/boot chroot /mnt apt purge --auto-remove grub-pc Pressione Enter para confirmar a remoção.

apt install grub-pc

Dentro do terminal, use a barra de espaço para selecionar onde instalar o grub, pressione tab e depois entre.

  1. / etc / crypttab: Sua entrada deve estar no formato:

OPÇÕES DE KEY_FILE SOURCE_DEVICE TARGET

(por exemplo, my_encrypted_device / dev / sda5 none luks)

Lembre-se de que o parâmetro do arquivo-chave none solicita que o arquivo-chave seja fornecido interativamente pelo usuário

  1. / etc / fstab: O primeiro campo de sua entrada / deve conter o mesmo nome de mapeamento de dispositivo (, por exemplo, my_encrypted_device )
  2. update-initramfs : NÃO SE ESQUEÇA DE ATUALIZAR SEU ARQUIVO DE RAM! %código%

Você deve ter uma inicialização ativa agora.

Observação: o GRUB pode ser instalado em seu dispositivo criptografado como você disse

    
por egy 23.02.2017 / 20:52