user121839 está correto.
Eu tive um problema semelhante em um sistema no qual movi as partições, e listei todas as minhas partições, não apenas a unidade (hd0).
Para o benefício de futuros googlers:
Ao bater
grub rescue>
Execute ls
para obter uma lista de unidades e partições, por exemplo:
(hd0) (hd0,msdos1) (hd0,msdos2)
Se você ver apenas (hd0)
, provavelmente precisará examinar a unidade com outro computador ou uma inicialização ao vivo.
Execute set
para ver suas configurações de inicialização atuais:
prefix=(hd0,msdos2)/boot/grub
root=hd0,msdos2
Se você tem um sistema e uma partição swap e o grub está tentando inicializar a partir da troca (como na minha situação), esse pode ser o tipo de problema que você vê.
Você pode usar cat
e ls
para examinar arquivos ou verificar sua existência:
ls (hd0,msdos1)/boot/grub/
cat (hd0,msdos1)/boot/grub/grub.cfg
Defina a partição de inicialização correta. Nota: Eu não usei set
, apenas digitei as atribuições de ambiente diretamente ( prefix=value
).
set prefix=(hd0,x)/boot/grub
set root=(hd0,x)
Em seguida, carregue o grub para inicializar.
insmod normal
normal
Espero que isso seja útil, cidadãos do futuro.