「ディスク 'hd0'の外部で読み取りまたは書き込みを試みました」というエラーが表示され、ブート修復で問題が解決しない場合はどうすればよいですか?


35

古いコンピューターにXubuntu 13.10をインストールしようとしました。インストール中に問題に関連する可能性のあるいくつかの問題に気付きました。特に:

  1. 画面の解像度は非常に低かった。ウィンドウは画面よりもはるかに大きく、「次へ」ボタンに移動するにはウィンドウを移動する必要がありました。

  2. マウスカーソルは、常に点滅している色のぼかしでした。

インストールが完了し、コンピューターを再起動しようとしました。すぐに私は得た:

error: attempt to read or write outside of disk 'hd0'. 
Entering rescue mode... 
grub rescue>

ブート修復 USBディスクを作成して起動し、デフォルトの修復を選択しました。アプリケーションは、問題が修復され、これで問題が解決しない場合、このリンクを私を助けてくれる人に見せるべきだと言いました。

次に何をすべきですか?UbuntuとXubuntuをインストールしようとしましたが、どちらも成功しませんでした。

編集:

回避策を見つけました。

  1. XubuntuライブUSBを挿入します
  2. 「Xubuntuを試す」を選択します
  3. 設定メニューで[Xubuntuのインストール]を選択します

これで問題は解決しました。解決されているので、答えをテストすることはできません。


回答:


36

次の手法を使用して、Linuxが存在するパーティションを見つけます

grub rescue > ls
(hd0) (hd0, msdos9)
grub rescue > ls (hd0,msdos9)/
grub rescue > ls (hd0,msdos8)/
grub rescue > ls (hd0,msdos5)/ # suppose this is root and bootloader of linux
grub rescue > ls (hd0,msdos5)/
grub rescue > set root=(hd0,msdos5)
grub rescue > set prefix=(hd0,msdos5)/boot/grub
grub rescue > insmod normal
grub rescue > normal

これで、システムのブートメニューが表示されます。Linuxを起動します。

sudo update-grub
sudo grub-install  /dev/sda # If the drive is hd0 the equivalent is sda, if it's hd1 then use sdb

これにより、ブートローダーが修正されます。


17
これが何をすべきかわかりません。あなたは多くのコマンドの地獄を特定していますが、どれも私には意味がありません。もう少し説明テキストを追加してください!なぜmsdos9から5に「カウントダウン」するのですか?「これはlinuxです」とどう思いますか?? 私の場合、(hd0、msdos1)と表示されます!「カウントダウン」できません。ルートとプレフィックスを設定して「insmod normal」を実行すると、以前とまったく同じエラーメッセージが表示されます。ごめんなさい。これは誰もが取り組むことができる答えではありません。:(
Zordid 14

13
入力するinsmod normalとすぐに、「エラー:パーティション外で読み取りまたは書き込みを試行します」というメッセージが再び表示されます。
user643722 14

2
あなたは「これはLinuxだと思う」と言いますが、どのLinuxがどれであるかをどのように見分けることができるかは言いません。insmod normalと入力するたびに、「error:unknown filesystem」が返されますが、これは機能していません。また、なぜこれが最初に起こるのか説明できますか?
msknapp

1
私が得た最高のものは、別のgrubプロンプトです。メニューがポップアップすることはありません。
jbo5112

2
私は@Zordidに同意します-これらのコマンドが何をするのかについての説明のない不可解なコマンドのリストだけでは不十分であるだけでなく、潜在的に危険です。
ヨズム

27

この問題を抱えている他の人の場合:

これは、新しいインストールまたはgrubの修復が機能して再起動する場所で発生していましたが、次に再起動すると、同じ「読み取りエラー」が発生します。ほとんどの場合、カーネルパニックが発生し、コンピューターのハードリスタートが必要になります。

いくつかのアドバイスに従い、これらのパーティション設定を使用して、高度なオプションを使用して新しいインストールを行いました(「ディスクを消去してubuntuをインストールしない」)。

  1. ディスクの先頭に1 GB(1024 MB)ext4パーティションを作成します。「/ boot」にマウント
  2. 「/」マイナススワップ領域にマウントされたext4に目的のインストールスペースを作成します
  3. スワップ用に残りのスペースを使用します。(すべてのパーティションがプライマリになります)
  4. ブートインストールドロップダウンメニューで、「/ boot」パーティションを選択します。デフォルトのドライブルートではありません!

これは、受け入れられた答えのコマンドが「ファイルシステムが認識されない」になったときにうまくいきました。最終的には同じファイルシステムセットを使用することになりましたが、この小さな専用の/ bootパーティションが問題を解決したのです。ありがとう。
-GregHNZ

/ bootが唯一のプライマリパーティションである場合にも機能すると思われます。
アーロンメイソン

これは私にとっても効果があると言うためだけにこのサイトに参加しました。Ubuntuを外付けHDDに配置する際に、小さなブートパーティションが必要でした。ありがとう!
rayryeng-モニカの復活

それは私を助けました:私は大きな(> 5TB)/パーティションを持っていました、小さな/ bootパーティションを追加すると問題が修正されました
-neutrinus

既存のパーティションを削除せずにこれを行うことはできますか?私はすべてのデータがディスクの先頭から始まる大きなパーティションを持っています。
pir

6

Grubのレスキュープロンプトから簡単に解決できます。最初の答えは完全ではなく、最初は同じエラーが出ました。仕組みは次のとおりです。

最初に、プライマリパーティションを見つける必要があります。これは、Linuxの起動に必要な必須ファイルが存在する場所になるため、これを入力します-

Grub> ls

(hd0)(hd0、msdos5)(hd0、msdos1)に匹敵するリストが表示されます。複数のドライブだけでなく、自分とは異なるパーティションがある場合もありますが、プロセスは同じです。

パーティションを検索してプライマリを見つけます-

Grub> ls (hd0)
Grub> ls (hd0,msdos5)
Grub> ls (hd0,msdos1)

grubがそのパーティション上のファイルのリストを出力するか、ファイルシステムのタイプと最終変更日を表示するまで。

2番目に、プライマリパーティションが見つかったら、いくつかの設定が必要です-

Grub> set prefix=(hd0,msdos1)/boot/grub
Grub> set root=(hd0,msdos1)
Grub> set

最後のsetコマンドが実行されると、Grubはさまざまなパラメーターのリストを出力します。次に、正しいルートとプレフィックスを設定したことを確認します-

Grub> ls /boot

Grubは/ bootに含まれるファイルのリストを出力するはずです。

3番目に、マウントポイントを設定し、カーネルをロードする必要があります-

Grub> linux /vmlinuz root=/dev/sda1
Grub> initrd /initrd.img

そして最後にシステムを起動します-

Grub> boot

busyboxシェルでブートすることになった場合は、単に入力しfsck /dev/sda1ます。その後、入力するだけexitで、システムが正常に起動します。


命を救ってくれました、ありがとう!
ティンマ

3

Linuxパーティションをハードディスクの開始点に近づけることで、この問題を解決しました。Linuxパーティションが120 Gb HDDの最後(40 Gbから)にあるときに、この問題が発生しました。どのソリューションも機能しませんでした。Linuxパーティションを40Gbから80Gbにスペースに移動すると、問題はなくなりました。


1
Linuxパーティションをディスクの先頭にどのように移動しますか?
pir

1

何時間も検索した後、私はこの解決策を試みましたが、カーネルを再インストールするのにうまくいきました:

sudo dpkg --configure -a
sudo apt-get install --reinstall linux-image-$(uname -r)

0

virt-manager / QEMU / KVMのOVA仮想マシンパッケージからvmdkディスクを使用したときに、この問題を達成しています。仮想マシンはこのエラーメッセージで失敗していました。

解決策は、vmdkをqcow2に変換することでした。

qemu-img convert -O qcow2 MyAppliance-disk1.vmdk MyAppliance.qcow2

そして、代わりにvirt-managerで変換されたイメージを使用します。


0

UbuntuサーバーとXubuntu 18をDellサーバーにインストールしようとすると、この問題が発生しました。BIOSメニューでレガシーの代わりにUEFIを選択すると、修正されました。

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