Recentemente acertei um problema relativamente comum quando o instalador do 16.04 desconfigura a localização da pasta do GRUB. Nesses casos, o sistema inicializa em um shell de recuperação com as seguintes mensagens:
error: file '/grub/i386-pc/normal.mod' not found.
Entering rescue mode...
grub rescue>
Isso significa que o GRUB foi capaz de inicializar, mas está procurando por seus módulos no lugar errado. A solução bem conhecida é instruir o GRUB rapidamente na localização de seus módulos. No meu caso, isso é:
grub rescue> set prefix=(hd1,msdos2)/boot/grub
grub rescue> insmod normal
grub rescue> normal
Isso retoma o processo de inicialização com sucesso. No entanto, na próxima vez que o sistema for inicializado, o GRUB retornará ao console de resgate e deverá ser instruído novamente sobre a localização de seus módulos. Eu reinstalei o GRUB, mas isso não resolveu o problema.
Como o GRUB pode ser permanentemente instruído sobre a localização correta de seus módulos?
Atualização : eu segui sugestão de WinEunuuchs2Unix e tentei a ferramenta Boot-Repair . Primeiro, verifiquei a localização do GRUB e, aparentemente, está correto: /boot/grub
on sdg2
.
Eu então executei o diagnóstico Reparo recomendado, que produziu este resultado . Aqui está novamente a localização correta do GRUB:
sdg2: __________________________________________________________________________
File system: ext4
Boot sector type: -
Boot sector info:
Operating System: Ubuntu 16.04.3 LTS
Boot files: /boot/grub/grub.cfg /etc/fstab
/boot/grub/i386-pc/core.img
No entanto, há um erro no final do relatório, que aponta para um problema com device.map
:
grub-probe: error: cannot find a GRUB drive for /dev/sdi1. Check your device.map.
Unhide GRUB boot menu in sdg2/boot/grub/grub.cfg
An error occurred during the repair.
Alguma sugestão sobre o que pode ser feito sobre isso?