私は愚かなことをしました... Ubuntu 10.04(Lucid Lynx)がGRUB 2に切り替えたことを忘れてしまいました。GRUB2は大量の* .modファイル(カーネルモジュール)をに置きます/boot/grub
。私はそれらが誤ってそこに置かれたサウンドトラックファイルであると思い、それらを移動しました。言うまでもなく、次の再起動はトラウマでした。私は今まで見たことのない何かを見せられました...「grub rescue>」プロンプト。
しかし、GRUBエラーの修正:「エラー:不明なファイルシステム」の助けを借りて、回復することができました...
- GRUBレスキューには、「cd」、「cp」、または「ls」のバリエーションを除く他のファイルシステムコマンドがないことがわかりました。
だから、最初にファイルと他のブートイメージファイル
/boot
を含むディレクトリを持つパーティションを見つける必要がありましたvmlinuz
... (失敗した試行のメモリからの概算、および明確にするための空白行、docsalvageによって2014-07-10を追加しました)grub rescue> ls (hd0,4) (hd0,3) (hd0,2) (hd0,1) grub rescue> ls (hd0,4)/boot ... some kind of 'not found' message grub rescue> ls (hd0,3)/boot ... some kind of 'not found' message grub rescue> ls (hd0,2)/boot ... grub ... initrd.img-2.6.32-33-generic ... vmlinuz-2.6.32-33-generic
パーティション上
/boot
のvmlinuz
ファイルを含むディレクトリを見つけました。vmlinuz-2.6.32-33-generic
(hd0,2)
次に、「grub rescue>」プロンプトから手動で起動しました。次のコマンドは...
- パーティション上
root
の/boot
ディレクトリを使用するように設定します(hd0,2)
。 - カーネルモジュールをロードします
linux
。 - カーネルイメージを使用するようにそのモジュールを設定します
vmlinuz-2.6.32-33-generic
。 - initrd(RAMディスクの初期化)を設定して、イメージを使用します
initrd.img-2.6.32-33-generic
。 - Linuxを起動します。
- パーティション上
grub rescue> set root=(hd0,2)/boot grub rescue> insmod linux grub rescue> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic root=/dev/sda2 grub rescue> initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic grub rescue> boot
これは起動してBusyBoxプロンプトにクラッシュしますが、このプロンプトには基本的なファイルシステムコマンドがいくつかあります。
次に、*。modファイルを
/boot/grub
ディレクトリに戻しました...busybox> cd /boot busybox> mv mod/* grub busybox> reboot
再起動は成功しましたが、それは大変な作業でした。
もっと簡単な方法はありますか?
grub> linux (hd0,X)/boot/vmlinuz-a.b.c-d-generic root=/dev/sdaX
、X
とのパーティションで/boot
、a.b.c-d
カーネルのバージョンです。その後、システムが正常に起動しました!ありがとう!