お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2019-05-09 15:10:43

temm
メンバ
登録日: 2016-07-09

grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

Lubuntu18.04LTSを新規インストール後の再起動で、以下のメッセージがでます。

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

ネット上にgrub rescue に関する記事は多いですが、多くが >の後にIs を打つのを勧めています。
そこでIsを入れてEnterを押しましたが、grub rescue>が繰り返されるだけです。

BIOSを出してUSBを最下位に置いてみましたが、同じ結果でした。

ご教示いただければ幸いです。

オフライン

 

#2 2019-05-10 09:09:26

shingen
メンバ
登録日: 2012-08-20

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

こんにちは。
grub rescueについて、詳しいスキルはありませんが、
間違いだけ指摘します。
temmさんの投稿では、アイエスになっています。
アイエスIsではなく、エルエスlsです。小文字のエルとエスです。
それでやってみて、またわからないところが出れば、そこでまた質問されたらいいと思います。

オフライン

 

#3 2019-05-10 15:55:26

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

ご返答ありがとうございます。
grub rescue>lsと打つと、(hd0)(hd0,msdos1)と出たので、ネット情報を参考にgrub rescue>ls (hd0,msdos1)と続けると、Filesystem is ex2と表示されました。
次にgrub rescue >set prefix=(hd0,msdos6)/boot/grubと入れるよう指示があるのですが、predfixの後の「=」をどうしても出せなくて困っています。
Shift+=では出ません。他のどのキーを押しても出ませんでした。括弧を出すのも実際のキーボードの配置とずれていました。
大変基本的なことかもしれませんが、ご助言いただければと思います。

オフライン

 

#4 2019-05-10 16:08:01

array
メンバ
登録日: 2007-03-13

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

USキーボードがデフォルトなので、どこかでUSキーボードのレイアウト図を印刷しておくとよいです。

オフライン

 

#5 2019-05-10 16:15:59

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

temm による投稿:

ご返答ありがとうございます。
grub rescue>lsと打つと、(hd0)(hd0,msdos1)と出たので、ネット情報を参考にgrub rescue>ls (hd0,msdos1)と続けると、Filesystem is ex2と表示されました。
次にgrub rescue >set prefix=(hd0,msdos6)/boot/grubと入れるよう指示があるのですが、predfixの後の「=」をどうしても出せなくて困っています。
Shift+=では出ません。他のどのキーを押しても出ませんでした。括弧を出すのも実際のキーボードの配置とずれていました。
大変基本的なことかもしれませんが、ご助言いただければと思います。

起動直後で日本語関連の設定が何も行われていない状態のときには、USキーボード配列になっています。
普通のJIS配列キーボードだと、0キーの2つ右のキーのようです。
参照: http://www.nagasaki-gaigo.ac.jp/toguchi/pc/multilingual/keyboard_us_jis.htm

オフライン

 

#6 2019-05-11 03:25:58

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

ありがとうございます。=を出すことができました。

ネット情報を参考にいくつかの対処法を打ちましたが、どれもうまくいきません。
その一例を以下にあげます。

grub rescue>set prefix=(hd0,msdos1)/boot/grub
grub rescue>root=(hd0,msdos1)
grub rescue>insmod normal
error:attempt to read or write outside of disk 'hd0'
grub rescue>normal
Unknown command 'normal'

ご助言いただければ幸いです。

オフライン

 

#7 2019-05-11 11:50:37

shingen
メンバ
登録日: 2012-08-20

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

こんにちは。
error:attempt to read or write outside of disk 'hd0'でこのフォーラム内を検索しますと
何件か出てきます。
よく似た現象のものは2件。
1,https://forums.ubuntulinux.jp/viewtopic.php?id=19228
2,https://forums.ubuntulinux.jp/viewtopic.php?id=18540

1については、”boot-repairを試してみます”というところで終わっていて、結果はわかりません。
2については解決したということになっています。
解決方法は、grub rescueを使って解決したのではなく、違う方法で再インストールしたようです。

grub rescueを使って、再度これが出てしまう以上、これを使った解決は難しいように思います。

2,https://forums.ubuntulinux.jp/viewtopic.php?id=18540
を参考にして、再インストールに挑戦されてはどうでしょうか。と言っても具体的には何も書かれていません。

temmさんの、インストールに関する情報が全くありませんので、単純に言ってしまうことはできないですが、
インストール方法では、自分でパーチションを設定できるようにして、(その他のインストール)
/パーティション(ルートパーティション)とは別に、
/bootパーティション(ブートパーティション)を作ってインストールするというものです。
英語になりますが、
https://askubuntu.com/questions/397485/what-to-do-when-i-get-an-attempt-to-read-or-write-outside-of-disk-hd0-error/398808
ここにもそのようなことが書かれています。
挑戦してみる価値はあると思いますがどうでしょうか。

オフライン

 

#8 2019-05-11 13:28:20

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

ご返信ありがとうございます。

Lubuntu公式HPからDLした18.04LTSを、rufusというアプリを使ってUSBメモリに入れ、ディスク全消去を選んでインストールしました。

教えていただいたURLの中でコマンドを打つ指示はいくつか試しました。
共通するのは、grub rescue>の後に、insmod normalを入れると、'/i386-pc/normal.mod' not found
またはerror:attempt to read or write outside of disk  'hd0'と出て進まなくなることです。

insmodを調べてみましたが、よくわかりませんでした。

ご助言いただければと思います。

オフライン

 

#9 2019-05-11 20:38:25

shingen
メンバ
登録日: 2012-08-20

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

こんにちは。
参照にしたURLはいずれも、grub rescue>の手法では、解決できなかったということです。
この方法で、また別の解決方法があればいいですが、なかなか無いようです。
temmさんが調べられた、ネット上のgrub rescue に関する記事は多いもののすべてうまく行っている報告ばかりだと思います。

ここにほとんど同じ状況の報告があります。
https://askubuntu.com/questions/972357/not-able-to-grub-rescue-with-error-attempt-to-read-or-write-outside-of-disk-hd

そこではこう言っていいる人がいます。
This is a very old error that only happens in very old hardware and this is what you probably need: askubuntu.com/a/398808/692175 .
古いハードウエアーと言ってもいつ頃なのかわかりませんが、ありがちなことだと言っているようです。
(temmさんのハードが古いかどうかはわかりませんが。)
解決策として、https://askubuntu.com/a/398808/692175
を参考に上げています。

これは、2,https://forums.ubuntulinux.jp/viewtopic.php?id=18540において
softshotyuさんが、”パーティションを自分で設定したら無事に起動しました”と言っている方法と同じことです。
したがってっ実績上うまく行く可能性があると判断しました。
それを#7で提案したつもりです。
しかし、再インストールというのは手間もかかり、実際にうまく行くかどうかもわかりませんし、インストール方法をまた調べ直さなくてはなりませんので、大変なことはわかります。
したがって、ここは、時間をかけて、grub rescue>の対策がわかるスキルの勝る方がコメントくれるのを待ちましょう。
中途半端なコメントをしてしまって申し訳ないです。

オフライン

 

#10 2019-05-11 22:32:10

Templer
メンバ
登録日: 2009-07-08

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

コード:

error:attempt to read or write outside of disk 'hd0'

ことある毎にこのメッセージが表示される状況はGRUBが遠くにあるUbuntu(Lubuntu)のパーティションを見つけることが出来ない状況と思えますので(GRUBはUbuntuのパーティションの「/boot」ディレクトリーにあるgrub.cfgやモジュールなどのパーツを読み込む必要があります)、grubプロンプトから起動させることは出来ないはずです。
shingenさんが提示されているリンクに「/bootパーティションを手前のほうに作る」的なものが書かれていたりするのは、GRUBがパーティションを認識できる範囲に持ってくるためです。

オフライン

 

#11 2019-05-11 23:45:48

Templer
メンバ
登録日: 2009-07-08

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

すみません。他に気を取られていたもので、読みにくくなっていますね。書き直します。

コード:

error:attempt to read or write outside of disk 'hd0'

ことある毎にこのメッセージが表示される状況はGRUBが遠くにあるUbuntu(Lubuntu)のパーティションを見つけることが出来ない状況と思えますので、grubプロンプトから起動させることは出来ないはずです。
shingenさんが提示されているリンクに「/bootパーティションを手前のほうに作る」的なものが書かれていたりするのは、GRUBが見える範囲にパーティションを持ってくるためです。

オフライン

 

#12 2019-05-12 08:55:16

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

ご返答ありがとうございます。

18.04LTSの再インストールを試みました。

shingenさんのご助言に従って、「その他」を選びましたが、「ハードファイリングシステムが定義されていません」「パーティショニングメニューを修正してください」と表示され、どうしていいかわからなかったので、「その他」の上にあった「インストールにLVMを使用」にチェックを入れて、インストールしました。

LVMが何は知りませんが、パーティションが簡単に作れるというようなことが書いてありました。

インストール後、再起動すると、残念ながら grub rescue> が現れました。

PCはInspiron 6000というノートPCで古いですが、16.04LTSでは問題なく使えていました。

オフライン

 

#13 2019-05-12 10:27:19

shingen
メンバ
登録日: 2012-08-20

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

こんにちは。

LVMについては、使い方等何も知りませんが、うまく/bootパーティションが作成できましたか。
パーティションが作成されているかどうかの確認方法
インストール用USB(ライブ)を使います。
ライブを起動して、”インストールをせずubuntuを試す”からライブubuntuを起動します。
メニュー/設定/ディスク を作動させる。(多分設定だったと思うのですが、シスタムだったかもしれません)
パーティションが確認できます。/bootにマウントされていますか。

もしパーティションがうまくできていなければ、再インストールになりますが、自分の知る方法を記載しておきます。

1,ライブから、ハードディスクのパーティションを作成する。
 gpartedを立ち上げる。
 ひとつ目のパーティションを約1024MB取る。
 残りを全部2番めのパーティションにする。

gpartedの使い方は、下記が割合詳しいように思います。他にもたくさんあると思います。
https://pctrouble.net/software/gparted.html

2,インストール
 インストールのときに”その他”を選択してインストールする。
 デバイス一覧のGUI画面が出てきます。
 gpartedでうまくパーティションができておれば、下記となっているはず。
                      type          size
 dev/sda1       ext4         1024MB
   dev/sda2       ext4         残り

 dev/sda1を選択(この行の色が変わる)
 表の下の + を押す。
 パーティションを作成の画面がでる。
 サイズ           1024のまま
 パーティションのタイプ   基本パーティションにチェック
 新しいパーティションの位置 始点
 利用方法          ext4ジャーナリングファイルシステム
 マウントポイント      /boot    #ここが重要です。
   okを押す。

 次に
 dev/sda2を選択
 表の下の + を押す。
 パーティションを作成の画面がでる。
 サイズ           残り
 パーティションのタイプ   基本パーティションにチェック
 新しいパーティションの位置 始点
 利用方法          ext4ジャーナリングファイルシステム
 マウントポイント      /      #sda1とここの違いに注意
   okを押す。

どこかの時点で、初期化するかどうか聞いてきます。初期化してください。
あとはいつもどおりインストールに進んでください。

図がないので、説明が難しいですが、
ここなどの画面をみて頭に入れてください。
https://kledgeb.blogspot.com/2014/05/uefi-win81-ubuntu1404-7-ubuntu.html

以上です。

オフライン

 

#14 2019-05-12 15:22:16

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

詳しいご返信ありがとうございます。

Gpartedを立ち上げると、PCのHDD全体が一つとして表示され、パーティションはありません。
右クリックし、リサイズから1024MBと入れましたが、HDDの全体容量の数字に戻ってしまいます。
1024MBまで縮める矢印を動かすこともできません。
右クリックからDeactivateした後にやっても同じです。

ご助言お願いします。

オフライン

 

#15 2019-05-12 19:07:57

kznj
メンバ
登録日: 2013-12-03

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

temm による投稿:

shingenさんのご助言に従って、「その他」を選びましたが、「ハードファイリングシステムが定義されていません」「パーティショニングメニューを修正してください」と表示され、どうしていいかわからなかったので、「その他」の上にあった「インストールにLVMを使用」にチェックを入れて、インストールしました。

lvmを入れたら問題を複雑にするだけではないですか?
 
lvmを使わない場合と使った場合で、下記のようにディスクのパーティションとファイルシステムの間の対応関係が違ってきます。

≪lvm無し≫
物理ディスク:/dev/sda
   │
(パーティション切り出し)
   ↓
パーティション:/dev/sda1 
   │
  (mkfs)・・・パーティションに対してファイルシステムを構築する
   ↓
ファイルシテスム("/"配下が見える)

≪lvms有り≫
(パーティション切り出しまでは"lvm無し"と同じ。もしくはlvmでPVを作ることでパーティションを切り出す)
パーティション:/dev/sda1
   │
  (PV認識)・・・PV(Physical Volume:物理ボリューム)
   ↓
PV:/dev/sda1(バーティションと同名)
   │
  (VG構築)・・・1個以上のPVからVG(Volume Group:ボリュームグループ)を作る
   ↓
VG:VolumeGroup(名前は任意で付与可能。lvmによるデフォルトは"VolGroup00"など)
   │
  (LV切り出し)・・・1個のVGからLV(Logical Volume:論理ボリューム)を切り出す
   ↓
LV:LogicalVolume(名前は任意で付与可能。lvmによるデフォルトは"LogVol00"など)
   │
  (mkfs)・・・LVに対してファイルシステムを構築する
   ↓
ファイルシテスム("/"配下が見える)

https://i1.wp.com/www.hachim.jp/wordpress/wp-content/uploads/2017/05/Capture-2017-08-20-10.05.50.gif?resize=738%2C459
 
lvmにしてしまうとファイルシステムはLV上に構築されるので、パーティション/dev/sda1はデータのブロックの連続体でしかなくなります。
従って、/dev/sda1 を mount して中を見ることが出来なくなり、mount して見る場合には /dev/mapper の配下にある <volume_group>-<logical_volume> で識別されるデバイスを使うことになります。
lvm を使うとこのように間に介する階層が増えるだけで問題が複雑になるだけだと思います。
 
また、質問者の方が lvm を使ってインストールした現在の状況は、"当方が想像する"に
 1物理ボリューム ー 1ボリュームグループ ー 1論理ボリューム ー "/" 配下が1つの論理ボリューム上にある
になっていて、/dev/sda1に直接 "/" 以下のファイルシステムを構築したのと変わらず、lvm を使った意味があまりなさそうです。
それとも、lvm を使ってインストールした時に複数の論理ボリュームを切り出す手順を経由したでしょうか?
 
単に "/boot" パーティションと "/" パーティションを別にしたいだけなら、インストール時に「新しいLubuntuのインストールにLVMを使う」では無く「それ以外」を選べばいいはずです。
それが「ハードファイリングシステムが定義されていません」のエラーになったならそのエラーを解決したほうが無難(←単純なパーティション分けが出来ないという事態はそのままに出来ない)であって、代替手段は lvm を使うことでないと思います。
 
インストールをする前に、一度「インストールをせずLubuntuを試みる」や「ディスクの破損をチェックする」をしてハードディスクの現状を把握したほうが良いのではないでしょうか?
その上で、質問者の方がインストールされようとしている物理ハードディスクの中に特段残して置きたいファイルその他が無いのであれば、「インストールをせずLubuntuを試みる」の中でハードディスクを初期化してまっさらにし、その後でインストールを行うという選択肢もあると思います。
 
 
以上です。

オフライン

 

#16 2019-05-12 21:20:00

rohizuka
メンバ
登録日: 2009-06-25

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

temm による投稿:

PCはInspiron 6000というノートPCで古いですが、16.04LTSでは問題なく使えていました。

2005年製でHDDは当時のままなんでしょうか?一度16.04でインストールしてみてください
それでもgrub rescue>に落ちるのなら、HDDが限界にきてるんだと思いますよ。

オフライン

 

#17 2019-05-13 16:23:01

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

ご返答ありがとうございます。

kznjさんのお答えから、Gpartedでパーティションがつくれないのは、前回のインストール時にLVMにチェックを入れたためと思ったので、フォーマットした後に試みると、パーティションをつくれました。

後はshingenさんのご教示に従いましたが、その通りにいかなった点があります。

1024MBではなく約4GBが最小限界でした。
「その他」を選んだ後dev/sda1を選択して+を押すとありますが、+はグレイアウトして押せませんでした。
そのかわり一番下の逆三角をクリックしてブートローダーはsda1を選びました。
sda2のマウントポイントは指示通り / にしました。

Lubuntu18.04のインストールが終わって再起動したところ、残念ですが、grub rescueが現れました。

このDell Inspiron6000は、240GBのSSDを使ってはいますが、やはり古いので、Lubuntuよりも軽快かもしれないLynux Mint Xfce版を試そうかと思ったりもします。

ご助言いただければ幸いです。

オフライン

 

#18 2019-05-13 19:13:15

pensioner
メンバ
登録日: 2010-02-15

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

 ベテラン諸氏のやり取りに横から失礼します。何度もこのトピックを読み返してみましたが、事情がよくわかりません。どのようにインストールしたのか書かれていないからです。マルチブートならスルーしてください。
普通Linuxをインストールする場合、デフォルトでMBRモードになるのではなかったですか。その場合、Grubはパーティションに入れるのではなく、デバイスに入れます。例えば、
sdaの下にsda1を作ったときOSのインストールはsda1のルートに行い、Grubはsdaを指定します。たしかパーティションからは起動できなかったと思います。

オフライン

 

#19 2019-05-14 00:35:07

shingen
メンバ
登録日: 2012-08-20

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

temmさん、こんにちは。
さて、うまく行ってなくて焦っているのでしょうが少し論点を整理しときましょう。

1,わたくしの提案したことには大きな抜けがあったようです。
 しかし、それについては、#16 rohizukaさんの指摘、あるいは、#15 kznjさんの示唆がフォローしてくれているように、
”ハードディスク(もしくはSSD)が壊れているのではないですか” ということです。
ですから、この面からも確認が必要になります。というかこれが先かもしれません。

2,/root と /  に分けてインストールするという提案に、うまくできないというのがなぜなのか一向につかめません。
 temmさんの報告では、断片的にうまく行かなかったと言われていますが、何をしたからそうなったのか全く見えてきません。
(ハードディスクしか私は経験がないので、SSDでは違うのでしょうか。そこのところはわかりませんが。)
しかし、うまく行かないのであれば、見切るしか無いでしょう。


3,”Lynux Mint Xfce版を試そうかと思ったりもします。”と言われていますが、これについては全く知らないので、なにもいえないところです。
壊れているのなら、これでもだめでしょう。

以上ですが、これは自分自身のための論点整理かもしれません。

オフライン

 

#20 2019-05-15 20:39:44

kznj
メンバ
登録日: 2013-12-03

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

当方も状況まとめてみました。
 
1) 現在までの状況のまとめ
 
トピック原文と過去のレスのやり取りを見て現在の状況をまとめると……以下のような感じかと思います。
 
・インストール対象ハードウェア:DEll Inspiron 6000 ( Inspiron 6000 価格.comパッケージ > スペック情報 )
 CPU:Pentium M 730 1.6GHz/1コア (32bitCPU  Intel64未対応)
 メモリ:512MB
 ストレージ:インタフェースUltra ATA Enhanced IDE (上記のサイトでははっきりしませんが (PDF])nspiron(TM)6000 - Delll によると"ハードディスクドライブ □40GB □60GB □80GB □100GB Ultra ATA Enhanced IDE HDD"とあります。"240GBのSSD"というのもこのインタフェースで接続していると思われます)
・インストール対象distro:Lubuntu 18.04 (i386) ←※ 上記のCPUから判断
・パーティション分割
  a) 1物理ディスク1パーティション("/"のみ)
  b) 1物理ディスク2パーティション("/boot"と"/"を別パーティション)
  ※ GRUBのインストール先は、a)、b)いずれもMBRと推測されます(当方がlubuntu18.04をインストールした時はインストール先を聞かれなかったので)
・トラブル事象
 パーティションの分け方によらずブート時に grub が grubシェルのレスキューモード(grub-rescue)に入ってしまってlinuxが起動出来ない。
 
※ 質問者の temm さん、違っている箇所があったらご指摘をお願いします。
 
 
2) 使っているストレージは大丈夫なのか?
 
ここ数日ストレージの耐久限度超えてるんじゃ?というご意見もあり、たしかに挙動がおかしい気もするのですが、

temm による投稿:

Gpartedでパーティションがつくれないのは、前回のインストール時にLVMにチェックを入れたためと思ったので、フォーマットした後に試みると、パーティションをつくれました。

と言われていて、フォーマットは出来るている(質問者の方がなにをもって"フォーマット"と言っているか不安はありますが……)ようです。もっとも、このフォーマットの段階で大量の「Bad sector」の存在がメッセージで通知されていたら困りますが……
いずれにしろ、ストレージの状態をはっきりさせて「まだなんとか」なのか「もう限界」なのかを見極めて置くことは今後を判断する上で必要だと思います。
現状 grubシェル の段階で止まるような状況ですから、別途DVDなりUSBなりでブートして、マシンに接続されている(おそらく)第一番目のストレージ を検査しておくべきでしょう。
 
この時当方が悩んでしまうのが、質問者の方がターミナル経由の cli 操作に慣れていらっしゃらないんじゃないかという点と、別のトピックも出来てるように新しいパッケージのインストールで不具合が起きそうな点……できれば gui のツールをと思うのですが、インストール直後から入っていて特段インストール不要というディスク検査系のツールというのを寡聞にして知らないもので……
もし「初心者にも簡単に扱える GUI のディスク状態検察ツール」がご存知の方がおりましたら、質問者の方に教えてあげてください( ubuntu 公式リポジトリかPPAのものに限ります )
 
 
3) 「>grub-rescue」に陥る理由
grub が rescueモードに陥るは、BIOS/EFIから制御を渡されたBootLoaderが、カーネル(ここではlinuxのvmlinuz-x.y.z-p-generic)とINITRD(initrd.img-x.y.z-p-generic)のファイルをロードする処理の段階まで達せられなかったたからです(実際には後述するようにカーネルのロードのもう一つ手前でgrubの設定ファイル grub.cfg が読み込めていません)。
 
wikipediaの GNU GRUB ー 起動トラブルについて には2つほど記述があって
・「error: no such partition. → GRUB2の設定ファイルが保存されているパーティションが見つからない場合
  grub rescue>」
・「error:invalid extent  → GRUB2のgrub.cfgを読み込んだ上で何らかのトラブルが生じた場合
  grub rescue >」
前者は、パーティション構成含めて grub 関係の配置がおかしい/壊れた/ファイルが参照出来ない状況で、
後者は、grubの設定ファイル grub.cfg の解釈時の問題です。
 
質問者の方が提示してくださっているメッセージは上記の2つとは厳密には違っていますが、grub.cfg の中身を見るより前の時点のもので、前者に類するものに見えます。

temm による投稿:

error:attempt to read or write outside of disk 'Hd0'
Entering rescue mode

 
 
4) normal.mod の位置づけ
 
normal.mod は、grubのモジュール(特定のファイルシステムを見えるようにしたり、grubメニューを特定のビデオカードで表示出来るようにする機能追加)の一つです。
normal.mod は「insmodで組み込まれた後、コマンド normal を実行することで、normal モードに入り、GRUB メニューを表示します。normal モードでは、関係するコマンド、ファイルシステムのモジュール、暗号化モジュールが自動的にロードされ、完全なGRUBスクリプトパーサーが有効になります。また、コマンド normal のパラメータとしてファイル名が指定されていない場合は、$prefix/grub.cfg を読み込みます。」
(GNU GRUB Manual 2.02 > 16.3.51 normal)
 
極めて大雑把に言ってしまうと、grub のメニューの表示を可能にする機能が入っているのが normal.mod で、コマンド normal の実行でそれを実現します。
 
ネットで見かける記事は、なんらかのトラブルで"grub rescue>"に陥った時に、この"normal.mod"を有効にして grub メニューを表示させ、通常通りにlinuxを起動させるという手順です。
 
その場合に前提として成立していないといけないのが以下の2つです。
a) normal.mod が存在している
b) insmod で nomal.mod を組み込むことが出来る
 
a)については、normal.mod をはじめとするモジュールは、通常 /boot/grub/i386-pc/ 配下にあるので、(hd0,msdos1) がブートパーティションだとして、以下の 絶対パス指定の ls コマンドで確認出来ます。
 grub-rescue>ls (hd0,msdos1)/boot/grub/i386-pc/
  または
 grub-rescue>ls (hd0,msdos1)/boot/grub/i386-pc/normal.mod
この結果の中に normal.mod が出てこなかったり、error: file '〜〜' not found になるなら、normal.mod が無くなったか、なにかの原因で所定のディレクトリから移動してしまったか、ファイルとして見えなくなっている場合です。
(ただし、後者のコマンドの結果が "error: not a directory" となった場合、file としては存在するそうです。 再起動したらgrubメニューが表示されずgrub rescueが登場したときの話 「本当にないファイルを指定してlsを打つとnot foundになり、存在する けどディレクトリではないものを指定してlsを打つと not a directory とエラー表示されるようです。」 )
 
b)については、絶対パスで検索したnormal.mod が存在すれば、同じく絶対パス指定で コマンド insmod を使ってモジュールを組み込むことが出来るはずです。
 grub-rescue>insmod (hd0,msdos1)/boot/grub/i386-pc/normal.mod
ただ困ったことに「ls の結果 normal.mod が存在しても、insmod からは認識出来ずモジュール追加出来ないことはある( Ubuntuアップグレード (12.04 → 14.04.1) でgrubトラブル「lsはnormal.modが在ると言っているのだがinsmodでは見つからない。」 )」ようです。
その場合は、簡単に normal モードに入ることは出来ません。
 
※ 上記の手順を、(トラブってこそいませんが)当方の環境で意図的に grub シェルに入ってみて実行した結果、メニューを表示することが出来ました。
 
 
5) 手動で カーネル をロード出来るか?
 
モジュール normal.mod の主たる目的は、grub メニューの表示とそこから選択したカーネルのロードです。
 
他方、この手順を経由しなくても、直接カーネルをロードすることは出来ます。
その場合に前提になるのが以下の2つです。
a) カーネル(vmlinuz-x.y.z-p-generic)のファイルが存在して参照出来る
b) initrd(initrd.img-x.y.z-p-generic)のファイルが存在して参照出来る
 
2つのファイルの存在は、(hd0,msdos1) がブートパーティションだとして、以下の 絶対パス指定の ls コマンドで確認出来ます。
 grub-rescue>ls (hd0,msdos1)/boot/
 
この結果がだいたい次のようになって、initrd.img* と vmlinuz* に同一のバージョン数値を持ったものがあれば、カーネルとinitrdは揃っているので手動でロード出来るはずです。

grub/ config-4.18.0-15-generic config-4.18.0-17-generic initrd.img-4.18.0-15-generic initrd.img-4.18.0-17-generic 
memtest86+.bin memtest86+.elf memtest86+_multiboot.bin System.map-4.18.0-15-generic System.map-4.18.0-17-generic 
vmlinuz-4.18.0-15-generic vmlinuz-4.18.0-17-generic 

このような結果にならないとすると、/boot 配下のファイルの整合性が無くなっていることになるので、簡単には手動のカーネルのロードが出来ないと思われます。
 
2つのファイルが揃っていたら、以下の手順でカーネルの手動ブートが出来るはずです(x.y.z-pや、hd0/msdos1/sda1 はご自分の環境にあわせて読み替えてください)。

grub rescue>set root=(hd0,msdos1)
grub rescue>linux  /boot/vmlinuz-x.y.z-p-generic root=/dev/sda1
grub rescue>initrd /boot/initrd.img-x.y.z-p-generic
grub rescue>boot

この手順のどこかで、file '〜〜' not found に類するメッセージが出たなら、左記の normal.mod の場合と同様に「ls の結果では対象のファイルが存在するが、コマンドがそのファイルを認識しない」という状況です。
その場合は、手動でカーネルをロートすることは出来ません。
 
※ 上記の手順を、当方の環境で意図的に grub シェルに入ってみて実行した結果、linux を起動することが出来ました。
 
 
6) 補足

#6:temm による投稿:

grub rescue>set prefix=(hd0,msdos1)/boot/grub
grub rescue>root=(hd0,msdos1)
grub rescue>insmod normal
error:attempt to read or write outside of disk 'hd0'
grub rescue>normal
Unknown command 'normal'

この結果を見る限り質問者の方はネットの記事を無批判にそのまま実行しているように見えます。
例えば、"root=(hd0,msdos1)"は、正しくは"set root=(hd0,msdos1)"だと思います。
その点から、3)の記述では normal.mod のファイル存在確認をした上で insmod に絶対パスで normal.mod を指定する手順にして「前提となるものが存在するかを確認→その上で実行」という形を取っています。
この方法であれば、なにか欠落しているのがはっきりすると思います。
 
 
7) その他……当方も lubuntu18.04(32bit版) をインストールしてみました
 
当方も、こちらlubuntu 18.04 Bionic Beaver released から Download lubuntu i386 (32-bit most PCs before 2007)をインストールしてみました。
といっても、条件を満たすハードを持っているわけではないので、kvm上の仮想マシンとしてです。
ハードディスクは一本でその上に1バーティションだけとしました。
問題なくインストールは完了しました。lubuntuのインストーラーから"grubのインストール先をどこにするか?"というの聞かれませんでした(パーティション分割をすると聞かれるのかも知れません)。
そろそろ10回ほど再起動していますが、grub シェルの rescue モード(grub-rescue)に陥ってしまうことはまだありません。
 
Lubuntu18.04のi386版に起因しているか?を気にしていたたのですが、どうもそうではないようです。
 
 
以上です

オフライン

 

#21 2019-05-17 13:31:09

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

詳しいご返答ありがとうございます。

使っているSSDは購入後半年くらいのもので、16.04LTSのとき挙動におかしいところはありませんでした。フォーマットはGpartedからエラーなく終えました。

18.04LTS再インストールを試みました。

最初に出てくるはずの「HDDの修正」が現れなかったので(理由不明)、「ディスクを削除してインストール」を、今回も選びました。

インストール後のgrub rescueに対して、kznjさんに教えてもらったコマンドを用意していたのですが、今回は正常に起動しました。

理由はわかるはずもありません (笑)

コマンドが無効だったときのために、Linux Mint Xfce版のUSBまで作っていましたが、役立たなくてよかったです。

ソフトウェアの更新を行い、NixNote2を入れ、Chromiumを入れました。
Chromium関連ファイルのうち、Chromium codecs-ffmpegとlibv8-devはインストールできませんでした。

何が効を奏したのかわかりませんが、使っていけそうです。

オフライン

 

#22 2019-05-18 13:46:05

shingen
メンバ
登録日: 2012-08-20

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

temmさん、うまく起動できて何よりです。
結果的に誤ったコメントをして、なんか、違う方向に持っていってしまったようです。
余計な手間を取らせてしまってすいませんでした。
申し訳なく思います。

オフライン

 

#23 2019-05-18 13:52:48

temm
メンバ
登録日: 2016-07-09

Re: grub rescue>に続けてIsを入れても grub…が繰り返す問題にどう対処したらいいのでしょうか

ありがとうございます。
ご返信いただけてありがたかったです。
でも、なぜうまくいったのかがわからないので、すなおに喜べない気持ちです。

オフライン

 

Board footer

Powered by FluxBB