Estou no meio de um problema semelhante (aliás também no arco)
O Grub não consegue encontrar este arquivo e é executado porque está usando um "prefixo" incorreto
Aqui está o que você faz. Você inicializa no modo de resgate do grub e, em seguida, simplesmente descobre como fazer isso.
Primeiro você executa o set . Isso listará as variáveis, por exemplo, o meu é
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
Agora, o prefixo é a variável onde 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 um lista de partições válidas é tipo em ls
Agora, no meu caso, mais uma vez, o grub foi instalado em / dev / sdb1 que foi montado como / boot em minha partição Arch, então o prefixo correto seria (hd1, msdos1) / grub
Então, para eu inicializar, preciso fazer isso:
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 causará nenhum dano, o comando insmod simplesmente falhará e você poderá tentar novamente com outra partição.
Depois disso, o grub carrega como deveria, e eu posso escolher na lista o que eu quero inicializar. Normalmente, quando uma bagunça como essa ocorre, reinstalar o grub no seu mbr (usando grub-install ) deve consertá-lo permanentemente, para que você não tenha que fazer isso toda vez que inicializar. No entanto, tenho muita dificuldade descobrir o que fazer se a correção não for tão fácil (ou eu compartilharei 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 rescue cds para contornar o problema (é melhor evitar isso)