====================== トラブルシューティング ====================== 目次: すでにインストール済みの FreeBSD を修正する 既知のインストールの問題と Q & A 既知のハードウェア上の問題と Q & A すでにインストール済みの FreeBSD を修正する ------------------------------------------- FreeBSD 2.2.1 以降のリリースでは、ブートフロッピーディスクの最上位の メニューに "Fixit" オプションを持っています。これを使うためには、 ブートフロッピーディスクと同じようにして作られた fixit.flp イメージの フロッピーディスクもしくは Walnut Creek CDROM 社の FreeBSD パッケージ の2枚目の CD-ROM が必要になります。 fixit を起動するには、普通にブートフロッピーディスクでブートし、 "Fixit" の項目を選択して、要求された時に fixit フロッピーディスク もしくは CD-ROM を挿入してください。その結果、シェルに入ります。 ここで、(/stand と /mnt2/standの中にある) いろんなコマンドを使って、 ファイルシステムとその内容を確認し、修正し、検査することができます。 ただ、fixit オプションを使うには、ある程度の UNIX 管理経験が必要です。 既知のインストールの問題と Q & A -------------------------------- Q: FreeBSD をインストールした後、初めてハードディスクからブートしよう としたら、kernel がロードされハードウェアが検出されましたが、次の メッセージが出力され止まってしまいました: changing root device to wd1s1a panic: cannot mount root なにが悪いんでしょう? どうすればいいの? Q: boot help で表示される 'bios_drive:interface(unit,partition)kernel_name' というのは何? A: ブートディスクがシステムで最初のディスクでない場合、長年問題があり ました。BIOS は FreeBSD とは異なる番号付けの仕組みを用いており、 どの番号がどれに対応するかを正しく判定するのは難しいのです。 ブートディスクがシステムで最初のディスクでない場合、FreeBSD が ディスクを見つけるためになんらかの手助けが必要です。 二つの共通的な状況がありますが、両方の場合で FreeBSD にルート ファイルシステムの場所を指定する必要があります。BIOS のディスクの 番号、ディスクの種類、FreeBSD のディスク番号を指定します。 一つめは、それぞれ IDE バスの master に接続されている IDE のディスク が 2 つあり、FreeBSD を二つめのディスクからブートしたいという場合 です。BIOS はこれらを disk 0 と disk 1 として認識しますが、FreeBSD は wd0 と wd2 として認識します。 BIOS のディスク番号が 1、ディスクの種類が 'wd'、FreeBSD 上の ディスク番号が 2 である場合、次のように指定します: 1:wd(2,a)kernel primary バスに slave が接続されている場合は、上記は必要ありません (というか実際は間違いとなります)。 二つめは、システムに一つ以上の IDE ディスクがある場合に、SCSI ディスクからブートする場合です。この場合は、FreeBSD のディスク番号 は BIOS のディスク番号より小さくなります。SCSI ディスクだけでなく、 IDE ディスクも二つある場合は、SCSI ディスクは BIOS のディスク番号 では 2、ディスクの種類が 'da'、FreeBSD 上のディスク番号が 0 と なりますので、次のように指定します: 2:da(0,a)kernel これは BIOS のディスク番号が 2、システム上の最初の SCSI ディスク からブートしたいことを FreeBSD に指定しています。IDE ディスクが 一つの場合は、かわりに '1:' を指定します。 指定すべき正しい値を決定したら、通常のテキストエディタを使用して そのコマンドをそのままタイプした通りに /boot.config ファイルに記述 できます。 他に指定が無ければ、FreeBSD は 'boot:' プロンプトに対するデフォルト の入力として、このファイルの内容を使用します。 Q: FreeBSD のインストール後、ハードディスクからブートしようとしていま す。ブートマネージャのプロンプト `F?' は毎回出るものの、それ以上 ブートが進みません。 A: インストール時にパーティションエディタで指定したディスクジオメトリ が間違っています。パーティションエディタに戻って、正しい値を設定し てください。FreeBSD のインストールは始めからやり直さなければなりま せん。 正しいジオメトリがまったく分からない時には、こんな風にしてみてくだ さい。ディスクの先頭に小さな DOS のパーティションを作ってインストー ルしてください。そしてその後ろに FreeBSD をインストールします。イン ストールプログラムが DOS パーティションを見て、正しい値を推定してく れます。大概これでうまくいきます。 次の技はもはやおすすめではありませんが、ご参考まで残しておきます: FreeBSD 専用のサーバやワークステーションを立ち上げていて、DOS や Linux やその他のオペレーティングシステムとの互換を考えなくてもよい ならば、ディスク全体を FreeBSD で用いる非標準のオプションを使う事 (パーティションエディタの `A') もできます。この場合にはジオメトリに ついて気にする必要はなくなりますが、そのディスクを FreeBSD 以外で使 う事はできなくなってしまいます。 既知のハードウェア上の問題と Q & A ---------------------------------- Q: mcd0 が存在しないデバイスを見つけたと思ってしまうので、Intel EtherExpress カードが動きません。 A: UserConfig を使って (HARDWARE.TXT 参照) 、mcd0 と mcd1 デバイスの 検出を無効化してください。一般的には、カーネル内のデバイスのうち、 使うものだけを有効化してください。 Q: FreeBSD では 3Com PCMCIA カードをサポートしているとなっていますが、 私のカードをノートパソコンに挿入しても認識されません。 A: 考えうる原因はいくつかあります。最初に、FreeBSD は multi-function のカードをサポートしていません。従って ethernet/modem コンボカード (3C562 など) は動きません。3C589 カードのデフォルトのドライバは FreeBSD の他の全てのドライバと同様に、カードの NVRAM に入っている configuration データを使って動作するように書かれています。NVRAM に 格納されている IRQ, port, IOMEM の値と FreeBSD のドライバの設定を 一致させる必要があります。 残念なことに、これらのデータを読み取るには 3COM が供給している DOS プログラムを使うしかありません。このプログラムは完全に `clean' な 状態 (他のドライバが動いていない状態) で動かす必要があります。プロ グラムは `CARD-Services' が見つからないと表示しますが、そのまま続 けて下さい。 NVRAM の値を読み取る必要があります。 IRQ, port, IOMEM の値 (3COM ではこれを CIS tuple と呼んでいます) を読み取ってくださ い。最初の二つはこのプログラムで設定できます。 IOMEM は設定できず値 を読み取れるだけです。これらの値がわかったら FreeBSD の UserConfig で設定してカードが認識されるようにしてください。 Q: FreeBSD が私の PCMCIA ネットワークカードを認識したのですが、パケッ トが送られていないようです。 A: 多くの PCMCIA カードでは 10-Base2 (BNC) と 10-BaseT のいずれかのコ ネクタでネットワークにつなげるようになっています。ドライバは正しい コネクタを自動的に選択することはできないので、どちらを使うか設定す る必要があります。二つのコネクタを切り替えるには link フラグを設定 します。カードによって '-link0 link1' か 'link0 -link1' のどちらか で正しいネットワークコネクタを選べます。 sysinstall ではネットワー ク設定の画面の 'Extra options to ifconfig:' の箇所で設定できます。 Q: ed ネットワークカードを使っています。認識はされるのですが、デバイス タイムアウトエラーが起きてしまいます。 A: たぶんカードの IRQ の設定がカーネル設定とは違っているのでしょう。ed ドライバはデフォルトではソフトウェアコンフィグレーション(DOS の EZSETUP で入力した値) は使いません。しかし、カーネルコンフィグレー ションファイルで IRQ のフィールドに `?' を指定した場合は、ソフトウェ アコンフィグレーションを使うようになります。 カード上のジャンパを変更してハードウェアコンフィグレーションを おこなってもいいですし (必要ならカーネル設定も変えてください)、 UserConfig で IRQ に `-1' を指定するか、またはカーネルコンフィグ レーションファイルの IRQ フィールドに `?' を指定することによって、 ソフトウェアコンフィグレーションを使うこともできます。 他に、カードが IRQ 9 を使っているのが原因かもしれません。 IRQ 9 は IRQ 2 と共用されていて (特に IRQ 2 を使う VGA カードを使っている時) しばしば問題になります。 IRQ 2 や IRQ 9 はできれば避けた方がよいで しょう。 Q: 松下/Panasonic のドライブが認識されません。 A: matcd ドライバに与えた I/O ポートアドレスが、ホストインタフェースカー ドのアドレスと一致しているのを確認してください。 (SoundBlaster の DOS ドライバの中には、CD-ROM インタフェースの I/O ポートアドレスを 実際より 0x10 低く表示するものがあります。) カードや資料を調べても正しいアドレスが分からない場合には、 UserConfig で I/O ポートアドレスを -1 にしてシステムを起動してくだ さい。するとドライバは、いろいろな会社が松下/Panasonic/Creative の CD-ROM インタフェースに使っているアドレスを順に見ていき、正しいアド レスを探します。アドレスが分かったら、再び UserConfig でそのアドレ スを設定してください。アドレスを -1 にしたままだと、システムのブー トに余分な時間がかかるし、他のデバイスと干渉して問題が出るかもしれ ません。 松下の CR-562 と CR-563 倍速ドライブのみがサポートされています。 Q: IBM ThinkPad (tm) ラップトップでインストールフロッピーからブートし ましたが、キーボードからまともに入力できません。 A: 古い IBM ラップトップは非標準のキーボードコントローラを使用している ため、コンソールドライバ (atkbd0) に ThinkPad で動作する特殊なモードに 切り替えるよう伝える必要があります。UserConfig で atkbd0 の 'Flags' を 0x4 に変更すると動作するようになるでしょう。('Keyboard' Input Menu を見てください。) Q: インストールフロッピーからブートさせようとしましたが、次のようなメッ セージが表示されたあと止ったように見えます。また、キーボードからも何 もできません。 Keyboard: no A: 古い XT/AT (84-キー) キーボードの完全なサポートは、容量不足のためブー トブロックから省かれました。幾つかのノートパソコンはこのタイプのキー ボードを塔載しています。もしこの種のハードウェアをまだ使用するなら、 CD-ROM やインストールフロッピーからブートしたとき、上記のメッセージが 表示されるでしょう。 このメッセージを確認してすぐにスペースバーを叩けば以下のプロンプトが 表示されるでしょう。 >> FreeBSD/i386 BOOT Default: x:xx(x,x)/boot/loader boot: ここで `-Dh' とタイプすれば正常に作業を続行できるでしょう。 Q: 松下/Panasonic の CR-522, CR-523 または TEAC CD55a ドライブを持って いるのですが、I/O ポートを正しく設定しても認識されません。 A: これらの CD-ROM ドライブは現在の FreeBSD ではサポートされていません。 これらのドライブのコマンドセットは、倍速の CR-562 や CR-563 とは互 換がないのです。 標準速の CR-522 と CR-523 はキャディ式なので区別できます。 Q: テープドライブからインストールしようとしているのですが、次のメッセー ジが出てうまくいきません。助けて ! sa0(aha0:1:0) NOT READY csi 40,0,0,0 A: 現在の sysinstall には制限があって、sysinstall の開始時からドライブ にテープが入っていないと、認識する事ができません。テープをドライブ に入れたままにして始めからやり直してください。 Q: FreeBSD をインストールしたのですが、ハードディスクからのブート時に メッセージ "Changing root to /dev/da0a" を出した後でハングしてしま います。 A: 3com 3c509 ethernet アダプタを持つシステムで発生する事があります。 ep0 デバイスドライバは、0x300 を使う他のデバイスの検出処理によって 不安定になるようです。まず、システムの電源を切って再起動してください。 ``Boot:'' プロンプトで ``-c'' を指定してください。これで UserConfig が起動します。0x300 にある ep0 以外のすべてのデバイスを "disable" して検出処理を止めてください。UserConfig を抜けると、正常に FreeBSD をブートできるようになります。 Q: ブート中、"fd0: ....." のメッセージの直後でハングしてしまいます。 A: これはハングではなくて、ある種のシステムでは wdc0 の検出に大変長い 時間がかかるのです (普通は WD コントローラを持たないシステムでこう なります) 。我慢して待っていればシステムはブートします。この問題を 除くには、UserConfig を使って wdc0 デバイスを "disable"するか、カス タムカーネルを作ってください。 Q: Intel EtherExpress 16 カードを認識してくれません。 A: Intel EtherExpress 16 カードを使う場合には、アドレス 0xD0000 にメモ リマップして、マップするメモリの量を 32K に設定しなければなりません。 設定は Intel が提供している softset.exe を使っておこないます。 Q: EISA HP Netserver へのインストール時に、オンボードの AIC-7xxx SCSI コントローラが検出されません。 A: これは既知の問題であり、将来うまくいけば修正されるでしょう。結局の ところシステムをインストールするためには UserConfig で -c オプショ ンで立ちあげておこないますが、その際に visual モードではなく、あり のままの古い CLI モードを使用します。プロンプトで次のようにタイプし てください。 eisa 12 quit (`quit' の代わりに、`visual' と叩いて visual モードのコンフィグレー ションセッションの残りの設定をおこなっても構いません。) カスタム カーネルをコンパイルすることが推奨されていますが、dset(8) もこの値 を認識するようになりました。 この問題についての説明、この後どうするかについては FAQ のトピック 3.16 を参照してください。FAQ は、`doc' 配布ファイルをインストールす ればローカルマシンの /usr/share/doc/FAQ にあることをおぼえておいて ください。 Q: 私は Panasonic AL-N1 (訳注: Panasonic Let's Note のこと) かライオス のチャンドラーを使っていますが、インストーラが起動する前にシステム がハングしてしまいます。 A: あなたのマシンは何らかの理由で新しい i586_copyout と i586_copyin の コードとの相性に問題があります。この現象を防止するには、インストール ブートフロッピーの本当に最初のメニュー (kernelk UserConfig モードに いくかどうかのメニュー) に来た時に、コマンドラインインターフェース ("expert mode") バージョンを選択し、以下の行をタイプして下さい。 flags npx0 1 これで正常に起動できます。この値はカーネルにセーブされますので、 一度だけこれを行なえばよいでしょう (訳注: PAO boot.flp はまだ boot.flp の UserConfig をカーネルに書き込むことが出来ません。 したがって、boot.flp の起動時、GENERIC カーネルの起動時、PAO カーネルの最初の起動時の 3 回だけ、この操作を行なう必要があります)。 Q: CMD640 IDE コントローラが broken だと言われています。 A: その通りです。このチップがシステムで使用されている場合は、問題を 回避するコードが自動的に有効になります。 詳細についてはディスクドライバのマニュアルページを参照してください (man 4 wd)。 Q: Compaq Aero notebook でフロッピーディスクからインストールしようとすると、 "No floppy devices found! Please check ..." というメッセージがでます。 A: Compaq はいつも他のシステムとちょっと違っており、Aero notebook の CMOS RAM にはフロッピードライブに関する情報は格納されません。 したがってフロッピーディスクドライバは、ドライブが接続されていない ものとみなします。UserConfig の画面で、fdc0 デバイスの Flags の値を 0x1 に設定してください。これによってドライバに対して CMOS をまった く参照しなくても、一台目のフロッピーディスクドライブが (1.44 MB ド ライブとして) 存在すると見せかけることができます。 Q: Intel AL440LX ("Atlanta") ベースのシステムで初めてハードディスクか らブートしようとしたら、"Read Error" というメッセージがでて止まって しまいます。 A: このボードの少なくとも一部では BIOS に潜んでいるバグが発現し、フロッ ピーディスクからブートしていると FreeBSD のブートローダが勘違いして しまうという事態を招きます。 これは BootEasy ブートマネージャを使用していない場合にだけ問題とな ります。バグを回避するには、FreeBSD のインストール時にディスクを 「互換」モードでスライスを作成し、BootEasy をインストールするか、 BIOS をアップグレードしましょう (詳しくは Intel の WEB サイトを参照)。 Q: Dell Poweredge XE へのインストール中に、Dell proprietary RAID コントローラ DSA (Dell SCSI アレイ) が認識されません。 A: EISA configuration ユーティリティを使って、DSA を AHA-1540 エミュレーションモードを使用するように設定してください。 FreeBSD が DSA を Adaptec AHA-1540 SCSI コントローラとして IRQ 11、 I/O ポート 340 の設定で検出します。エミュレーションモードでは DSA RAID ディスクを使いますが、RAID health 監視機能など DSA 固有の 機能は使用できません。 Q: Ethernet アダプタが AMD PCnet-FAST (または互換) として検出されて いますが、動作しません (例: IBM Netfinity 5xxx または 7xxx 上の オンボード Ethernet チップ) A: 'lnc' ドライバは現在のところ不完全であり、PCnet-FAST および PCnet-FAST+ ではしばしば正しく動作しません。別の Ethernet アダプタ をインストールする必要があります。 Q: IBM EtherJet PCI カードは 'fxp' ドライバで正しく検出されますが、 カードのランプが点灯せずネットワークに接続しません。 A: なぜこれが発生するのかよくわかっていません。IBM もわかっていません (問い合わせ済みです)。このカードは IBM のラベルが貼られている標準的 な Intel EtherExpress Pro/100 ですが、これらのカードは通常は問題なく 動作しています。これらの症状はいくつかの IBM Netfinity server でのみ 見られるものかもしれません。唯一の解決策は、別の Ethernet アダプタを インストールすることです。 Q: IBM Netfinity 3500 でのインストール時にネットワークの設定をしようと したら、システムがフリーズしました。 A: Netfinity 3500 のオンボード Ethernet には問題があり、今のところ見極め ができていません。おそらく設定ミスのあるシステムの SMP 機能と関係が ありそうです。別の Ethernet アダプタをインストールする必要があり、 オンボードのアダプタを設定するのはあきらめた方が良いでしょう。 [ ここに追加すべきハードウェアに関する情報は jkh@freebsd.org まで ] # Original revision: 1.3.2.3 $Id: TROUBLE.TXT,v 1.2 1999/10/08 13:42:55 toshi Exp $