お知らせ

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

#1 2010-08-02 09:15:05

PAC
メンバ
登録日: 2008-07-01

GRUB2 の error : no such partition. について

元の環境

 WD製HDD 250GB
 msdosパーティションテーブル
 /sda1 NTFS Vista
 /sda5 NTFS DATA用
 /sda6 NTFS 作業用
 
 HITACHI製HDD 500GB
 /sdb1 ext3 / Ubuntu 9.10
 /sdb2 ext3 home
 /sdb3 swap
 /sdb4 ext3 DATA用

次のように変更しました。
まず物理的にWD製HDD 250GBとWD製HDD 2TB(WD20EARS)の2つにし、HITACHI製はPCから外しました。
250GBのパーティションはそのままを維持し、新HDDにUbuntu10.04をクリーンインストールしました。
big sectorの扱いについてどうなるのか知りたかったのでディスク全体を初期化し、10.04をいれるメニューを選択。
(ちなみにパーティションの先頭のほうを1MBほど自動で切ったみたいです)

 WD製HDD 2TB (WD20EARS)
 GPTパーティションテーブル
 /sdb1 bios_grub
 /sdb2 ext4 Ubuntu 10.04
 /sdb3 swap

すると、GRUB2メニューでVistaが起動しなくなりました。
error : no such device : $UUID
error : no such partition.

-- grub.cfg --
menuentry "Windows Vista (loader) (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    chainloader +1
}

UUIDのエラーについてはバグなのかよくわかりませんが、
以下のトピックをみて編集し解消しました。
https://forums.ubuntulinux.jp/viewtopic.php?id=6494

error : no such partition.
こちらのエラーについてはhd0,1で間違っていないと思うし、
何が原因でおこるのかわかりませんでした。

どうすればgrub2からvistaを起動できるようになおりますか?
9.10を使っていたときにはGRUB2メニューから起動でき、何も問題ありませんでした。
以前の状態からHDDを交換してインストールしたことに問題があったのでしょうか?
vistaのCDでfixmbrしてgrub2を入れ直したらなおるような気もしますが、
扱いが怖いのでそこはまだ試していませんがどうなのでしょうか?

http://ubuntuforums.org/showthread.php?t=1437599
↑ 似た内容でしたがウェブ翻訳した限り、解決しなかったように読めました。

オフライン

 

#2 2010-08-02 13:42:17

pc944
メンバ
From: Japan
登録日: 2010-03-03

Re: GRUB2 の error : no such partition. について

とりあえず、Liveでディスク・ユーティリティを起動して、
Vistaパーティションの記号(/dev/sda4など)を確認、
そして、Live上でVistaのパーティションがマウント(開ける)ことを確認してください。
※Vistaのパーティション消えてたら諦めてくださいね。
 実際にパーティションがないのなら、再インストールしかないので。
nautilus等で見えるけど、マウント時にエラーが出るという場合もあります。
こちらの情報を載せてください。

オフライン

 

#3 2010-08-02 13:57:04

PAC
メンバ
登録日: 2008-07-01

Re: GRUB2 の error : no such partition. について

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

10.04 LiveCDにて起動、ディスクユーティリティにてVistaパーティションは/dev/sda1と確認。
Live上にてマウントできることも確認、nautilusで中のファイルを覗くことも可能な状態です。

また、sdb2にインストールしたUbuntu10.04からもsda1,5,6どれもマウント可能であり、
ファイルをコピーまたは閲覧などできる状態にあります。

以下にsudo parted -l の情報をコピペしておきます。


モデル: ATA WDC WD2500JS-55N (scsi)
ディスク /dev/sda: 250GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
1    32.3kB  52.4GB  52.4GB  primary   ntfs              boot
2    52.4GB  250GB   198GB   extended
5    52.4GB  240GB   187GB   logical   ntfs
6    240GB   250GB   10.5GB  logical   ntfs


モデル: ATA WDC WD20EARS-00M (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
1    1049kB  2097kB  1049kB                          bios_grub
2    2097kB  1991GB  1991GB  ext4
3    1991GB  2000GB  9285MB  linux-swap(v1)

オフライン

 

#4 2010-08-02 15:12:26

PAC
メンバ
登録日: 2008-07-01

Re: GRUB2 の error : no such partition. について

Viva! Ubuntu!!さんのサイト(http://viva-ubuntu.com/?p=3410)を参考にして
Super Grub DiskをダウンロードしてCDに焼きました。

そのSuper Grub Diskで起動、メニューから「Detect any OS」を選択して
検出されたVistaを選択するとあっさりとWindows Vistaが起動しました。 驚愕です。

よって、NTパーティションが破壊されてたりNTローダーに異常があるということはないようです。

/dev/sda1のMBR、/dev/sdb1のコアイメージ、/dev/sdb2にUbuntuと共にインストールされているGRUB2の
どこかに異常があるかまたは自分の使い方に何か問題でもあるのか、バグなのかがはっきりしません。
まったく詳しくないので素人考えなんですがGPTパーティションでコアイメージで動作しているあたりがなにかあやしいような気もします。
もしかするとGRUB legacyのほうがすんなり動作するかもしれない(泣)

とりあえずはSuperGrubDiskでなんでも起動できるので急場はしのげますが、
スッキリしないのでこの現象については自分でも調べ続けてみますけど(なによりいつもCDいれなきゃいけないのが嫌だ)
何か考えられる点や情報などお持ちでしたら教えてください。
また私が開示すべき情報が足りないようでしたらご指摘ください。
まだ初心者に毛がはえた程度なのでその際は具体的なコマンドや操作方法などもそえて頂けると助かります。

オフライン

 

#5 2010-08-02 18:28:47

marin
メンバ
登録日: 2007-02-13

Re: GRUB2 の error : no such partition. について

 GRUB2の起動選択画面で「C」キーでコマンドラインモードになり、手入力で
起動するかどうか試すのもいいと思います。

  grub> ls

           (hd0) (hd0,1).....etc
      このような出力からVistaのCドライブを選びます。PACさんの場合は(hd0,1)ですか。?

  grub> insmod ntfs

  grub> set root=(hd0,1)

  grub> chainloader +1

  grub> boot

もし、これでVistaが起動したらgrub.cfgを書き換えてみて下さい。

オフライン

 

#6 2010-08-03 06:44:41

PAC
メンバ
登録日: 2008-07-01

Re: GRUB2 の error : no such partition. について

レスありがとうございます。
Super Grub Diskで起動、コマンドラインモードに入りlsすると正常に全部みえました。

(hd0) (hd0,6) (hd0,5) (hd0,1) (hd1,3) (hd1,2) (hd1,1) (hd31)

インストールされているGRUB version 1.98-1ubuntu7でコマンドラインモードに入り、
lsしたところ(hd0,1)がみえてません!!!

(hd0) (hd1) (hd1,3) (hd1,2) (hd1,1)

Ubuntu10.04上から端末でgrub-mkdevicemap、update-grubをする限りでは

Found Windows Vista (loader) on /dev/sda1
done

とはでるのですが、なぜ起動時のGRUB2にはパーティションがみえてないんでしょう???

オフライン

 

#7 2010-08-03 08:28:36

kiyop
拒否
From: http://kiyoandkei.bbs.fc2.com/
登録日: 2010-01-23

Re: GRUB2 の error : no such partition. について

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#8 2010-08-03 09:47:41

PAC
メンバ
登録日: 2008-07-01

Re: GRUB2 の error : no such partition. について

レスありがとうございます。

biosdisk part_gptはありましたが、part_msdosがありませんでした。
そこでコマンドラインでinsmod part_msdosを実行してlsしたところ
part_gptと競合して問題が起きる気配はなく、すべてのパーティションが認識されました。
そのまま続けてvistaを起動させたところちゃんと起動しました。
(ちなみにBIOS起動順は光学・HDD250・HDD2Tです)


search --nofloppy ..."で始まる行を削除しないといけないerror: no such device問題、
恐らくmsodosパーティションディスクとgptパーティションディスクが
同時に存在している場合におきるモジュールロード不足でおきるerror : no such partition.問題、

これGRUB2のバグってことなんでしょうか?


またsearch --nofloppy ..."で始まる行を削除したように
grub.cfgにinsmod msdosを記述すればいちいちコマンドラインしなくてよさそうですが
どこに書いたらわりとスマートになるでしょうか? (update-grubをしたときに生成されるようにしたいです)

オフライン

 

#9 2010-08-03 10:07:42

marin
メンバ
登録日: 2007-02-13

Re: GRUB2 の error : no such partition. について

 >インストールされているGRUB version 1.98-1ubuntu7でコマンドラインモードに入り、
   lsしたところ(hd0,1)がみえてません!!!

   (hd0) (hd1) (hd1,3) (hd1,2) (hd1,1)

 Vistaのパーティションが見えてないのはなぜなのかは、自分もわかりませんが
幸いにも(hd0)としてVistaのHDDは認識しているように思われます。

 そこで、PBRではなくMBRに対してチェーンロードしてみるのもいいと思います。

  grub> set root=(hd0)

  grub> chainloader +1

  grub> boot

以上です。

オフライン

 

#10 2010-08-03 10:18:35

marin
メンバ
登録日: 2007-02-13

Re: GRUB2 の error : no such partition. について

#9の投稿中に解決されたようですね。失礼しました。

オフライン

 

#11 2010-08-03 10:35:39

weyk
メンバ
登録日: 2009-04-03

Re: GRUB2 の error : no such partition. について

biosdisk part_gptはありましたが、part_msdosがありませんでした。
そこでコマンドラインでinsmod part_msdosを実行してlsしたところ
part_gptと競合して問題が起きる気配はなく、すべてのパーティションが認識されました。
そのまま続けてvistaを起動させたところちゃんと起動しました。
(ちなみにBIOS起動順は光学・HDD250・HDD2Tです)

 まさにそれ という感じのようです。
 grubは、いろいろと、環境やらを調査してそれに合わせてmoduleを組み込んでゆく形になっていますが、ターゲットとなるデバイス(起動したい、Ubuntuをインストールしたデバイス)に対して「デバイスを読む方法」「パーティションを読む方法」を設定するようです(biosdiskとpart_gptが該当)
その後、他のパーティションやらOSやらを探しに行く際には、あくまでも、ファイルシステムのレベルまでしかモジュールを追加しない為に、それらが異なると、結果として読めない と。
UUIDによる検索に失敗しているのも、検索しようとした段階でそのパーティションを認識できなかった(検索対象になっていなかった)為かと思いますので、先に修正・対応したUUIDによる検索の失敗は、修正する必要は無かったかもしれません(現在のままでも問題は無いかと思いますので、再修正(元に戻す)必要は無いと思います)
おそらく、バグとして直されるのではないか と思っています。
# 条件の抽出がやたらと面倒そうなので、ちょっと大変そうですが。30_os-proberや10_linuxの中でOSを起動可能な発見した時にファイルシステムと合わせてチェック・追加するべきなんですかね。

 grub2をインストールしたOSとは異なるパーティションの管理方式や、デバイスのアクセス方式を必要とするデバイス(ハードディスク)上にインストールしたOSは、起動に失敗する という感じだと思います。

grub.cfgにinsmod msdosを記述すればいちいちコマンドラインしなくてよさそうですが
どこに書いたらわりとスマートになるでしょうか? (update-grubをしたときに生成されるようにしたいです)

 未確認ですが、以下の方法ではどうでしょうか。
/etc/default/grubに、「GRUB_PRELOAD_MODULES="part_msdos"」という行を記述(追記)する。
もし、既に「GRUB_PRELOAD_MODULES」が定義されていれば、そこに追加する(モジュール毎にスペースで区切る)

オフライン

 

#12 2010-08-03 16:23:14

PAC
メンバ
登録日: 2008-07-01

Re: GRUB2 の error : no such partition. について

皆さん本当にレスありがとうございます。

weykさんが教えてくださったように/etc/default/grubを修正したうえで動作することを確認しました。
皆さんのおかげで原因とおぼしきものがわかり、その対処もできました。
本当にありがとうございます。


GRUB2はweykさんのgrubの解説のように動作しているんでしょうね。
環境調査しきれないというか、こういう構成を想定していないことによるのでしょうが、
きっとどこぞかに報告すればGRUB2そのものを修正していただけるのでしょうけれど
英語もよくわからないので自分は報告できません。
もしこの件が報告に値する事例であれば、
よろしければどなたかしかるべきところにレポートをだしていただけるとありがたいです。

オフライン

 

#13 2010-08-03 18:52:27

kiyop
拒否
From: http://kiyoandkei.bbs.fc2.com/
登録日: 2010-01-23

Re: GRUB2 の error : no such partition. について

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

Board footer

Powered by FluxBB