2台のSATAハードドライブがインストールされたデスクトップがあります。一方にはWindowsがあり、もう一方にはUbuntu 12.04があります。すべて正常に動作します。次に、もう1つのハードドライブをインストールします。これはIDEドライブです。 IDEドライブをインストールした後、Grubは正しいハードドライブをポイントしなくなり、ブートディレクトリが見つからないため、grubのレスキューになります。私のgrub.cfgでは、Ubuntuのインストールはhd1にあります。新しいIDEドライブはhd0になるようです。これは、私のUbuntu(およびブートディレクトリ)がhd2(およびhd1上のWindows)上にあることを意味しますか?もしそうなら、Grubでこれを変更して正しいハードドライブを指すようにするにはどうすればよいですか? GRUBレスキュープロンプトから実行できますか? IDEドライブがインストールされていない状態で起動し、grub.cfgを編集し、コンピューターを切り離し、IDEドライブを接続して起動できますか?ここで間違えた場合、ライブCDからgrub.cfgを編集できますか?または、これを行うためのより良い方法はありますか?
GRUBコマンドラインには、この問題のデバッグに役立つコマンドがいくつかあります。ここでそれらのリストを確認してください: http://www.gnu.org/software/grub/manual/html_node/Command_002dline-and-menu-entry-commands.html
あなたの場合は、ドライブとパーティションGrubファイルの場所。 ls
コマンドを試してください。 Grubではパーティションの命名規則が異なることに注意してください。たとえば、1番目のドライブの2番目のパーティションは(hd0,1)
と呼ばれます(ドライブとパーティションはゼロからカウントされます)。上記のリンクを使用して、ls
コマンドのヘルプの「デバイス構文」セクションを確認してください。/boot/grub
フォルダーの場所が正確にわかるとすぐに、次のコマンドを使用してシステムの起動を試みることができます(以前のドライブ1、パーティション2の例-適切に変更します):
grub> set root=(hd0,1)
grub> set prefix=(hd0,1)/boot/grub
grub> insmod normal
grub> normal
これで、システムが正常に起動するはずです。ログインして、ターミナルからブートローダーを復元します。
Sudo update-grub
Sudo grub-install /dev/sda
(GNU/Linuxがインストールされているドライブの適切な/ dev/sdX名を使用します)。
元のディスクではなく、現在起動中のIDEディスクに古い壊れたgrubをインストールする必要があります。BIOSにIDEの1つ。
DOS/Windowsは他のドライブから起動できないため、BIOSは常に起動しようとしているドライブに(hd0)を割り当てます。