この付録では、システムが正常に起動できない場合、いくつかの一般的な障害とそれらを軽減する方法について説明します。
システム電源投入時の初期設定メッセージについてよく理解してください。これらのメッセージは、システム起動時のさまざまな段階でシステムが実行する機能を示すため、問題をより正確に判断できます。さらに、POST から OpenBoot、起動プログラム、カーネルへの制御の移動も示します。
次の例では、Sun UltraTM 1 システムでの OpenBoot 初期設定処理を示します。バナーの前のメッセージは、diag-switch? 変数が true の場合だけ ttya に表示されます。
実際の OpenBoot 初期設定処理はシステムによって異なります。使用するシステムで表示されるメッセージは異なる場合があります。
...ttya initialized (ここで POST は実行を終了し、OpenBoot ファームウェアに制御を移す。) Probing Memory Bank #0 16 + 16: 32 Megabytes (メモリーをプローブする) Probing Memory Bank #1 0 + 0 : 0 Megabytes Probing Memory Bank #2 0 + 0 : 0 Megabytes Probing Memory Bank #3 0 + 0 : 0 Megabytes (use-nvramrc? が true の場合、ファームウェアが NVRAMRC コマンドを 実行し、次に Stop-x コマンドの有無を調べ、デバイスを プローブする。そこでキーボードの LED が点滅する。) Probing UPA Slot at le,0 Nothing there (デバイスをプローブする) Probing /sbus@lf,0 at 0,0 cgsix Probing /sbus@lf,0 at 1,0 Nothing there Probing /sbus@lf,0 at 2,0 Nothing there Sun Ultra 1 UPA/SBus (UltraSPARC 167 MHz), Keyboard Present (バナーを表示する) OpenBoot 3.0, 32 MB memory installed, Serial #7570016 Ethernet address 8:0:20:73:82:60, Host ID: 80738260. ok boot disk3 Boot device: /sbus/espdma@e,8400000/esp@e,8800000/sd@3,0 (ファームウェアが起動プログラムで TFTP を実行する。) sd@3,0 File and args: (このメッセージが表示されたあと、制御が 起動プログラムへ移される。) FCode UFS Reader 1.8 01 Feb 1995 17:07:00,IEEE 1275 Client Interface. (起動プログラムが実行を開始する。) Loading: /platform/sun4u/ufsboot cpu0: SUNW,UltraSPARC (upaid 0 impl 0x0 ver 0x0 clock 143 MHz) SunOS Release 5.5 Version quick_gate_build:04/13/95 (UNIX(R) System V Release 4.0) (このメッセージが表示されたあと、制御がカーネルへ移される。) Copyright (c) 1983-1995, Sun Microsystems, Inc. (カーネルが実行を開始する。) DEBUG enabled (カーネルメッセージが続く。) |
一部の OpenBoot システムはシステムのキーボード上でキーを組み合わせて押すことによって、OpenBoot のコマンド機能を提供します。
表 C-1に、SPARC 互換システムが提供するキーボードコードについて説明します。これらのコマンドのどれを実行するときも、システムに電源を投入した直後に対応のキーを、キーボードの LED が点灯するまで押し続けてください。
表 C-1 SPARC 互換キーボードコード
コマンド |
説明 |
---|---|
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 に設定されているということです。端末を 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 として定義されているディスクからシステムを起動させるので注意してください。起動する場合は、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 |
障害 : システムがネットワークから起動しない。
この問題の考えられる原因は次の 4 つです。
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 |
ターゲット番号とその対応ユニット番号を書き留めてください。
別のディスクを接続して手順 b をもう一度実行します。
エラーが発生したら、そのディスクのターゲット番号を使用されていない別のターゲット番号に変更します。
すべてのディスクが再び接続されるまで、手順 b、c、d を繰り返します。
障害 : システムに複数のモニターが接続されていて、コンソールが意図するモニターに設定されていない。
システムに複数のモニターが接続されている場合は、OpenBoot ファームウェアは常にコンソールを NVRAM の変数 output-device によって指定されるフレームバッファーに設定します。output-device のデフォルト値は screen であり、これは、ファームウェアがシステム内で見つけるフレームバッファーの別名です。
このデフォルトを変更する一般的な方法は、たとえば次のように、output-device を該当するフレームバッファーに変更することです。
ok nvalias myscreen /sbus/cgsix ok setenv output-device myscreen ok reset-all |
コンソールを特定のモニターに設定するもう 1 つの方法は、NVRAM 変数 sbus-probe-list を変更することです。
ok show sbus-probe-list (現在値とデフォルト値を表示) |
コンソールとして選定するフレームバッファーがスロット 2 にある場合は、最初にスロット 2 をプローブするように sbus-probe-list を変更します。
ok setenv sbus-probe-list 2013 ok reset-all |
Sbus フレームバッファー以外のバッファーがインストールされている場合、2 つ目の方法は有効ではありません。