
Ubuntu日本語フォーラム

ログインしていません。
原因は特定できています。
HDDの立ち上がりが遅くて読み込みが上手くいかなくてBusyBoxとコマンドうつところにinitramfsと出てきます。
学校の部活でサーバーを立てようとしていて、その時も上のが出たのですが、その時は大学の先生に直していただいたのですが。
その時はHDDの読み込みのタイムアウトの時間を長くすることで解決しました。
その時弄くったファイルとディレクトリが分からないので、できるだけ早く教えていただけると助かります。
オフライン
追記
HDDはSCSI接続、何だかD端子を太めにして横長にした感じですが。
Ubuntuのバージョンは9.04です。
オフライン
状況が読めないのですが、HDDが立ち上がらないと起動すらしません。
MBRからGRUB、kernel,initrdと全てHDDに保存されたファイルが呼び出されてメモリに展開されていきます。
この段階でHDDが立ち上がらない、もしくは反応しない、認識されないと言う類の現象が原因とするのはどうでしょうか?
恐らくこの手の状況を回避するにはカーネルを再構築するか起動時にパラメーターを渡してやるのですが、先生は後者の方法使ったと思います。
状況を読めていないので違うことを書いていましたら申し訳ないです。
オフライン
こちらも何となく状況がわかった気がします。
設定のときミリ秒単位で設定してた記憶があるのですが、それが後者のパラメータを渡してやることだったのですかね?
起動時にBIOSが立ち上がった後、OSの起動中にBusyBoxが出てきてしまいます。
とりあえずですけど、後者の方を教えて下さると非常に助かります。
オフライン
すみません、カーネルオプションの説明のサイトは有りますが実際にどの様な振る舞いをするのか全て理解できていません。
少し気になったのですが、今回はPC、OS共に全くの別環境ではないでしょうか?
BusyBoxに落ちるのは色々な原因が有ります。
もし別環境で有るならPCの情報が必要ですし、同じマシンでの話でしたらブートローダの設定ファイルにカーネルオプションが書き込まれているはずです。
GRUBを使用されているのでしたら/boot/grub/menu.lst もしくは/boot/grub/grub.cfg です。
LILOでしたら/etc/lilo.conf です。
オフライン
今回は家のPCから書き込んでいます。
学校にあるのはサーバー用で、こちらにUbuntu 9.04 サーバー用を入れています。
Ubuntuの標準で使用しているブートローダーはどちらでしょう?そこら辺はさわってないので分かりません。
とりあえずリカバリモードで起動して、今書かれているファイルを見てみようかと思います。
オフライン
Ubuntuの標準のブートローダーはGRUBです。
9.10以降ではGRUB2ですが9.04からのアップデートでは旧GRUBです(違ったかな?)
GRUBでは/boot/grub/menu.lst です。
ファイルの後半の方に
[title] の行の後に起動時に選択するメニューの文字見つかると思います。
[root]行
[kernel]行
[initrd]行
上記の構成で一つのエントリーです、「kernel」行にはカーネル名、ルートデバイスの指定、起動オプションが書かれています。
デフォルトで「`ro' `quiet' `splash'」がそれに当たります、ここに必要なパラメーターを記述していくことになります。
リカバリーモードも起動オプション`single' で実現しています。
GRUB2では「### BEGIN /etc/grub.d/10_linux ###」から「### END /etc/grub.d/10_linux ###」までにエントリーが書かれています。
表記方法に変更が有り「kernel」は「linux」に変更になっています。
オフライン
症状が同じだからと言って原因が同じとは限りません。
現象と対処が真っ当なシステムだと合致していないように思うのですが。
grubは、本体に書き込まれるわけではなく、HDDのブートブロックに書き込まれる訳ですから(チェインロード後か、MBRから多段ロードするかは別として)、まずは、きちんとアクセスできるシステムが存在しないと次の処理に遷移できません。
内蔵HDDは起動時のWaitに間に合い、ブートローダを起動できるが、その先がある外付けHDDがReady状態になってないというのはかなりハードウェアの構成自体がおかしい気がしますし、ブート処理が追えない人が使うような構成でもなさそうな気がします。
面倒ごとの原因なんて無いに超したことが無いわけですし、サーバなんて、動き続けてくれないと困る物ですから。
SCSIの場合、SCSIBIOSに起動ウェイトを設定できる事が多いのですが、それは各々のI/Fに実装されていたり、オンボードなら、本体BIOSに含まれます。HDDのアクセスまでのタイミング調整ならそこが一番妥当なのですけども。
後は、GRUBのメニューで自動起動する時のカウントダウン値でしょうかね?でも、ブートデバイスとインストール先が同じデバイスなら、GRUBが読めるのにオフラインになってることは考えにくいですけどね?
レガシな方は、timeout行でしたけど、grub2も似たような記述があるんじゃないかと。
カーネルオプションにウェイト指定なんてありましたっけ?転送モードの変更はあったような気はするけれど。
オフライン
こんなのが出ました
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/a12f42b9-45f7-44db-8b40-496b004f1746 does not exist.
Dropping to a shell!
BusyBox v1,10,2 と続いて
(initramfs) [ 34.488094] scsi3 : Adaptec AIC7XXX EISA/ VLB/PCI SCSI HBA DRIVER,Rev 7.0
[ 34.488099] <Adaptec aic7899 Ultra160 SCSI adapter>
[ 34.488102] aic7899: Ultra160 Wide Channel B, SCCI Id=7, 32/253 SCBs
[ 34.488105]
と出てきました
オフライン
Esc押すとブートローダーが出てくるのでGRUBは立ち上がってるようです。
オフライン
- Check rootdelay= (did the system wait long enough?)
と言われているので、rootdelay=10 くらいで試してみてはいかがかと思います。
前に vinelinux をUSBHDDにインストールした時にGRUBからは
カーネルをロードできるのにブートシーケンスの途中で
usb_storage モジュールのロードが間に合わずにルートデバイスを見つけられず
kernel panic になるということがありました。
そのときには有識者が initrd に当てるパッチを提供してくれて解決しました。
エンドユーザー的には rootdelay ですむのならOKですよね
オフライン
https://wiki.ubuntu.com/JauntyJackalope/ReleaseNotes/ja
ここの3-1で一応通常起動しました。
それからカーネルオプションにrootdelay=90を追加しなければならないようですが、UUIDの後ろにro qiet splashとあるのですが、これの前でいいのか後ろでいいのかがちょっと分からないので教えていただけると助かります。
オフライン
rootdelay=50で無事起動しました。
今回この質問に答えて下さったみなさん、ありがとうございました。
オフライン
ドライバの初期化と、その先のルートファイルシステムの読み込みで転けてたわけですか。
「HDDの読み込み」で、短絡的にドライブがReadyになる状況のことだけ考えてしまいました。
思慮が足りなくて申し訳ありませんでした。
オフライン
どうやらそうみたいですね。
別に謝らなくてもいいですよ、結果として解決したし、いろいろ勉強になりましたから。
オフライン