Grub4Dosからの起動エラー

パピーリナックスを初めて使う方

モデレータ: 暇人, YoN, nyu

返信する
You
記事: 12
登録日時: 12/07/16(月) 14:24

Grub4Dosからの起動エラー

投稿記事 by You »

こんばんわ。
以下の環境で、Puppy Linuxを利用させていただいております。
バージョン:Puppy precise 5.7.1JP
ハードウエア:ASUS EeePC 701SD-X

Puppy preciseは/dev/sda1(NTFS)にFrugalインストールしており、/dev/sdaのMBRに入れている
Grub4Dosから起動していました。(同じく/dev/sda1にインストールしているWindowsとのマルチブート)
ここに/dev/sdb(SDカード)を増設し、/dev/sdb1(ext4、/にマウント)にUbuntu server 14.01 LTS(以下Ubuntu)を
インストールし、Puppy precise起動→Grub4DosConfigを起動し、Grub4Dosの定義を更新したのですが、
Grub4DosのブートメニューからUbuntuを選択してもコンソールに以下のエラーが表示され起動できませんでした。

Booting Ubuntu 14.04 LTS (sdb1)
uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Error 22: No such partition
Press any key to continue...

ここから回復するための切り分け方法がわからず、質問させてください。

情報としては、
○Grub4DosConfigでは/dev/sdb1にUbuntuがあることを認識している。
○WindowsおよびPuppy preciseは起動できる。
○上記で表示されるuuidとGpartdのパーティション情報で表示されるuuidは一致している。
○Ubuntuのインストールで/dev/sdbにGrubを導入し、BIOSからSDカード起動を選択するとGrubが立ち上がりUbuntuが起動できる。
○Ubuntuのインストールで/dev/sdbにGrubを導入してもしなくても同様に上記メッセージが表示されてしまう。
○Ubuntuのインストールでパーティションを自動(sdb1にbios_grub、sdb1に/、sdb2にswapが作成される)で作成しても起動せず
○以前同じ構成でUbuntu server 13.10を導入したときは問題なくGrub4Dosから起動できていました。
○BIOSの構成上、Ubuntuインストール時はインストール元(USBメモリ)がsdb、インストール先がsdcになっていました。
(この構成はUbuntu server 13.10を入れたときも同じ)

対策の見当がつかず困窮しております。ご指導頂ければ有難いです。
よろしくお願いします。
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub4Dosからの起動エラー

投稿記事 by シノバー »

似た話を聞いたことがあります。
http://blog.goo.ne.jp/mmh2012/e/b247d4e ... 12214825e5

BIOSの問題とすると、逆に Ubuntu server 13.10を導入したときに問題がなかったのは不思議ですね。
Advanced menu の中に Boot from sdb や Find Grub2 があるはず。いちおう試してみてください。
The bar master, Shino's Bar
http://shinobar.net/
You
記事: 12
登録日時: 12/07/16(月) 14:24

Re: Grub4Dosからの起動エラー

投稿記事 by You »

シノバーさん、貴重な情報をありがとうございます。
同件かどうかを試してみましたが、結果から申し上げますとNGでした。

BIOSメニューからBootDevive設定を確認(SDカードになっていました)

Save & Exit

Grub4DosからUbuntu選択

Error 22で起動せず

Ubuntu13.10が起動していたというのもそうですが、PuppyをSDカードに入れて問題なく使っていた時期もありますので、残念ながら原因は別のようです。

また、Advanced menuからBoot from sdbを選択するとGrubが正常に起動、Find Grub2を起動するとError 15: file is not foundのエラーが表示されました。

材料になるかどうか分かりませんが、現在のmenu.lstは以下のとおりです。(sdbのパーティション構成が↑と異なりますので、Ubuntuがsdb2になっています)

コード: 全て選択

# menu.lst produced by grub4dosconfig-v1.9.1
color white/blue black/cyan white/black cyan/black
#splashimage=/splash.xpm
timeout 10
default 0

# Frugal installed Puppy

title Puppy precise 5.7.1JP (sda1/precise)
  uuid 1C88705A8870347C
  kernel /precise/vmlinuz   psubdir=precise pmedia=ataflash pfix=fsck
  initrd /precise/initrd.gz

# Full installed Linux

title Ubuntu 14.04 LTS (sdb2)
  uuid b7da1c0e-e422-49d3-83df-0138cb88a4fc
  kernel /vmlinuz root=/dev/sdb2 ro
  initrd /initrd.img

# Windows
# this entry searches Windows on the HDD and boot it up
title Windows\nBoot up Windows if installed
  errorcheck off
  find --set-root --ignore-floppies --ignore-cd  /bootmgr
  chainloader /bootmgr
  find --set-root --ignore-floppies --ignore-cd  /ntldr
  chainloader /ntldr
  find --set-root --ignore-floppies --ignore-cd   /io.sys
  chainloader /io.sys
  errorcheck on

# Advanced Menu
title Advanced menu
  configfile /menu-advanced.lst
  commandline
それと、Ubuntu側に何かしらの原因があるということもゼロではないと思いましたが、挙動から判断してGrub4Dosの動きに起因している(何かの原因でUbuntuのキックまでたどり着いていない)と考えこちらで質問させて頂いている次第です。

どうぞ宜しくお願い致します。
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

Re: Grub4Dosからの起動エラー

投稿記事 by シノバー »

You さんが書きました:Advanced menuからBoot from sdbを選択するとGrubが正常に起動、Find Grub2を起動するとError 15: file is not foundのエラーが表示されました。
Boot from sdb で起動できるならば、menu-advanst.lst 何のその記述を、メインの menu.lst にカットアンドコピーしてやるのもひとつの方法ですね。

Boot from sdbは sdb のMBRにアクセス、Find Grub2はパーティション内部のファイルにクセスするものです。Ubuntuが作るパーティションがおかしいのかな?
Ubuntu のパーティション(sdb1 or sdb2?)と、パピーのいるパーティション(sda2?) のファイルシステムはそれぞれ何ですか?
The bar master, Shino's Bar
http://shinobar.net/
mish
記事: 7
登録日時: 09/11/03(火) 10:11

Re: Grub4Dosからの起動エラー

投稿記事 by mish »

Grub4dos自身がUSBをSupportしていないために発生しているように思えます。
USBからのBootはBIOSの機能で、この機能が使用された場合のみ、あたかもUSB機器を直付けのように扱えるようにしていると理解しています。
したがって、Grub4dosでは、USBからBootし直付けHDDのOSを起動することはできますが、逆は無理と思われます。
You
記事: 12
登録日時: 12/07/16(月) 14:24

Re: Grub4Dosからの起動エラー

投稿記事 by You »

シノバーさん、mishさん、返信ありがとうございます。

おっしゃる通り、Grub4dosからsdbのmbrに飛ばせば起動できそうですが、原因が知りたいなという気持ちはあります。
ちなみにPuppyがいるパーティション(sda1)はntfs、Ubuntuがいるパーティション(sdb1 or sdb2)はext4です。

その後試したこととして、同じSDカードでUbuntuのファイルシステムをext2にしても結果が変わらなかったので、だめもとで余っている別のSDカードにext4のパーティションを作りUbuntuをインストール、Grub4Dosの設定をしたところ、なんと何事もなくGrub4DosのメニューからUbuntuが起動しました。

どうやらSDカード個体の問題(とGrub4Dosとの相性?)の可能性が高そうですが、パーティショニングもUbuntuのインストールも普通に完了し、Puppyからマウントできる上にGrub4Dosの設定で正常に検出できる、grub2からは起動できる。でもなぜかGrub4Dosから直接起動できないという状態のようです。さらに以前は使えていたので、まさか個体の問題とは考えてもいませんでした。(経年劣化の可能性はありますが)

このような不具合を調べる、さらに可能であれば修復したいなと考えると、いったいどこから調べれば良いのか悩んでしまいます。
アバター
シノバー
記事: 3139
登録日時: 09/03/21(土) 00:05
連絡する:

SDカードへのOSインストール

投稿記事 by シノバー »

パピーではフラッシュメモリへの書き戻しを少なくし、寿命的にも速度的にも良好にするモード(PUPMODE=13)がありますが、そうでないOSをSDカードにインストールするって、寿命的にどうなんでしょう?

ハードによるとは思いますが、スピード的にもどうなんでしょう。
The bar master, Shino's Bar
http://shinobar.net/
486HA
記事: 1142
登録日時: 11/03/06(日) 14:31

Re: Grub4Dosからの起動エラー

投稿記事 by 486HA »

mish さんが書きました:Grub4dos自身がUSBをSupportしていないために発生しているように思えます。
USBからのBootはBIOSの機能で、この機能が使用された場合のみ、あたかもUSB機器を直付けのように扱えるようにしていると理解しています。
したがって、Grub4dosでは、USBからBootし直付けHDDのOSを起動することはできますが、逆は無理と思われます。
起動可能なメディア間では、方法を理解していれば当然のように相互に起動できます。
PCの内蔵HDから起動した場合、例えば次のようにしてGrub4DOSで外付けのUSBフラッシュ・メモリーなどを起動できます。

例)
本体HDのmenu.lstに関連する記述を追加する。

コード: 全て選択

title Puppy Linux (/sdb)\n o Partriot-32MB
configfile /boot/grub/patriot32.lst
外付けUSBフラッシュ・メモリー起動用patriot32.lst(名称は任意です)の記述例
splashimage=/boot/grub/splash.xpm
default 2
timeout 16

title Slacko Puppy 5.7.0 PAE (/slacko_5.7.0)\nf2fs - kernel 3.10.32 PAE
uuid B144-928A
kernel /slacko_5.7.0/vmlinuz root=/dev/sdb1 ro
initrd /slacko_5.7.0/initrd.gz

SDカードの場合、大多数のSDカード・スロット自体が起動時にbiosから認識されないのが一般的なので、
USB変換アダプターとの併用を除いてブート出来ないのが普通です。
CORE-i7-6700HQ uEFI ram:8GB
Full: Quirky Beaver64-8.7.1(64)
save2dir: Artfulpup-17.11,Dpup-7.5,Xenialpup 7.0.8.1(32)
Slimjet 21.0.8.0(32/64)
返信する