Estou no meio de um problema semelhante (aliás também no arco)
O Grub está falhando ao encontrar este arquivo e executar porque está usando um "prefixo" incorreto
Aqui está o que você faz. Você inicializa no modo de recuperação do grub e simplesmente descobre como fazê-lo inicializar.
Primeiro, você executa o set, isto listará variáveis, por exemplo, a minha é
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
Agora, o prefixo é a variável em que o grub procura o arquivo normal.mod. No meu caso hd1, msdos3 é o mesmo que / dev / sdb3 (da mesma forma, hd0, msdos1 seria / dev / sda1), o que você pode querer fazer para ver uma lista de partições válidas é digitar ls
Agora, no meu caso, novamente, o grub foi instalado em / dev / sdb1, que foi montado como / boot na minha partição arch, então o prefixo correto seria (hd1, msdos1) / grub
Então, para eu inicializar, preciso fazer o seguinte:
set prefix=(hd1,msdos1)/grub
insmod normal
normal
No seu caso, você terá que lembrar ou adivinhar em qual partição você instalou o grub. Você pode adivinhar errado, isso não fará nenhum mal, o comando insmod simplesmente falhará e você pode tentar novamente com outra partição.
Depois disso, o grub é carregado normalmente, e posso escolher da lista o que quero inicializar. Normalmente, quando uma bagunça como essa ocorre, a reinstalação do grub no seu mbr (usando o grub-install ) deve corrigi-lo permanentemente, para que você não precise fazer isso toda vez que inicializar. No entanto, estou tendo muita dificuldade em descobrir o que fazer se corrigi-lo não for tão fácil (ou eu compartilharia o que você deve fazer).
Somente se isso falhar (por exemplo, se o prefixo estiver correto, mas você ainda não conseguir inicializar) você deve recorrer ao live ou resgatar cds para solucionar o problema (é melhor evitar isso)
grub-install
. Você não precisa repetir nenhuma das etapas, basta usá-las como um guia para obter uma inserção em um liveCD.