Sono nel mezzo di un problema simile (per inciso anche sull'arco)
Grub non riesce a trovare questo file ed eseguire perché utilizza un "prefisso" errato
Ecco cosa fai. Ti avvii in modalità di salvataggio di GRUB, quindi capisci semplicemente come avviarlo.
Per prima cosa esegui set questo elencherà le variabili, per esempio il mio è
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
Ora, il prefisso è la variabile in cui grub cerca il file normal.mod. Nel mio caso hd1, msdos3 è lo stesso di / dev / sdb3 (allo stesso modo, hd0, msdos1 sarebbe / dev / sda1) quello che potresti voler fare per vedere un elenco di partizioni valide è digitare in ls
Ora, nel mio caso, di nuovo, grub è stato installato su / dev / sdb1 che è stato montato come / boot nella mia partizione di arco, quindi il prefisso corretto sarebbe (hd1, msdos1) / grub
Quindi per me l'avvio, devo fare questo:
set prefix=(hd1,msdos1)/grub
insmod normal
normal
Nel tuo caso dovrai ricordare o indovinare su quale partizione hai installato grub. Puoi indovinare, non farà alcun danno, il comando insmod semplicemente fallirà e puoi riprovare con un'altra partizione.
Dopo questo, grub si carica come dovrebbe normalmente, e posso scegliere dalla lista ciò che voglio avviare. Normalmente quando si verifica un disastro come questo, reinstallare grub su mbr (usando grub-install ) dovrebbe risolverlo in modo permanente, quindi non è necessario farlo ogni volta che si avvia. Tuttavia, ho molte difficoltà a scoprire cosa fare se risolverlo non è così facile (o condividerei quello che dovresti fare).
Solo se fallisce (ad es. Se il prefisso è corretto ma non riesci ancora ad avviarlo) dovresti ricorrere a vivere o salvare cd per aggirare il problema (è meglio evitarlo)
grub-install
. Non è necessario ripetere nessuno dei passaggi, basta usarli come guida per ottenere il chroot da un LiveCD.