
Ubuntu日本語フォーラム

ログインしていません。
>einundzwanzighundertsechsさん
ls (hd0)もUnknown filesystemでした。
書き忘れましたが、hd0をhd1に変えて同様に実行すると、
error:hd1 cannnot get C/H/S values.
表示されました。
オフライン
ippei さん による投稿:
ls (hd0)もUnknown filesystemでした。
ソースを読んだところ,rescue モードでは,パーティションテーブルではなく,そのメッセージになることを確認しました.
ippei さん による投稿:
書き忘れましたが、hd0をhd1に変えて同様に実行すると、
error:hd1 cannnot get C/H/S values.
表示されました。
これは,文字通りディスクの シリンダ ヘッド セクタの数を取得する BIOS コールに失敗しています.
fdisk の結果を見ると,
ippei さん による投稿:
ディスク /dev/sdb: 4016 MB, 4016046080 バイト
ヘッド 33, セクタ 56, シリンダ 4244
ヘッドとセクタ数が珍しい数値ですね.
手元の 2GB , 16GB の USB メモリ他,8GB SSD も ヘッド 255,セクタ 63 でした.
ippei さん による投稿:
Live CDに焼いたUbuntu10.10を起動をし、USBメモリー(Transcend 4GB)にインストールしたのですが、
…中略…
過去にknoppix6 をUSBから起動することはできました。
knoppix6 のときに使った USB メモリーと同じですか?
オフライン
knoppixのUSBメモリーとは異なります。(knoppixの方はわからないですが、今回の方は"Transcend"と書いてあります。)
役に立たないかもしれませんが、knoppixの方でもfdisk -l 実行してみました。
knoppix@Microknoppix:~$ fdisk -l
Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x764deca7
Device Boot Start End Blocks Id System
/dev/sda1 1 1176 9446188+ 7 HPFS/NTFS
/dev/sda2 * 1177 38913 303122452+ 7 HPFS/NTFS
Disk /dev/sdb: 2051 MB, 2051013632 bytes
33 heads, 63 sectors/track, 1926 cylinders
Units = cylinders of 2079 * 512 = 1064448 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1927 2002927 b W95 FAT32
オフライン
ippei さん による投稿:
knoppixのUSBメモリーとは異なります。(knoppixの方はわからないですが、今回の方は"Transcend"と書いてあります。)
役に立たないかもしれませんが、knoppixの方でもfdisk -l 実行してみました。
残念ながら,決め手となる情報は得られませんでした.
/* knoppix の boot 方法を知らないので当然といえば当然ですが,
こちらのヘッド数も 255 では無いのですね.*/
ある些細な可能性を否定するため,ls (hd2) から ls (hd15) まで,計14回,
ippei さん による投稿:
ls (hd0)もUnknown filesystemでした。
書き忘れましたが、hd0をhd1に変えて同様に実行すると、
error:hd1 cannnot get C/H/S values.
表示されました。
と同じく,すべて同じ CHS エラーになることを確認してくれませんか?
そうなるはずと予想していますが,実際にその通りならば,ほぼ確実に
「BIOS が割り当てる USB メモリのドライブ番号が何番かはわからないが,
grub がその USB メモリをマウントするのに必要な CHS を BIOS が返さない状態に有る」
という結論になります.
BIOS と USBメモリの相性も有るかもしれないので,
ippei さん による投稿:
4GのUSBで困難なようでしたら8Gの物も検討してみます。
とのことですし,USBメモリを交換してはどうでしょう.
オフライン
>einundzwanzighundertsechsさん
2〜14すべて確認し同様のCHSエラーでした。
また8GのUSB(種類はわかりません。Transcendではない。)も買ってきてインストールしました。
パーティションは 7G(基本パーティション、マウントポイント/、ファイルシステムext4)
1G(基本パーティション、スワップ領域)
症状は4Gの方とすべて一致し、エラーも同様です。Live CDからもroot=/dev/sdb1に書き換え起動できましたが、設定保存はできませんでした。Grub rescue の結果も同じです。
オフライン
まず補足説明から,
ippei さん による投稿:
2〜14すべて確認し同様のCHSエラーでした。
の結果からわかるように grub は,ls (hdX) では,
ディスクが存在しない存在しない場合や,BIOS でディスクを無効にした場合にも,
CHSエラーを返します.つまり,
error:hd1 cannnot get C/H/S values.
のエラーだけでは,
a. hd1 に該当するディスクが無い.当然 CHS が得られない
b. hd1 に該当するディスクは有る.だが CHS が得られない
のどちらなのかを区別することはできません.
一般的には(ユーザの勘違いとかで) a. であることが多いでしょう.
今回のケースでは,USBディスクの boot.img が core.img を読み込む(要ドライブ番号)までは確認されているので,
ドライブ番号が割り当てられたのは間違いないと思われます.すると,考えれるケースは2つです.
a'. USB メモリは hdX (X >= 2)に割り当てられ,hd1 に当たるディスクは無い
b'. USB メモリは hd1 に割り当てられたが,その USB メモリの CHS が得られない
BIOS の中身を調べることは出来ず,
ドライブ番号を連番にしない場合がある(些細な可能性)かもしれないので,
ls (hdX) が 1 <= X <= 15 のすべてで CHS エラーになることを確認すれば,
「USB メモリがどのドライブ番号を持つのかはわからないが,BIOS は USB メモリの CHS は得られない」
の結論がほぼ確実になるという理屈でした.
実際のところ,最初の ls (hd1) は予想済みのエラーメッセージを確認し,
些細な可能性を排除することで,「ソースコードを追跡する道標とする」ことが主たる目的でした.
ippei さん による投稿:
また8GのUSB(種類はわかりません。Transcendではない。)も買ってきてインストールしました。
パーティションは 7G(基本パーティション、マウントポイント/、ファイルシステムext4)
1G(基本パーティション、スワップ領域)
症状は4Gの方とすべて一致し、エラーも同様です。Live CDからもroot=/dev/sdb1に書き換え起動できましたが、設定保存はできませんでした。Grub rescue の結果も同じです。
となると USBメモリではなく,BIOS が grub の期待する挙動を示していないことの可能性がより高くなりますね.
私に言えるのはここまでです.
オフライン
grub のようにパーティション・ファイルシステムを認識して,
設定ファイル・カーネルにアクセスするタイプのブートローダは,
BIOS 経由で CHS のパラメータを得ようとするはずです.
上述のような問題が BIOS にあるとすればこのタイプは使えません.
パーティションやファイルシステムから完全に独立して,
grub2 の core.img のロードの際に使うブロックリストの方式で,
カーネルをロードする古いタイプのブートローダ lilo には逆にチャンスがあるかも.
Ubuntu レポジトリに有り,インストールは簡単ですが,
設定ファイル lilo.conf をワンタッチで生成してくれるのかな? ←そこは試していません.
カーネルアップデートの時に再設定するスクリプトが含まれているのは見た記憶が有りますが…
lilo の情報はネットに数多く有るはずです.
まずは検索してどんなブートローダか調べてみるのはどうでしょうか?
オフライン
einundzwanzighundertsechs による投稿:
Ubuntu レポジトリに有り,インストールは簡単ですが,
設定ファイル lilo.conf をワンタッチで生成してくれるのかな? ←そこは試していません.
Fedora を離れて Ubuntu の前に来ました.lilo インストール時の確認ダイアログによれば,
LILO の設定
LILO のインストールは初めてのようです。このプロセスが終了したら、
liloconfig(8) を実行し、それから /sbin/lilo を実行することが、絶対に必要
です。
これを実行しないと LILO は動作しません。
とあり,ldconfig の man ページには
liloconfig - interactive configure script for lilo
とありますから,対話的に lilo.conf を生成してくれそうです.
オフライン
そうだった.
knoppix はブートできているのだから,knoppix が何のブートローダを使っているか調べた方が良さそうです.
もしかして syslinux じゃないかな?
ippei さん による投稿:
knoppix@Microknoppix:~$ fdisk -l
…中略…
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 1927 2002927 b W95 FAT32
の状態で
sudo file -s /dev/sdb
sudo file -s /dev/sdb1
のコマンドで調べて下さい.# Knoppix では sudo はいらないかな?
Knoppix の file コマンドが間抜けで結果が芳しくなければ,
Ubuntu をこれまでの方法で起動し,Knoppix の USB を刺して,
sudo file -s /dev/sdX
sudo file -s /dev/sdX1
で調べます.X は fdisk -l で b, c, ... のいずれになるか確認してください.
オフライン
連投です.見苦しくて済みません.
KNOPPIX6.0をUSBメモリへインストール - maru source
とかの説明に従っていれば,syslinux ですね.syslinux については hir0 さんがより知識をお持ちだと思います.
オフライン
einundzwanzighundertsechs さん、こんにちは。
grub のようにパーティション・ファイルシステムを認識して,
設定ファイル・カーネルにアクセスするタイプのブートローダは,
BIOS 経由で CHS のパラメータを得ようとするはずです.
上述のような問題が BIOS にあるとすればこのタイプは使えません.
昔のgrub legacyで言うところの、stage1.5までは動作しているとしたら、物理デバイスとしてbiosdisk(hdX)を使用する代わりに、USB Mass Storage(usbX)を使用するという手はだめでしょうか?
もし、試す場合には、preloadするモジュールとして、usbms関連を指定してセットアップしなおさないとだめですが・・・
(いままで、何でこのデバイス(usbX)のドライバがあるのか結構不思議だなぁ と思っていたんですが、ひょっとしたら今回のケースには使えるかも?)
元のエラーメッセージのあたりをざっと、 cannot get C/H/S valuesが出る可能性のところをみると、
・拡張BIOSが使えず、旧来のCHSの取得もできない。
・拡張BIOSは使えたけど、拡張機能からは対象のdiskの情報で、総セクタ数もCHSもとれず、旧来のCHSも取得ができない。
という動作っぽく読めます。逆に、旧来のCHSがだめな場合でも、
・拡張BIOSにて、拡張機能から対象のdiskの情報のうち、総セクタ数だけでも取れればなんとかなる。
・拡張BIOSにて、拡張機能から対象のdiskの総セクタ数自体がだめでも、一緒の情報にCHSが帰ってきてたら総セクタ数を勝手に求める(乗算するだけ)。
ような感じみたいです。ここまで何も取得できてないとすると、(もし認識はされているとしたら)何ならできるの というのが気になるところです・・・
オフライン
weyk さん による投稿:
昔のgrub legacyで言うところの、stage1.5までは動作しているとしたら、物理デバイスとしてbiosdisk(hdX)を使用する代わりに、USB Mass Storage(usbX)を使用するという手はだめでしょうか?
もし、試す場合には、preloadするモジュールとして、usbms関連を指定してセットアップしなおさないとだめですが・・・
(いままで、何でこのデバイス(usbX)のドライバがあるのか結構不思議だなぁ と思っていたんですが、ひょっとしたら今回のケースには使えるかも?)
grub-install --disk-module に usbms を渡す手ですよね.
実はそれも考えて,ドキュメントがどこかに落ちていないか探したり,ソースコードを読んで usbms.mod が scsi.mod に依存することを調べたりもしました.
// 実際 insmod scsi, insmod usbms, ls までやってみたのですけどね…
ソースによると grub は登録されたディスクモジュールの順にディスクに適用し,エラーにならなかった時点でその種類のディスクとみなすようですから,
biosdisk とみなされた時点で,usbms モジュールには処理が移らないはずで,「健康」なBIOSで試しても動作を確かめることができなかったのです.
可能性はあると思うのですが,ともかく usbms の役割を記述した文書が見つからない以上,分が悪いと思って提案するのは見送りました.
// ippei さんが,トライしてみたいと仰ってくれるならば,その結果は重要な共有財産になると思うのですが…
ところで,weyk さんが別のスレッドで発言された,
ubuntu 10.10 Server LAMPでPHP実行、Google Chromeでは .phpがダウンロードされる。 の weyk さんの投稿:
※httpでの開発には、通信内容をそのまま確認してみればわかることが多いです。逆に、これをしないと、「おまじない」の山になって、次に繋がりません。そのつどそのつど、場当たり的に対応を繰り返すことになります(Webを検索すると、結構、おまじないの記事が多いです)
に,まったくもって賛同します.
状況をしっかり把握し,原因をなるだけ明かにした上で.対策をたてるよう心懸けないと「非科学的な前例」にしかなりません.
オフライン
改めて,grub-mkimage のソースコードを調べたら,依存関係を解決するのに /boot/grub/moddep.lst を使っていました.
$ grep usbms /boot/grub/moddep.lst
usbms: usb scsi
einundzwanzighundertsechs による投稿:
ソースコードを読んで usbms.mod が scsi.mod に依存することを調べたりもしました.
は,まったく無駄だった…
従って,コマンドは
grub-install --disk-module=usbms.mod /dev/sdb
になります.
(usbX) の名で /dev/sdb が grub から見えれば成功ですが…
オフライン
>einundzwanzighundertsechsさん
色々とありがとうございます。
>Knoppix の file コマンドが間抜けで結果が芳しくなければ,
>Ubuntu をこれまでの方法で起動し,Knoppix の USB を刺して,
>sudo file -s /dev/sdX
>sudo file -s /dev/sdX1
以下に結果を示します。kinoppixの結果です。他には何に確認事項はございますか?
ippei@ippei-J4482:~$ sudo file -s /dev/sdg
/dev/sdg: x86 boot sector; partition 1: ID=0xb, active, starthead 1, startsector 32, 4005854 sectors, code offset 0x31
ippei@ippei-J4482:~$ sudo file -s /dev/sdg1
/dev/sdg1: x86 boot sector, code offset 0x58, OEM-ID "MSDOS5.0", sectors/cluster 8, reserved sectors 384, Media descriptor 0xf8, heads 255, hidden sectors 32, sectors 4005854 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 3904, reserved3 0x800000, serial number 0x643ff078, unlabeled
お返事を読ませていただいたのですが、私の勉強不足故理解できない部分がかなり多いです。自分でも必要事項を調べ、自己解決出きるよう努めますが、至らない部分はアドバイスいただけると幸です。
オフライン
usbmsはどうも思ったよりも難解なようなので、他の手段がある場合はまずは、そちらを進めてみてください。
usbmsの方法については、手元の環境で動く設定が見つかりましたら、改めてどこかに書きます。
なお、当方のメモリカードもgeometryは変な感じでした。LBAの基本(?/255/63)ではないみたいですね。
(sfdisk -gとsfdisk -Gで確認してみました・・・が、grub-installに失敗(--disk-module=usbms --modules=uhci)して起動しなくなってしまったので、実行結果は省略。ata.modはinsmodでも動いたんですが・・・usbms.modはどうにも駄目っぽい。)
オフライン
ippei さん による投稿:
お返事を読ませていただいたのですが、私の勉強不足故理解できない部分がかなり多いです。自分でも必要事項を調べ、自己解決出きるよう努めますが、至らない部分はアドバイスいただけると幸です。
論点をまとめます.
問題の PC は BIOS の USB ブート機能の一部が動かないらしい.
knoppix はブートできていることから,問題のある BIOS 機能を使わないブートローダならば使える可能性が有る.
ブートローダの候補は,
- grub2 + usbms
- lilo
- knoppix の使っているブートローダ
どのブートローダを試す場合も試行錯誤になります.エラーを吟味して,継続・撤退を判断しなければなりません.
ブートローダの吐くエラーはコピーペーストできませんので,ご苦労ですが一字一句をメモし,省略せず報せて下さい.
まずは,実績の有る knoppix のブートローダが何か知りたかったのですが,
ippei さん による投稿:
ippei@ippei-J4482:~$ sudo file -s /dev/sdg1
/dev/sdg1: x86 boot sector, code offset 0x58, OEM-ID "MSDOS5.0", sectors/cluster 8, reserved sectors 384, Media descriptor 0xf8, heads 255, hidden sectors 32, sectors 4005854 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 3904, reserved3 0x800000, serial number 0x643ff078, unlabeled
MSDOS のブートセクタのようですね.
knoppix はどうやってインストールしましたか? ダウンロード元とか,参考にした web ページとかを教えて下さい.
並行して,grub2 + usbms を試してもらおうと思うのですが宜しいでしょうか?
これから新規インストールしようというのですから,/dev/sda を破壊しないように十分に注意すれば,冒険できる状況にあると思います.
利点:
- 何といっても Ubuntu 標準のブートローダであり,成功すれば,後々のサポートが得やすい. # 今このスレッドに書き込んでいるメンバ以外にも,詳しい人はいるはず.
欠点:
- usbms の文書が見つからず,詳細は「やってみる」しかない.分が悪いと予想される.
- grub の設定ファイル群には特殊な記述を追加する必要と思われる.
オフライン
済みません.以下の記述は間違っていました.
einundzwanzighundertsechs による投稿:
ソースによると grub は登録されたディスクモジュールの順にディスクに適用し,エラーにならなかった時点でその種類のディスクとみなすようですから,
biosdisk とみなされた時点で,usbms モジュールには処理が移らないはずで,「健康」なBIOSで試しても動作を確かめることができなかったのです.
まずディスクモジュールのディスクスキャンは,モジュール登録順の逆順で実行されます.
さらに,ディスクモジュールのディスクスキャンは独立して行われます.
アルゴリズム上は,1 つの(物理)ディスクが 2 種類のディスクタイプとして認識されてもおかしくなく,
その場合は両方が ls でリストアップされます.
「健康」な BIOS だから usbms が動作しなかったというのは間違いです.
weyk さん による投稿:
usbms.modはどうにも駄目っぽい。
usbms はかなり見込み薄ですね.文書が見当たらないのが辛いです.
どんなハードを対象に設計されているのだろう?
オフライン
どんなハードを対象に設計されているのだろう?
usbのターゲットは実はusb_keyboardがメインだったのかも。
いま、確認しようとしているところなのですが、usbmsは、そこから導かれるmoddepだけだと、肝心なdriverが入らない(n者択一はmoddepでは表現できない)ようです。
そのため、
(じつは、私が試したのも間違いで) --modules="uhci ohci"にて、USB1.1用の両方のドライバも合わせて指定するのが良さそうです。
また、2つのインターフェースから同一ドライブにアクセスしてしまうと偉いまずいことになるようです。ata.modとbiosdiskでは、ソース上、排他されるようになっている(ata優先)のですが、usbmsはそういったことはないようなので、自身で注意を払う必要がありそうです。これは、search等の「結果的に全て見にってしまうコマンド」も気を使う必要が・・・という結構面倒な話のようです。
そのため、--disk-module=usbmsとすることで、biosdiskと入れ替えて使うのが確実なようです(--modules="usbms ohci uhci"だと、biosdiskとusbmsの両方が有効になってしまい、BIOSがUSB mass storageを扱えるとまずいことになりそう。扱えないなら問題はなさそう。)
オフライン
knoppix6.0.1を
http://www.rcis.aist.go.jp/project/knoppix/
こちらのサイトからダウンロードしLive CD からUSBにインストールしました。(手順はUbuntuと同じ)
問題解決のための方針を確かめたいのですが、
- grub2 + usbms
- lilo
- knoppix の使っているブートローダ
を一つずつ確かめていくということになるのでしょうか?今までブートローダをインストールしたことがなく、知識不足のため少々不安ではあります。これらをインストールすることでこれまでの環境に影響はないのでしょうか?他に方法がなければ挑戦させていただきたいと考えております。
オフライン
当方の環境のその後です。
ohciとuhciを両方入れたら、hangup。
ならば と、正しいohciのみを入れたら、hangupはしないものの、USBキーボードが一緒に巻き込まれて(BIOSでのemulateと奪い合い)、操作不能。キーボードが効かないので、hangupなのdebug機能でいろいろ試すのも不能 という状態になりました。
この後、grub.cfgも調整が必要なはず(hdxではなくusbxで生成されないといけない)なのですが、ここは未調査のままです。
もしかしたら、ユーザの多そうなintel系であればまた違う可能性もありますが、当方の環境では厳しいようです(chipsetはATI 790FX+SB600。usbのコントローラはSB600です。)
お騒がせしました・・・・
オフライン
ippei さん による投稿:
knoppix6.0.1を
http://www.rcis.aist.go.jp/project/knoppix/
こちらのサイトからダウンロードしLive CD からUSBにインストールしました。(手順はUbuntuと同じ)
Knoppix のことを良く知らないので「Ubuntu と同じ」という具体的な手順を確認したいのですが,
Knoppix の LiveCD を起動したら「USB (or HD)へのインストール」というメニューまたはアイコンがある.
という理解で宜しいでしょうか?
一つずつ確かめていくということになるのでしょうか?
そうなります.成功率は低いですが,成功した場合の後々のサポートを考えて,grub2 + usbms を最初にしてはどうかと考えています.
これらをインストールすることでこれまでの環境に影響はないのでしょうか?
USB メモリへの新規インストールですよね?
「これまでの環境」とは内蔵ディスクの Windows環境 のことと解釈して宜しいですか?
候補には,内蔵ディスクには一切手をつけず,ブートローダを USB メモリにインストールする方法を挙げています.
Windows に影響するような操作はしません.コマンドミスによる /dev/sda の破壊が一番の注意事項です.
オフライン
Bootable USB Key - Knoppix Documentation Wiki によれば,
Knoppix 6 also has its own built-in utility to create a USB key after booting from the CD, so using that might work easier.
だそうで,ブートローダには syslinux を使っていると書いてあります.
ippei さんへ,
空いている USB で, Ubuntu の LiveUSB を作ってみませんか.それがブートできたなら選択肢が広がります.
LiveUSB は Windows を使って作成できます.このフォーラムを検索して下さい.
オフライン
>einundzwanzighundertsechsさん
lili Live USB CREATER を使って4GのUSBに作りました.
すると、 windowsからUSBのフォルダを開いて起動することはできたのですが、電源を入れ直してブートし直すと、"_"これが点滅し続けるだけでgrub rescue も表示されませんでした。やはりPCの本体に問題があるのでしょうか。
オフライン
ippei さん による投稿:
windowsからUSBのフォルダを開いて起動することはできたのですが、
「何を」起動出来たのでしょう? lili Live USB CREATER ですか?
ippei さん による投稿:
電源を入れ直してブートし直すと、"_"これが点滅し続けるだけでgrub rescue も表示されませんでした。
ダメでしたか.Knoppix は一体どういう方法で起動しているのか…?
LiveUSB はブートローダに grub 以外のものを採用しているので,起動に問題があっても grub rescue は表示されません.
その Ubuntu LiveUSB についても#64と同じ操作 sudo file -s … を適用してブートローダが何か確認しましょう.
オフライン
einundzwanzighundertsechs による投稿:
ippei さん による投稿:
windowsからUSBのフォルダを開いて起動することはできたのですが、
「何を」起動出来たのでしょう? lili Live USB CREATER ですか?
lili のFeaturesを見て解りました.
No reboot needed
Are you sick of having to reboot your PC to try Linux ? No need with LiLi. It has a built-in virtualization feature that lets you run your Linux in Windows just out of the box !
仮想環境で Linux をブート出来るのですね.
オフライン