ドライブを再割り当てした後にGrubを再起動するにはどうすればよいですか?

ドライブを再割り当てした後にGrubを再起動するにはどうすればよいですか?

私の設定:opensuse 11.4、ブートパーティションはpendriveにあり、ハードドライブにはsda1、sda2、sdb1パーティションがあります。

今日、コンピュータケースを交換し、誤って2番目のドライブをSATA 2の代わりにSATA 3に接続しました。したがって、2番目のドライブが誤って取り付けられています。コンピュータをシャットダウンして正しく接続した後、問題が発生しました。

これでシステムをまったく起動できません。以前は、リムーバブルドライブから起動するようにBIOS(ペンドライブ)に設定がありましたが、現在コンピュータ(BIOS)ではペンドライブをリムーバブルドライブとして認識せず、通常のHDDをリムーバブルドライブとして認識しているようです。したがって、「リムーバブルドライブ」は起動しません。起動順序を変更してハードドライブから起動することを選択するか(最初のハードドライブをペンドライブとして設定する)、起動メニューから直接ペンドライブから起動するように設定すると、次のエラーが発生します。 GRUBエラー、エラーは回復モードに入ります。

私の考えでは、何らかの理由でペンドライブがリムーバブルメディアとして認識されなくなりましたが、ハードドライブとハードドライブが異なるマップになっているため、マッピングを変更する必要があるようです。

CD インストーラを起動し、pendrive をマウントして grub 構成の内容を表示できますが、grub リカバリモードで "ls" を実行すると、次のメッセージが表示されます。

(hd0)(hd0、msddos1)(hd1)(hd1、msddos2)(hd1、msdos1)(hd2)(hd2、msddos1)

しかし、マッピングが表示されないため、hd0が実際に何を意味するのかわかりません。ここで、hd1には2つのパーティションがあるため、sdaと疑われます(接尾辞msdsosがパーティションを意味する場合)。

Grubを再び機能させるにはどうすればよいですか?

答え1

問題は、grubが実行されているシステムで実行しているときと起動時に別のUSBディスクを見ることです。問題を解決する方法は次のとおりです。

通常、ハードドライブから起動し、grubが表示されたらgrubコンソールを開きます(通常を押すだけですc)。 grubプロンプトで次のように入力し始めますroot (hd

grub> root (hd

次に、を押すと、Tabディスクは可能な完了としてマークされます。ディスクとパーティションを選択してください/boot。不明な場合は、疑わしい項目ごとに次の操作を行います。

  • rootパーティションを選択するには、コマンドを完了してから押してくださいEnter
  • を入力しcat /てタップしますTab。パーティション内のファイルのリストが表示されます。
  • ファイルのリストを見て、カーネル(下)が含まれているパーティションであることを確認してください/boot/
  • そうでない場合は、を押してEsc再起動してください。

grubがパーティションをどのように認識するかを見つけたら、ブートローダを再インストールし(setupコマンドを使用して)、ファイル内の正しいパーティション/ファイルをポイントできます。/boot/grub/menu.lst または /boot/grub/grub.conf(あなたのバージョンで使用するバージョンを決定するか、同じ内容を含める必要があります。)


[編集]:Maciasの特別なリクエストに応じて、grubを使用してMBRを回復する方法の詳細については、次のとおりです。

ドライブにMBRを再インストールする1つの方法は、上記のコマンドをgrub使用することです。setupこれは grub バージョン 0.9X(文書を見る)。しかし、最新のグラブブランチ(1.9X)を使用しているように見え、そのコマンドは異なります。見る該当する文書- このバージョンでは、MBRにgrubをインストールできます。grub-installユーティリティの使用grub-0.97のようなgrub "rescue"プロンプトで他の方法があるかどうかはわかりません。たぶんそうではないかもしれません。おそらく、これが多くのディストリビューションが「レガシー」バージョンを好む理由の1つです。

答え2

このファイルはmenu.lstgrub-legacy でのみ使用されます。 。grub.cfgGrub2はそれなしで動作するのが好きなので、device.mapそれを削除してgrubを再インストールすることもできます。

答え3

この問題に対する解決策は2つあります。一つは、グルーブを修正すること、もう一つはMBRを修正することです。

最初は非常に簡単(?)インストールCD(openSUSE!)でコンピュータを起動し、「回復モード」を選択し、回復モードで実行した後にrootとしてログインし(パスワードは必要ありません)、ペンドライブを挿入してマウント(例) :〜/pendrive)してから次に進みます。 〜/pendrive/grubと2つのファイル(device.mapとmenu.lst)を編集します。両方のファイルでエントリ(hdX)を見つける必要があります。ここで、Xは(通常)0と1です。私の場合、すべての0を1に置き換え、すべての1を0に置き換えます。

MBRを簡単に修正する方法はわかりませんが、Rozcietrzewiaczが解決策を提案できることを願っています。 :-) 場合に備えて最も難しい方法は、他のペンドライブとは異なるハードドライブを持ち、通常のハードドライブをすべて取り出し、模倣を行うことです。元のインストールの「偽」インストールです。すべてが正常に動作し、新しい「偽」システムが起動したら、動作しているペンドライブから機能しないペンドライブにMBRセクタをコピーできます(参照:grubを使用してブートパーティションを完全に再構築するには?)。次のガイドラインに従ってください。

「ここでは、/ dev / sdbが既存のペンドライブであり、/ dev / sdcが新しいドライブであると想定しています。適切なデバイス名に置き換える必要があります。そうしないと、システム全体が壊れる可能性があります。

dd if=/dev/sdc bs=512 count=1 of=/dev/sdb

"(Rozcietrzewiaczのソリューション)

これらの2つのステップは、ディスクの再割り当て後にGrubを再び動作させるために必要なすべてです。

関連情報