マルチブートシステムをセットアップしています。システムには3つのドライブがあります。マルチブートは、Windows XP、Windows 7、Ubuntuで構成され、すべて最初のドライブにあります。ドライブにはパーティション化されていないスペースがたくさん残っていたので、他のOSを追加したり、将来そこにファイルを保存したりするためにそれを予約していました。
ある日、パーティションウィザードをダウンロードして、Windows 7内から論理NTFSパーティションを作成しましたが、まだパーティション化されていないスペースが残っています。数日後にコンピューターを再起動するまで、すべてがうまくいきました。
今私は得ています:
error: unknown filesystem.
grub rescue>
まず、次のことを試して、ヘルプコマンドが見つからないことに驚きました。
help
、?
、man
、--help
、-h
、bash
、cmd
、など
今、私は起動不可能なシステムで立ち往生しています。私はこの問題を調査し始め、人々が通常Live CDから起動してそこから問題を修正することを推奨していることに気付きました。Live CDを使用せずにgrubレスキュー内からこの問題を修正する方法はありますか?
更新
GRUB rescueに入力されたPersistコマンドの手順に従うことで、initramfsプロンプトを起動することができました。しかし、それ以上の場所ではありません。
これまでのところ、grub rescueのマニュアルを読むことから、ls
コマンドを使用してドライブとパーティションを見ることができました。最初のハードドライブについては、次のように表示されます:
(hd0)(hd0、msdos6)(hd0、msdos5)(hd0、msdos2)(hd0、msdos1)
ls (hd0,msdos6)/
ディレクトリを一覧表示するため、(hd0、msdos6)にはLinuxが含まれていることがわかりました。その他は「エラー:不明なファイルシステム」を与えます。
更新2
次のコマンドを実行すると、ブートメニューが表示され、Windows 7とUbuntuを起動できますが、再起動するとこれらの手順を繰り返す必要があります。
ls
ls (hd0,msdos6)/
set root=(hd0,msdos6)
ls /
set prefix=(hd0,msdos6)/boot/grub
insmod /boot/grub/linux.mod
normal
更新3
Shashank Singhに感謝します。あなたの指示で、私は私のステップを以下に単純化しました。私はちょうど6で、私はちょうど行うことができますmsdos6置き換えることができますから学んだinsmod normal
の代わりにinsmod /boot/grub/linux.mod
。ここで、OSを起動せずに、grub自体からこの設定を保存する方法を理解する必要があります。
set root=(hd0,6)
set prefix=(hd0,6)/boot/grub
insmod normal
normal
更新4
まあ、それはLinuxを起動するための要件のようです。Ubuntuを起動した後、マニュアルに記載されている次の手順を実行しました。
sudo update-grub
sudo grub-install /dev/sda
これは問題を解決しませんでした。それでもgrubレスキュープロンプトが表示されます。永続的に修正するには何をする必要がありますか?
また、いくつかのコマンドでは、hd0のようなドライブ番号を/ dev / sdaのようなドライブ文字に変換する必要があることも学びました。hd1はsdb、hd2はsdcなどとなります。grubに(hd0、msdos6)としてリストされているパーティションは、/ dev / sda6に変換されます。
更新5
以下がgrubを修正しなかった理由を理解できませんでした:
sudo update-grub
sudo grub-install /dev/sda
そこで、https://help.ubuntu.com/community/Boot-Repair投稿からの回答に基づいてboot-repairをダウンロードしました。「推奨される修復(最も頻繁に発生する問題を修復する)」オプションを選択した後、それはトリックを行うように見えました。