元はAskUbuntu.comに投稿されました...
AskUbuntuは終了のポリシーを採用しています EOL(サポート終了)バージョンに関する質問。それらを削除するためのボーカル条件も存在します。この人気のある質問(これまでのビュー数342335)が失われるのを防ぐために、改訂版をここに配置しています。 --- docsalvager
「クラシック」システム...
GRUB 2 はいくつかの*.mod
ファイル(カーネルモジュール)/boot/grub
。これらのファイルを削除すると(サウンドファイルが誤って配置されたと考えて)、再起動とプロンプトgrub rescue>
。
この状況で回復する方法は?
grubレスキュークラッシュからの回復...
grub rescue>
_は、cd
、cp
、または実際にはls
コマンドの一種であるfind
の独自のバリエーションを除いて、他のファイルシステムコマンドをサポートしていません。したがって、最初に、vmlinuz
およびその他のブートイメージファイルを含む_/boot
_ディレクトリを含むパーティションを見つける必要がありました...
_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
_
ls
は、このシステムの4つのパーティションを返します。ls (hd0,4)/boot
は、パーティション_/boot
_で_(hd0,4)
_ディレクトリを見つけられません。ls (hd0,3)/boot
は、パーティション_/boot
_で_(hd0,3)
_ディレクトリを見つけられません。ls (hd0,2)/boot
は、パーティション_/boot
_で_(hd0,2)
_ディレクトリを検索し、vmlinuz
および必要なその他のブートイメージファイルを含みます。_grub rescue>
_プロンプトから手動で起動するには...
_grub rescue> set root=(hd0,2)/boot
grub rescue> insmod linux
grub rescue> linux (hd0,2)/boot/vmlinuz-2.6.32-33-generic
grub rescue> initrd (hd0,2)/boot/initrd.img-2.6.32-33-generic
grub rescue> boot
_
root
を設定して、パーティション_/boot
_の_(hd0,2)
_ディレクトリを使用します。linux
をロードします。vmlinuz-2.6.32-33-generic
_を使用するようにそのモジュールを設定します。initrd.img-2.6.32-33-generic
_を使用します。これは、すべての基本的なファイルシステムコマンド(といくつかの)がある BusyBox コマンドラインプロンプトで起動します。
次に、_*.mod
_ファイルを_/boot/grub
_ディレクトリに戻します...
_busybox> cd /boot
busybox> mv mod/* grub
busybox> reboot
_
再起動に成功しました!
も参照してください...
この答えは、DocSalvagerの答えが機能しない他の人のためのものです。
ls
の使用法に従って、正しいハードドライブパーティションを見つけました。私の場合は(hd0,msdos5)
。次に、次のコマンドを実行して、通常のGRUBブートローダー画面に戻ります。
grub rescue> set boot=(hd0,msdos5)
grub rescue> set prefix=(hd0,msdos5)/boot/grub
grub rescue> insmod normal
grub rescue> normal
Ubuntuで起動した後、ターミナルから次のコマンドを使用してgrubブートローダーを修復しました。
Sudo grub-install /dev/sda
このプロセスの視覚的なウォークスルーについては、 this source を参照してください。