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 /mntEste ú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 desda. 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.