お知らせ

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

#1 2010-05-07 21:12:01

kouderia
メンバ
登録日: 2010-05-07

update-grub2のエラーについて

ubuntu10.04,windows7,windowsxpのマルチブートにしているのですがgrubのos選択画面でxpが表示されません。
040_customを編集してみたのですがupdateで下記のようなエラーがでました。
xpはsdb1に入ってます。どうしたらエラーが消えるのでしょうか?教えてください。

$ sudo  update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-22-generic
Found initrd image: /boot/initrd.img-2.6.32-22-generic
Found linux image: /boot/vmlinuz-2.6.32-21-generic
Found initrd image: /boot/initrd.img-2.6.32-21-generic
Found linux image: /boot/vmlinuz-2.6.31-21-generic
Found initrd image: /boot/initrd.img-2.6.31-21-generic
Found memtest86+ image: /boot/memtest86+.bin
ERROR: nvidia: wrong # of devices in RAID set "nvidia_ahjidbgc" [1/2] on /dev/sdb
Found Windows 7 (loader) on /dev/sda1
done

オフライン

 

#2 2010-05-08 11:03:35

3988
メンバ
登録日: 2010-02-25

Re: update-grub2のエラーについて

windows7,windowsxp等のOSのサーチに関するファイルは「30_os-prover」ですが、「40_custom」を特別な事情で編集されているようですが、次の情報を提示してください。

sudo fdisk -l の内容
/boot/grub/grub.conf の内容

オフライン

 

#3 2010-05-08 11:44:05

kouderia
メンバ
登録日: 2010-05-07

Re: update-grub2のエラーについて

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

sudo fdisk -l の内容は

ディスク /dev/sda: 1000.2 GB, 1000204886016 バイト
ヘッド 255, セクタ 63, シリンダ 121601
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x285769e3

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              13      121602   976657408    7  HPFS/NTFS
パーティション 2 は、シリンダ境界で終わっていません。

ディスク /dev/sdb: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x08e308e2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1   *           1       30400   244187968+   7  HPFS/NTFS

ディスク /dev/sdc: 40.0 GB, 40020664320 バイト
ヘッド 255, セクタ 63, シリンダ 4865
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x951e26df

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdc1   *           1        4660    37431418+  83  Linux
/dev/sdc2            4661        4865     1646662+   5  拡張領域
/dev/sdc5            4661        4865     1646631   82  Linux スワップ / Solaris

ディスク /dev/sdd: 4002 MB, 4002910208 バイト
ヘッド 124, セクタ 62, シリンダ 1016
Units = シリンダ数 of 7688 * 512 = 3936256 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00025ab2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *           1        1016     3905473    b  W95 FAT32
hisahiro@hisahiro-desktop:~$ sudo fdisk -l

ディスク /dev/sda: 1000.2 GB, 1000204886016 バイト
ヘッド 255, セクタ 63, シリンダ 121601
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x285769e3

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2              13      121602   976657408    7  HPFS/NTFS
パーティション 2 は、シリンダ境界で終わっていません。

ディスク /dev/sdb: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x08e308e2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1   *           1       30400   244187968+   7  HPFS/NTFS

ディスク /dev/sdc: 40.0 GB, 40020664320 バイト
ヘッド 255, セクタ 63, シリンダ 4865
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x951e26df

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdc1   *           1        4660    37431418+  83  Linux
/dev/sdc2            4661        4865     1646662+   5  拡張領域
/dev/sdc5            4661        4865     1646631   82  Linux スワップ / Solaris

ディスク /dev/sdd: 4002 MB, 4002910208 バイト
ヘッド 124, セクタ 62, シリンダ 1016
Units = シリンダ数 of 7688 * 512 = 3936256 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00025ab2

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdd1   *           1        1016     3905473    b  W95 FAT32


/boot/grub/grub.conf の内容は

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
  set saved_entry=${prev_saved_entry}
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z ${boot_once} ]; then
    saved_entry=${chosen}
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd2,1)'
search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd2,1)'
search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
set locale_dir=($root)/boot/grub/locale
set lang=ja
insmod gettext
if [ ${recordfail} = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-22-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
    linux    /boot/vmlinuz-2.6.32-22-generic root=UUID=16a2aef1-ec71-4ec4-82a8-29ea8ca2305b ro   quiet splash
    initrd    /boot/initrd.img-2.6.32-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
    echo    'Loading Linux 2.6.32-22-generic ...'
    linux    /boot/vmlinuz-2.6.32-22-generic root=UUID=16a2aef1-ec71-4ec4-82a8-29ea8ca2305b ro single
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-22-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=16a2aef1-ec71-4ec4-82a8-29ea8ca2305b ro   quiet splash
    initrd    /boot/initrd.img-2.6.32-21-generic
}
menuentry 'Ubuntu, with Linux 2.6.32-21-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod ext2
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
    echo    'Loading Linux 2.6.32-21-generic ...'
    linux    /boot/vmlinuz-2.6.32-21-generic root=UUID=16a2aef1-ec71-4ec4-82a8-29ea8ca2305b ro single
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-2.6.32-21-generic
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod ext2
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod ext2
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 16a2aef1-ec71-4ec4-82a8-29ea8ca2305b
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
    insmod ntfs
    set root='(hd0,1)'
    search --no-floppy --fs-uuid --set aea0b49ea0b46e89
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows XP (on /dev/sdb1)" {
        insmod ntfs
        set root=(hd1,1)
        drivemap -s (hd1) ${root}
        chainloader +1

}


### END /etc/grub.d/40_custom ###


になってます。念のため全部コピーしました。
30_os-proverを編集した方がよかったのでしょうか?初心者なもので40を編集してしまいました。
よろしくおねがいします。

オフライン

 

#4 2010-05-08 12:54:55

3988
メンバ
登録日: 2010-02-25

Re: update-grub2のエラーについて

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows XP (on /dev/sdb1)" {
        insmod ntfs
        set root=(hd1,1)set root='(hd1,1)'に修正し sudo update-grubとしてみてください。
        drivemap -s (hd1) ${root}
        chainloader +1

}


### END /etc/grub.d/40_custom ###

オフライン

 

#5 2010-05-08 13:29:05

kouderia
メンバ
登録日: 2010-05-07

Re: update-grub2のエラーについて

さっそく、40を編集しなおしてupdateしましたが、次のエラーがまだ残ってしまいました。
ERROR: nvidia: wrong # of devices in RAID set "nvidia_ahjidbgc" [1/2] on /dev/sdb

再起動したところgrubでXPの表示が出たので起動してみようと思ったのですが、ブランクスクリーンになって動きませんでした。

オフライン

 

#6 2010-05-08 15:00:31

3988
メンバ
登録日: 2010-02-25

Re: update-grub2のエラーについて

Xpの非表示、nvidiaのエラー表示される前にどのような事をされました。
/etc/grub.d/40_custom の
insmod ntfs
set root='(hd1,1)'
search --no-floppy --fs-uuid --set aea0b49ea0b46e89この1行を追加赤字の部分は下記
drivemap -s (hd1) ${root}
        chainloader +1

赤字部分について端末で sudo blkid を実行します。下記(一部略例)のように表示されます。(hd1,1)に該当する部分をコピー&ペースト
root@ssd64-desktop:/home/ssd64# blkid
/dev/sda2: UUID="346022D360229C1C" TYPE="ntfs" 赤色の部分のみ
/dev/sdc1: UUID="11b49727-e916-4549-bd9e-f7c83f0e76e3" TYPE="ext4"

とりあえず、Xpに関するとこだけです。

オフライン

 

#7 2010-05-08 16:24:10

kouderia
メンバ
登録日: 2010-05-07

Re: update-grub2のエラーについて

いつのまにか、xpがsdcになってました。
nvidiaのエラーはupdate-grubで端末に表示されていたものです。

# blkidの結果は

/dev/sda1: UUID="16a2aef1-ec71-4ec4-82a8-29ea8ca2305b" TYPE="ext4"
/dev/sda5: UUID="916d6187-2eba-4da0-8d81-720d048225d9" TYPE="swap"
/dev/sdb1: LABEL="M-cM-^BM-7M-cM-^BM-9M-cM-^CM-^FM-cM-^CM- M-cM-^AM-'M-dM-:M-^HM-gM-4M-^DM-fM-8M-^HM-cM-^AM-?" UUID="AEA0B49EA0B46E89" TYPE="ntfs"
/dev/sdb2: UUID="EA88BD9688BD61AD" TYPE="ntfs"
/dev/sdc1: UUID="868C6FAF8C6F9907" TYPE="ntfs"」で

grub.cfgの内容は

## BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sdb1)" {
    insmod ntfs
    set root='(hd1,1)'
    search --no-floppy --fs-uuid --set aea0b49ea0b46e89
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows XP (on /dev/sdc1)" {
    insmod ntfs
    set root='(hd2,1)'
    search --no-floppy --fs-uuid --set 868C6FAF8C6F9907
    drivemap -s (hd2) ${root}
    chainloader +1
}
### END /etc/grub.d/40_custom ###
」です。

再起動の結果、またgrubでxpが表示されたのですが、勝手に再起動してしまいました。

オフライン

 

#8 2010-05-08 17:18:03

hir0
メンバ
登録日: 2008-09-28

Re: update-grub2のエラーについて

Windows7が/dev/sdb になっていますよ。

デバイスファイルは接続順に割り当てられるのですがHDDを接続したり外したりされているのでしょうか?
その辺のハード構成が分からないと状況を判断出来ないのでお願いします。

Windowsは一番目のHDDに無ければ起動しないと言う制約が(XPの初期までは確認)有りました。
つまり/dev/sda (hd0)でなければ行けないのでmapで入れ替えます。

drivemap -s (hd2) ${root}

これはどこの情報でしょうか?  オプション [s]を知らないのですが、(hd2)と${root}を入れ替えるオプションなら${root}を(hd0)に変えてください、分からずに設定しているのでしたら下記の様に変更してみましょう。


drivemap  (hd0) (hd2)
drivemap  (hd2) (hd0)

と2行記述する事で(hd2)にあるWindowsを(hd0)であるように認識させます。
set root (hd@) ここは
set root=UUID='@@@-@@@@-@@@@'
「@」は起動デバイスのUUID

こうすることで、デバイスが外付けのUSB-HDDで接続順序でデバイスファイル名が変更になっても「場所」を認識します。
ですが「外付け」等も含み想像でしかないので、ハード構成と何故デバイスファイル名が変わったか?
現在は何を/dev/sdaと認識しているのか、状況を知らなければ識者の方もコメントが付けれないと思います。

ubuntu10.04,windows7,windowsxpのマルチブートにしているのですがgrubのos選択画面でxpが表示されません。

以前はどうでしたでしょうか、今回始めてのマルチブート環境で現象が出たのでしょうか?

オフライン

 

#9 2010-05-08 18:14:19

kouderia
メンバ
登録日: 2010-05-07

Re: update-grub2のエラーについて

返事ありがとうございます。
sdaがUBUNTU sdbがWINDOWS7 sdcがXPになっています。
今までbiosのF12のブートメニューでOSを選択してました。
WINDOWS7を起動させたときにXPがsdbからsdcに変わったのでしょうか??よくわからないです。
UBUNTUをインストールした時点でWINDOWS7だけgrubに表示されていました。
ハード構成は
グラボ radeon hd5770
マザー GA-M-720-US3
メモリ 1ギガ*4
CPU  AthlonⅡx2 235e
hdd  IDE マスターUBUNTU
    sata マスターwindows7,  スレーブXP
になっています。

40_customを編集しなおしました。
grub.cfgの内容

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sdb1)" {
    insmod ntfs
    set root='(hd1,1)'
    search --no-floppy --fs-uuid --set aea0b49ea0b46e89
    chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows XP (on /dev/sdc1)" {
    insmod ntfs
    set root=UUID='868c6faf8c6f9907'
    search --no-floppy --fs-uuid --set 868c6faf8c6f9907
    drivemap  (hd0) (hd2)
    drivemap  (hd2) (hd0)
    chainloader +1
}

同じようにXPを起動させようとしても勝手に再起動します。

オフライン

 

#10 2010-05-08 19:05:38

hir0
メンバ
登録日: 2008-09-28

Re: update-grub2のエラーについて

何となく状況が分かりました。
BIOSの起動順位の変更でWindowsは起動するのですよね?

現在grubからXP以外が起動できりのでしたら以下の操作は行わないでください。

Ubuntuの起動優先順位を一番初めにしてください。
/dev/sdaと認識されているはずです。  ライブCD/USB を入れて起動、最初の画面が表示されたら素早く?何かキーを押してください。
もし言語選択などが現れたら「日本語」を。

メニューが表示されますので一番上(だったかな)のHDDに変更を加えないで起動(お試し)にカーソルを合わせて[F6]キーを押します。
POPアップが表示されますが[esc]キーでキャンセル。

下段に起動オプションが表示されています、[カーソル]キーでカーソルが移動できますので「boot=casper」と書かれている所を変更します。
root=/dev/sda1
エンターキーを押します
boot を root に変更し忘れないでください。


$ sudo grub-install /dev/sda

再起動してUbuntuが無事に起動するのでしたらら問題はないでしょう。

40_custom の編集を行います。
bb

menuentry "Windows 7 (on /dev/sdb1)" {
    insmod ntfs
    insmod chain
    set root=(hd1,1)
    drivemap  (hd0) (hd1)
    drivemap  (hd1) (hd0)
    chainloader +1
}

menuentry "Windows XP (on /dev/sdc1)" {
    insmod ntfs
    insmod chain
    set root=(hd2,1)
    drivemap  (hd0) (hd2)
    drivemap  (hd2) (hd0)
    chainloader +1
}

オフライン

 

#11 2010-05-08 19:08:34

hir0
メンバ
登録日: 2008-09-28

Re: update-grub2のエラーについて

忘れ物しました。
$ sudo  update-grub

オフライン

 

#12 2010-05-08 21:15:41

kouderia
メンバ
登録日: 2010-05-07

Re: update-grub2のエラーについて

どうもありがとうございます。無事XPがgrubで起動しました。

オフライン

 

Board footer

Powered by FluxBB