Não é possível reinstalar o GRUB no sistema de arquivos criptografado

1

Eu cometi um erro e deletei o conteúdo do meu diretório / boot, incluindo o GRUB (btw isso é fácil de fazer, não há aviso de que ele fará com que seu sistema não seja inicializável)!

Eu tentaria copiar novamente o GRUB para o diretório antes de reiniciar, mas esqueci e reiniciei e, não surpreende, ele não inicializaria. Eu tenho um sistema de arquivos criptografado e um diretório pessoal criptografado.

Agora, em um liveUSB, tentando todos os tipos de conselhos do fórum (sem me postar) .... sem sorte. Eu consegui montar a minha unidade criptografada (yay), mas o pacote de reparo de inicialização e o reparo do grub causam erros. aqui está o meu pastebin: link

Alguém se deparou com essa situação e pode me ajudar?

fdisk:

Device       Start       End   Sectors  Size Type   
/dev/sda1     2048   1050623   1048576  512M BIOS boot   
/dev/sda2  1050624   1550335    499712  244M Linux filesystem   
/dev/sda3  1550336 976771071 975220736  465G Linux filesystem   
/dev/sdb1  *      128 3911679 3911552  1.9G  b W95 FAT32  

Tentei a sequência grub-install, update-grub sugerida abaixo - ela lançou um monte de avisos de:

/run/lvm/lvmetad.socket: connect failed: No such file or directory  
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.  

mas pareceu bem-sucedido, com o final do grub-install:

Installation finished. No error reported.  

e finalização update-grub:

Adding boot menu entry for EFI firmware configuration  
done  

btw devo mencionar que também editei /etc/default/grub e adicionei

GRUB_ENABLE_CRYPTODISK=y  

como isso foi sugerido em um fórum diferente - é necessário?

De qualquer forma após a reinicialização, ele imediatamente pede a frase secreta criptografada do disco, então parece aceitá-la, me dá um menu do grub, depois de passar pela maior parte da seqüência de inicialização me dá esse erro (pode não ser exato, eu escrevi para baixo):

drm:intel_pipe_config_compare error: mismatch in ips_enabled (expected 1, found 0)  

Ele me envia para um prompt de shell de emergência do busybox com a sugestão de que eu cat /proc/cmdline porque:

/dev/mapper/ubuntu--vgroot does not exist  

No entanto, ele existe, eu sou capaz de montá-lo via LiveCD, é apenas criptografado. Então estou preso novamente.

Atualização: Eu tentei editar o arquivo '/etc/lvm/lvm.conf' como é recomendado, agora quando eu reinicio eu recebo o menu do grub, mas depois de selecionar o Ubuntu ele vai para o shell de emergência novamente com o mesmo erro:

drm:intel_pipe_config_compare [i915] ERROR mismatch in ips_enabled (expected 1, found 0)
    
por troff 07.02.2016 / 03:14

1 resposta

1

Já que você está falando sobre o Ubuntu, vou assumir que você usa isso.

Para corrigir, faça o seguinte:

  • Primeiro, verifique se você está trabalhando no sistema instalado , não no sistema ao vivo. Uma imagem ao vivo geralmente tem seu próprio sistema de arquivos raiz que torna a reinstalação do grub mais difícil do que poderia ser. Supondo que você monte seu sistema de arquivos raiz instalado em /mnt , você pode fazer isso executando os seguintes comandos (todos como raiz, então use sudo ou algo ao longo dessas linhas, se necessário):

    mount -o bind /dev /mnt/dev
    mount -t process proc /mnt/proc
    mount -t sysfs sys /mnt/sys
    chroot /mnt
    

    Este último comando inicia um shell dentro do seu sistema instalado. Execute os próximos comandos nesse shell.

  • reinstale o grub no MBR: grub-install --boot-directory=/boot /dev/sda . Isso pressupõe que seu computador tenha apenas um disco rígido ou que, se tiver mais, ele esteja configurado para inicializar a partir de sda . Se não for esse o caso, ajuste conforme apropriado.
  • gere novamente o menu grub para uma boa medida: update-grub .
  • agora saia desse shell e reinicialize.

As coisas devem funcionar novamente. Caso contrário, atualize sua pergunta com mais detalhes sobre como as coisas falham.

Atualização : parece que as coisas ainda falham devido ao update-grub querer falar com lvmetad , que é executado no sistema host, não no convidado. A maneira mais fácil de corrigir isso é (temporariamente) desativar o uso desse daemon. Para isso, edite /etc/lvm/lvm.conf , encontre a configuração que diz use_lvmetad = 1 e defina como 0 . Em seguida, execute update-initramfs -u -k all para regenerar o initramfs.

    
por 07.02.2016 / 09:22