error: file '/grub/i386-pc/normal.mod' not found.
grub rescue>
私に何ができる?私はただ座って見つめています。
約4年間使用していない古いネットブック(Dell Inspiron 1010)を見つけました。 Windows XPをUbuntu 12.10に置き換えました。起動可能なUSBドライブを使用しました。インストールして再起動しました。 normal.mod
が見つからないというメッセージを受け取りました。
私は何をすべきか?タイプexit
、reboot
、またはquit
?再インストールする必要がありますか?
今日の午後、マシンでこれを解決しました。この問題の原因の1つは、インストーラーがEFIセキュアブートを持っていると考えているために、持っていないときに間違ったGRUBファイルをロードしているためと思われます。
GRUB 2.をインストールする必要があります。これを行うには、ライブインスタンスを起動し、ルートパーティションをマウントしてインストールする必要があります。
ライブインスタンスから、ルートパーティションがロードされているパーティションを見つけます。 GPartedがこれを教えてくれます
Sudo fdisk -l
Ubuntuがインストールされているパーティションを探します。
パーティションを作成したら、マウントする必要があります。ルートパーティションが/ dev/sda5にあると仮定すると、次のようになります。
Sudo mount /dev/sda5 /mnt
次にGRUB 2をインストールします
Sudo grub-install /dev/sda --root-directory=/mnt
[コピーする必要があるスペースがあるため、このコピーと貼り付けを使用してください。]
これがあなたの問題であると仮定すると、再起動するだけですべてが正常に機能するはずです。
このための元のソリューションはここからでした: http://ubuntujournal.blogspot.com/2012/11/fix-new-install-of-ubuntu-1210-wont-boot.html
私はフォーラムでその情報を見つけられなかったので、この質問はずっと前に尋ねられたという事実にもかかわらず、いくつかの情報を共有したいと思います。
Ubuntuがインストールされた大きな(たとえば1TB)パーティションがあり、/ boot /に追加のパーティションを割り当てなかった場合、そのようなエラーの原因である可能性があります。 GRUBが起動すると、biosdiskドライバーを使用して/ boot/grub /ディレクトリーから通常のドライバーを読み取ります。場合によっては、このディレクトリは、バイオディスクセクターでサポートされている最大数より後のどこかに物理的にハードドライブ上に配置できます。この問題は、たとえばシステムのアップグレード後に発生する可能性があります。また、Ubuntu 13.10の新規インストール後、常にこの問題に直面していますが、マザーボード/ BIOSに依存するため、異なる可能性があります。
Grubリカバリを使用して確認できます-正しいPREFIXとROOTを設定した後、ls/bootを試してください-何も表示されないが、ライブcd /フラッシュドライブから起動したときにそこにファイルが表示される場合-上記の問題がある場合。
システムをブート可能にするためにさまざまなことを行うことができますが、将来(dist-upgradesで)問題を回避する唯一の方法は、/ bootディレクトリを別の小さなパーティションに置くことです。
grub-rescue
プロンプトが表示されたり、構成でLVMが使用されている場合、他のソリューションは機能しない可能性があります。
レスキューディスクで起動します(ヒント:バックアップUSBディスクの専用パーティションに小さなディストリビューションを保持します)。
LVMを使用する場合、lvdisplay
または別のLVM関連のコマンドでボリュームグループの名前を見つけます。それをアクティブにします(そうしないと、マウントしようとするとmount: special drive /dev/volumegroupname/partition does not exist
エラーが発生します):
vgchange -a y volumegroupname
次に、通常の/
パーティションをマウントします。 /mnt
:
mount /dev/volumegroupname/partition /mnt
いくつかの特別なデバイスもマウントします(別のパーティションにある場合は/boot
と同様):
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t sysfs /sys /mnt/sys
次に、chroot
を通常のディストリビューションに入れます:
chroot /mnt
最後に、GRUB2を再インストールします—コマンドはディストリビューションによって異なる場合があります。これはSlackwareで動作します(ドライブが/dev/sda
の場合):
grub-install /dev/sda
grub2-mkconfig -o /boot/grub2/grub.cfg
再起動すると完了です。
2番目のステップは必須。
/boot
を使用しないでください。
別の解決策があるかもしれません:起動中にブートデバイスを手動で変更してみてください。しかし、私はそれがうまくいくとは思わず、まだテストしていません。
これは、17.10を含むUbuntuで持続している長年の問題です。