この付録では、システムが正常に起動できない場合、いくつかの一般的な障害とそれらを軽減する方法について説明します。
システム電源投入時の初期設定メッセージについてよく理解してください。これらのメッセージは、システム起動時のさまざまな段階でシステムが実行する機能を示すため、問題をより正確に判断できます。さらに、POST から OpenBoot ファームウェア、起動プログラム、カーネルへの制御の移動も示します。
次の例では、SPARCstation 10 システムでの OpenBoot 初期設定処理を示します。バナーの前のメッセージは、diag-switch? 変数が真の場合だけ ttya に表示されます。
表示されるカーネルメッセージは、使用するオペレーティングシステムのバージョンによって変わることがあります。
ttya initialized (ここで POST は実行を終了し、OpenBoot ファームウェアに制御を移す。) |
Cpu #0 TI,TMS390Z50 (CPU モジュールをプローブする) Cpu #1 Nothing there Cpu #2 Nothing there Cpu #3 Nothing there Probing Memory Bank #0 16 Megabytes of DRAM (メモリーをプローブする) Probing Memory Bank #1 Nothing there Probing Memory Bank #2 Nothing there Probing Memory Bank #3 Nothing there Probing Memory Bank #4 Nothing there Probing Memory Bank #5 Nothing there Probing Memory Bank #6 Nothing there Probing Memory Bank #7 Nothing there |
デバイスをプローブする前に、use-nvramrc? が true なら NVRAMRC コマンドを実行し、Stop-x コマンドのキーボード LED フラッシュをチェックする。
Probing /iommu@f,e0000000/sbus@f,e0001000 at f,0 (デバイスをプローブする) espdma esp sd st ledma le SUNW,bpp SUNW,DBRIa Probing /iommu@f,e0000000/sbus@f,e0001000 at 0,0 Nothing there Probing /iommu@f,e0000000/sbus@f,e0001000 at 1,0 Nothing there Probing /iommu@f,e0000000/sbus@f,e0001000 at 2,0 Nothing there Probing /iommu@f,e0000000/sbus@f,e0001000 at 3,0 Nothing there SPARCstation 10 (1 X 390Z50), Keyboard Present (バナーを表示する) ROM Rev. 2.10, 16 MB memory installed, Serial #4194577. Ethernet address 8:0:20:10:61:b5, Host ID: 72400111. Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/ (ファームウェアが起動プログラムで tftp を実行する。) sd@3,0 File and args: (このメッセージが表示されたあと、制御が起動プログラムへ移される。) root on /iommu@f,e0000000/sbus@f,e0001000/espdma@(起動プログラムが実行を開始する。) f,400000/esp@f,800000/sd@3,0:a fstype 4.2 Boot: vmunix Size: 1425408+436752+176288 bytes (このメッセージが表示されたあと、制御がカーネルへ移される。) Viking/NE: PAC ENABLED (カーネルが実行を開始する。) ... (カーネルメッセージが続く。) |
表 D-1 に、一部の障害の解決に有効なコマンドについて説明します。これらのコマンドのどれを実行するときも、システムに電源を投入した直後に対応のキーを、キーボードの LED が点灯するまで押し続けてください。
表 D-1 緊急キーボードコマンド
コマンド |
説明 |
---|---|
Stop |
POST を省略します。このコマンドはセキュリティモードには依存しません。(注: 一部のシステムはデフォルトで POST を省略します。そのような場合は Stop-D を使用して POST を起動してください。) |
Stop-A |
強制終了させます。 |
Stop-D |
診断モードに入ります (diag-switch? を true に設定します)。 |
Stop-F |
プローブを行わず、TTYA で FORTH に入ります。fexit を使用して初期設定処理を続けます。ハードウェアが壊れている場合に効果があります。 |
Stop-N |
NVRAM の内容をデフォルト設定に戻します。 |
これらのコマンドは、PROM セキュリティーがオンの場合は使用不可になります。また、システムが full セキュリティーを有効にしている場合も、ok プロンプトを表示できるパスワードがなければ、上記のコマンドはどれも使えません。
sync コマンドは、処理中のどのような情報でもただちに強制的にハードディスクに書き出します。これは、オペレーティングシステムがクラッシュしたり、すべてのデータを保存できないうちに中断されてしまった場合に効果があります。
sync は実際には制御をオペレーティングシステムに戻し、データ保存処理が行われます。ディスクデータが書き込まれると、オペレーティングシステムは自身のコアイメージの保存を開始します。このコアダンプが必要でない場合は、Stop-A キー処理でこの保存処理を中断できます。
この節では、一般的障害とそれらの障害の解決方法について説明します。
障害: システムの画面がブランクになり、出力をまったく表示しない。
この問題の考えられる原因を次に示します。
ハードウェアに障害がある。
システムのマニュアルを参照してください。
キーボードが接続されていない。
キーボードを接続してない場合は、出力は代わりに TTYA に送られます。この問題を解決するには、システムの電源を落とし、キーボードを接続し、再び電源を投入します。
モニターに電源が入らないか、接続されていない。
モニターの電源ケーブルを点検してください。モニターケーブルがシステムフレームバッファーに接続されていることを確認します。その後で、モニターに電源を入れます。
output-device が TTYA または TTYB に設定されている。
これは、NVRAM 変数 output-device が、screen にでなく、ttya または ttyb に設定されているということです。次のいずれかの処置を行います。
システムの電源を落とします。次に再び電源を投入し、ただちに Stop-N を押します。これで、すべての NVRAM 変数がそれぞれのデフォルト値に設定されます。その結果、output-device 変数が screen に設定されます。以前のほかのデフォルト以外の設定もすべてデフォルト値に戻されるので注意が必要です。それらは必要に応じて復元する必要があります。
端末を TTYA に接続し、システムをリセットします。端末に ok プロンプトが表示されたら、出力をフレームバッファーに送るように screen output と入力します。必要な場合は、setenv を使用してデフォルトのディスプレイデバイスを変更してください。
システムに複数のフレームバッファーがある。
システムに複数の追加型フレームバッファーがある場合、または組み込みフレームバッファーが 1 つと、追加型が 1 つまたはそれ以上ある場合は、誤ったフレームバッファーがコンソールデバイスとして使用されることもあり得ます。「コンソールを特定のモニターに設定する」を参照してください。
障害: システムが、ディスクから起動されることになっているが、ネットワークから起動される。
この問題の考えられる原因は次の 2 つです。
NVRAM 変数 diag-switch? が誤って true に設定されている。
Stop-A を使用して起動処理を中断してください。ok プロンプトで次のコマンドを入力します。
ok setenv diag-switch? false ok boot |
システムはこれでディスクから起動を開始します。
NVRAM 変数 boot-device が disk でなく net に設定されている。
Stop-A を使用して起動処理を中断してください。ok プロンプトで次のコマンドを入力します。
ok setenv boot-device disk ok boot |
上記のコマンドは、デバイス別名リストに disk (ターゲット 3)として定義されているディスクからシステムを起動させるので注意してください。disk1 (ターゲット 1)、disk2 (ターゲット 2)、または disk3 (ターゲット 3) から起動する場合は、boot-device を適切に設定します。
障害: システムがネットワークからでなくディスクから起動する。
boot-device が net に設定されていない。
Stop-A を使用して起動処理を中断してください。ok プロンプトで次のコマンドを入力します。
ok setenv boot-device net ok boot |
障害: システムが誤ったディスクから起動する。(たとえば、システムにディスクが複数あって、システムを disk2 から起動したいのに、disk1 から起動する。)
boot-device が正しいディスクに設定されていない。
Stop-A を使用して起動処理を中断してください。ok プロンプトで次のコマンドを入力します。
ok setenv boot-device disk2 ok boot |
障害: システムがネットワークから起動しない。
この問題の考えられる原因は次の 2 つです。
NIS マップが古くなっている。
システム管理者に報告してください。
Ethernet ケーブルが接続されていない。
Ethernet ケーブルを接続してください。システムは起動処理を開始します。
サーバーが応答せず、「no carrier」メッセージが表示される。
システム管理者に報告してください。
tpe-link-test が使用不可になっている。
システムマニュアルのトラブルシューティングに関する説明を参照してください。(注: より対線 Ethernet がないシステムには tpe-link-test 変数がないので注意してください。) (test net で Ethernet の動作を確認することができます。)
障害: ディスクからシステムを起動しようとすると、失敗し、次のようなメッセージが表示される。
The file just loaded does not appear to be executable.
起動ブロックがなくなっているか、壊れている。
新しい起動ブロックをインストールしてください。
障害: ディスクからシステムを起動しようとすると、失敗し、次のようなメッセージが表示される。
Can't open boot device.
(特に外部ディスクの場合) ディスクの電源が落ちていることがある。
ディスクに電源を投入し、ディスクとシステムに SCSI ケーブルが接続されていることを確認してください。
障害: システムにディスクが複数インストールされていて、SCSI 関係のエラーメッセージが表示される。
SCSI ターゲット番号設定が重複している可能性があります。
次の手順を行ってみてください。
1 つだけ残して、すべてのディスクの接続を外します。
ok プロンプトで次のように入力します。
ok probe-scsi-all |
ターゲット番号とその対応ユニット番号を書き留めてください。
別のディスクを接続して手順 2 をもう一度実行します。
エラーが発生したら、そのディスクのターゲット番号を使用されていない別のターゲット番号に変更します。
すべてのディスクが再び接続されるまで、手順 2、3、4 を繰り返します。
障害: システムに複数のモニターが接続されていて、コンソールが意図するモニターに設定されていない。
システムに複数のモニターが接続されている場合は、OpenBoot ファームウェアは常にコンソールを NVRAM 変数 output-device によって指定されるフレームバッファーに設定します。output-device のデフォルト値は screen であり、これは、ファームウェアがシステム内で最初に見つけるフレームバッファーの別名です。
このデフォルトを変更する一般的な方法は、たとえば次のように、output-device を該当するフレームバッファーに変更することです。
ok nvalias myscreen /obio/cgfourteen ok setenv output-device myscreen ok reset |
コンソールを特定のモニターに設定するもう 1 つの方法は、NVRAM 変数 sbus-probe-list を変更することです。
ok show sbus-probe-list (現在値とデフォルト値を表示) sbus-probe-list f0123 f0123 (システムの SBus スロット数はシステムにより異なる。) ok |
コンソールとして選定するフレームバッファーがスロット 2 にある場合は、最初にスロット 2 をプローブするように sbus-probe-list を変更します。
ok setenv sbus-probe-list 23f01 ok reset |