GRUBレスキュー-エラー:不明なファイルシステム


59

マルチブートシステムをセットアップしています。システムには3つのドライブがあります。マルチブートは、Windows XP、Windows 7、Ubuntuで構成され、すべて最初のドライブにあります。ドライブにはパーティション化されていないスペースがたくさん残っていたので、他のOSを追加したり、将来そこにファイルを保存したりするためにそれを予約していました。

ある日、パーティションウィザードをダウンロードして、Windows 7内から論理NTFSパーティションを作成しましたが、まだパーティション化されていないスペースが残っています。数日後にコンピューターを再起動するまで、すべてがうまくいきました。

今私は得ています:

error: unknown filesystem.  
grub rescue>

まず、次のことを試して、ヘルプコマンドが見つからないことに驚きました。

help?man--help-hbashcmd、など

今、私は起動不可能なシステムで立ち往生しています。私はこの問題を調査し始め、人々が通常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をダウンロードしました。「推奨される修復(最も頻繁に発生する問題を修復する)」オプションを選択した後、それはトリックを行うように見えました。


zdnet.com/…には、この件に関する役立つ情報もあります。
K7AAY 14

同様の問題を抱えていますが、私のライブUSBも役に立たないgoo.gl/Mr61V1
Ramesh

Windows 7リカバリCDから起動し、ターミナルを起動し、「Bootrec.exe / FixMbr」と入力して(引用符なしで)起動順序を変更すると、問題が解決しました。
コンスエラ

以前のupdate3ではうまくいきましたが、今は同じ問題があります。grubのレスキューでリストされたフォルダーを試しても動作しません。ubuntu ISOデバイスを使用してデータをバックアップしようとしましたが、既存のubuntuはリストされません。今何をすればいいですか?
ジャックス

これは標準的な質問のようですが、さらに古い質問はUnknown file system:grub rescueです。
ピーターモーテンセン

回答:


25

以下がgrubを修正しなかった理由を理解できませんでした:

sudo update-grub
sudo grub-install /dev/sda

そこで、GRUBレスキューポストに入力されたPersistコマンドからの回答に基づいて、ブート修復をダウンロードしました。「推奨される修復(最も頻繁に発生する問題を修復する)」オプションを選択した後、それはトリックを行うように見えました。

また、Grub Customizerを使用して、ブートエントリの順序をカスタマイズしました。


最後のコマンドを実行した後、sudo update-grubを再度実行する必要があるため、機能しませんでした。ライブセッションでは、ターゲットファイルシステムをmntにマウントし、ファイルシステムにchrootしてから、chrootからsudo update-grubを実行する必要があります。
mchid

この回答(ブート修復のインストールと使用)および質問からの情報を使用して、GRUBメニューの「Windows Recovery Environment(loader)(on /dev/sda1)」で間違った項目を選択したAcerネットブックでの回復に役立ちました、起動時。
ピーターモーテンセン

7

この問題には別の原因があります。この特定のケースでは、GRUBが何らかの理由で破損しており、修復または再インストールする必要がありました。ただし、Grubレスキューに示されているように、「ブート修復」でエラー「不明なファイルシステム」が表示され、GRUBがインストールされているルートパーティションが破損している可能性もあります。これを修正するには:

これは可能な解決策ですが、ルートパーティションがさらに破損しないように、使用しないでください。コマンドを実行するとfsck -t ext4 /dev/sda1、このプログラムは破損したファイルシステムのエラーを検索して修復しようとします。sda1を実際のルートパーティションに置き換えます。ext4を実際のファイルシステムに置き換えます。ファイルシステムを知る必要があります。そうしないと、パーティションがさらに破損します。詳細については、破損したファイルシステムの修復を参照してください。


この質問には答えがありますが、私のために働いた問題を解決する別の方法があります。手順については、初心者向けのビデオ「Grub Rescue-ガイド」をご覧ください。つまり、GRUB 2を修復するのではなく、完全に再インストールします。

このビデオは見るのがとてもつらいので、以下の手順をリストします(ビデオを見るのがどれほど苦痛であるかに関係なく)

  1. Ubuntuのライブセッションを開始します。ビデオではライブCDを使用しますが、ライブUSBを使用しました。ライブUSBには、ハードドライブと同じバージョンのUbuntuが含まれていることを確認しました。
  2. ルートパーティションがマウントされた場所を見つけます。ビデオでは、ユーザーはNautilusを使用して、マウントされた各ドライブをナビゲートします。数字と文字の長い文字列でマウントされました。この場合は、次の手順に従ってパーティションを再マウントしてください。それ以外の場合は、手順5に進みます。
  3. Ctrl+ Alt+で端末を起動しTmountコマンドを使用してパーティションの名前を見つけます。
  4. パーティションをマウントします。メディアフォルダーに新しいフォルダーを作成します。sudo mkdir /media/ubuntu。次に、パーティションをそのフォルダにマウントします。sudo mount /dev/sdxx /media/ubuntuここでxxsdxxステップ3で決定されます。
  5. ライブCD / USBのルートディレクトリから、次のディレクトリをUbuntuのバージョンのルートディレクトリのディレクトリにバインドします。ディレクトリがあるdev procsys。次のコマンドを使用してください。

    sudo mount --bind /dev /media/ubuntu/dev
    sudo mount --bind /sys /media/ubuntu/sys
    sudo mount --bind /proc /media/ubuntu/proc
    
  6. ルートディレクトリをUbuntuパーティションのルートディレクトリに変更します。 sudo chroot /media/ubuntu/

  7. 上記を行った後、GRUB 2を再度インストールすると、ライブCD / USBのルートディレクトリではなく、Ubuntuのディストリビューションのルートディレクトリにインストールされます。さあ、走ってsudo grub-install /dev/sdx

そして、それがライブCD / USBを使用してGRUBを修正する方法です。この方法は、YouTubeユーザーcrazytechzoneによって開発されました。


6

つかいます:

  1. set prefix=(hdX,Y)/boot/grub。前に決定した値を使用します。
    例:Ubuntuシステムがsda5にある場合、次を入力します。
    set prefix=(hd0,5)/boot/grub
  2. set root=(hdX,Y)。例:set root=(hd0,5)
  3. insmod normal。通常のモジュールをロードしてみます。
  4. normal

基本的には、/boot/grubフォルダの場所を知るためにGRUBが必要です。これが機能しない場合は、ブートCDからGRUBインストールを実行するのが適切なオプションだと思います。


ご協力ありがとうございます。私の問題は、ブートディレクトリが/ dev / sdaではなく/ dev / sdbにあることであると思われます。しかし、ブート修復によって自動的に修正されたため、それ以上何もする必要はありませんでした。
-user53817

3

面白いことに、私も1時間前に同じ問題を抱えていました!

とにかく、これは私がやったことです。

  1. ubuntuをロードします。

    set root=(hd0,6)
    set prefix=(hd0,6)/boot/grub
    insmod normal
    normal
    

    あなたのubuntuが6にインストールされているので正しいですか?

  2. 実行端末:

    sudo -i *to access root*
    grub-install --root-directory=/mnt/ /dev/sda
    sudo update-grub
    sudo grub-install /dev/sda
    

回答いただきありがとうございますが、回答を投稿する前に、ブート修復ツールを使用してgrubを修正しました。この投稿をソリューションで更新しました。私もあなたの方法を試してみたかったのに。
-user53817

2

Ubuntuにブート修復をインストールする

  1. UbuntuライブCDまたはライブUSBでコンピューターを起動します。

  2. 「Ubuntuを試す」を選択します

  3. インターネットに接続する

  4. 新しいターミナル(Ctrl+ Alt+ T)を開き、次を入力します。

    sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
    
  5. を押しEnterます。

  6. 次に入力します:

    sudo apt-get install -y boot-repair && boot-repair
    
  7. を押しEnterます。

ブート修復の使用

ここに画像の説明を入力してください

推奨修理

  1. 次のいずれかからブート修復を起動します。

    a。ダッシュ(画面の左上にあるUbuntuロゴ)

    b。または、[システム]-> [管理]-> [ブート修復]メニュー(Ubuntu 10.04のみ)

    c。または、ターミナルで「boot-repair」と入力して

  2. 次に、「推奨修復」ボタンをクリックします。修復が完了したら、紙に記載されているURL(paste.ubuntu.com/XXXXX)をメモし、再起動して、OSへのアクセスを回復したかどうかを確認します。

  3. 修復が成功しなかった場合は、電子メールまたはフォーラムであなたを助ける人にURLを示します。


@penreturnありがとうございました、これは素晴らしく機能しました。:D
ジールシャー

0

問題の別の原因は、まれに、ブートドライブ上のファイルシステムがクラッシュする可能性があることです。他の回答で述べたように、最初にlsコマンドを使用してGRUBレスキュープロンプトのすべてのドライブ/パーティションを一覧表示しますが、すべてが不明なファイルシステムエラーを報告します。私はついにUbuntu 16.04(Xenial Xerus)で次のようにファイルシステムを回復することで問題を修正しました:

  1. USBスティックから起動します(インストールせずにUbuntuを試してください)

  2. ブートドライブを見つけます(ドライブの容量を確認するか、fsck各パーティションで実行します)。

    sudo fdisk -l
    
  3. ファイルシステムを回復します。

    sudo fsck /dev/sdb1
    
  4. ファイルシステムが修正され、クリーンになったら、ブートドライブからマシンを再起動します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.