私は同様の問題の真っ最中です(偶然にもアーチにも)
Grubは誤った「プレフィックス」を使用しているため、このファイルを見つけて実行できません。
これがあなたのすることです。GRUBレスキューモードで起動し、起動する方法を見つけます。
最初にsetを実行すると、変数がリストされます。たとえば、私のものは
cmdpath=(hd0)
prefix=(hd1,msdos3)/boot/grub
root=hd1,msdos3
現在、プレフィックスはgrubがnormal.modファイルを探す変数です。私の場合、hd1、msdos3は/ dev / sdb3と同じです(同様に、hd0、msdos1は/ dev / sda1になります)有効なパーティションのリストを表示するために必要なことは、lsに入力します
さて、私の場合、再び、grubが/ dev / sdb1にインストールされました。これは、アーチパーティションに/ bootとしてマウントされていたため、正しいプレフィックスは(hd1、msdos1)/ grubになります。
したがって、ブートするには、これを行う必要があります。
set prefix=(hd1,msdos1)/grub
insmod normal
normal
あなたの場合、grubをインストールしたパーティションを覚えるか推測する必要があります。間違っていると推測できますが、害はありません。insmodコマンドは失敗するだけで、別のパーティションで再試行できます。
この後、grubが通常どおりにロードされ、ブートするものをリストから選択できます。通常、このような混乱が発生した場合、grubをmbrに再インストール(grub-installを使用)すると恒久的に修正されるため、起動するたびにこれを行う必要はありません。しかし、私は多くの困難を抱えていますそれを修正するのがそれほど簡単ではない場合に何をすべきかを見つけるをています(または、あなたがすべきことを共有します)。
これが失敗した場合のみ(例えば、プレフィックスは正しいが起動できない場合)、CDをライブまたはレスキューに頼って問題を回避する必要があります(それを避けるのが最善です)
grub-install
。手順を繰り返す必要はありません。それらをガイドとして使用して、liveCDからchrootするだけです。