vine-users ML アーカイブ



[vine-users:076637] Re: Grub で エラー「 rootnoverify (hd0,5) chainloader+1 Error 13: Invalid or unsupported executable format 」

  • From: 長南洋一 <cyoichi@xxxxxxxxxxxxxxx>
  • Subject: [vine-users:076637] Re: Grub で エラー「 rootnoverify (hd0,5) chainloader+1 Error 13: Invalid or unsupported executable format 」
  • Date: Fri, 13 Apr 2007 12:48:39 +0900 (JST)
長南です。

やっといくらかわかってきました。最悪の場合、冨岡さんのお説のとおり
このマシンで Vine 3.2 は使えないかもしれません。とは言え、
試してみることはまだあります。

KM さんのメールより [vine-users:076635]
>
> # cat /mnt/etc/lilo.conf
> prompt
> timeout=50
> # VESA framebuffer console
> #  ex. 0x301=640x480x8, 0x314=800x600x16,0x317=1024x768x16, 0x31A=1280x1024x16
> vga=0x314
> default=vine linux 3.2
> boot=/dev/hda6
> map=/boot/map
> install=menu
> message=/boot/message
>
> image=/boot/vmlinuz-2.4.31-0vl1.8
> 	label=vine linux 3.2
> 	initrd=/boot/initrd-2.4.31-0vl1.8.img
> 	read-only
> 	root=/dev/hda6
> 	append=" resume2=swap:/dev/hda7"
>
> other=/dev/hda1
> 	optional
> 	label=windowsXP

一行のものは折り返さずに一行のままにしておいてください。こちらと
しては、その方が理解しやすいですから。

# まず、lilo が失敗していた理由がわかりました。lilo.conf 中の
# label=vine linux 3.2 はダメです。label では空白が使えません。
# label=vine_linux_3.2 のように「_」(アンダーバー)で代用すること。

ここに引用した lilo.conf は Vine のインストーラが作ってくれたもの
ですか。もしそうなら、Vine 3.2 のカーネルは /dev/sda6 や /dev/sda1
ではなく/dev/hda6 や /dev/hda1 として認識しています。

Vine 4.0 の /boot/grub/menu.lst 中の記述をこんなふうに書き直したら
どうでしょう。

   title Vine Linux 3.2
       root (hd0,5)
       kernel /boot/vmlinuz-2.4.31-0vl1.8 ro root=/dev/hda6 resume2=swap:/dev/hda7 vga=0x314
       initrd /boot/initrd-2.4.31-0vl1.8.img

ついでですので、LILO を入れ直すやり方も書いておきます。上の方法で
うまくいかなかった場合に試してください。Vine 4.0 の menu.lst の
記述は次のものを使います。

  title           Vine 3.2
  root            (hd0,5)
  savedefault
  chainloader     +1

Vine 3.2 の CD からブートします。ブートプロンプトに対して、
linux rescue と打ち込み、rescue モードでブートします。
言語は English を選びます。キーボードは jp106 を選ぶことhs
できます。出てくるメッセージをよく読んでおいてください。
chroot /mnt/sysimageで Vine 3.2 が入ったパーティションを / にします。

Vine 3.2 の /etc/lilo.conf を書き直します。下の例では、label の
空白をアンダーバーに変更しているだけでなく、label を短くしています。
たしかラベルの長さには制限があり(15 字だったかな)、それを念のため
避けているのです。

  prompt
  timeout=50
  vga=0x314
  default=vine_3.2			# ここを変更
  boot=/dev/hda6
  map=/boot/map
  install=menu
  message=/boot/message

  image=/boot/vmlinuz-2.4.31-0vl1.8
	  label=vine_3.2                # ここも変更
	  initrd=/boot/initrd-2.4.31-0vl1.8.img
	  read-only
	  root=/dev/hda6
	  append=" resume2=swap:/dev/hda7"

  other=/dev/hda1
	  optional
	  label=windowsXP

/sbin/lilo を実行します。成功を確認するのため /sbin/lilo -v と
-v つきで実行してもよいでしょう。

exit 二回で rescue モードを終了し、再起動します。

どちらの方法でもうまくいかなかったときは、Vine 3.2 はあきらめた
方がよいと思います。

追伸:
読み直しているうちに、こういうところに気づきました。

> # cat /mnt/etc/fstab
> LABEL=/         /                  ext3   defaults        1 1

LABEL は / だけなんですか。/ 一字だけで大丈夫でしたっけ。何だったら、
LABEL=/ を /dev/hda6 に換えてしまってもよいと思います。

-- 
長南洋一