作業 |
説明 |
参照先 |
---|---|---|
復旧を目的としてシステムを停止します。 |
破損したファイルによってシステムのブートが正常に行えない場合は、最初にシステムを停止して復旧を試みます。 | |
強制的にシステムのクラッシュダンプを実行し、システムをリブートします。 |
トラブルシューティング手段としてシステムのクラッシュダンプとリブートを強制的に実行できます。 | |
復旧を目的として SPARC システムをブートします。 |
システムをブートして、システムの正常なブートを妨げている重要なシステムファイルを修復します。 | |
Oracle Solaris ZFS ルートの存在する SPARC システムを、復旧目的でブートします。 |
システムをブートして、Oracle Solaris ZFS ルート環境への正常なログインを妨げている root パスワードまたは類似の問題から復旧します。エラーの重大度に応じて、フェイルセーフモードでブートするか、代替メディアからブートする必要があります。 | |
カーネルデバッガを使ってシステムをブートします。 |
カーネルデバッガを使ってシステムをブートして、ブート問題のトラブルシューティングを実行できます。システムのブートには kmdb コマンドを使用します。 |
システムの正常なブートを妨げている問題のトラブルシューティングには、次の方法が 1 つ以上必要になることがあります。
システムのブート時にエラーメッセージのトラブルシューティングを行います。
システムを停止して復旧を試みます。
復旧を目的としてシステムをブートします。
強制的にクラッシュダンプを実行し、システムをリブートします。
kmdb コマンドを使用してカーネルデバッガでシステムをブートします。
モニターに、ok PROM プロンプトが表示されます。
ok |
アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop + A または L1 + A キーを押します。端末では、Break キーを押します。
ファイルシステムを同期させます。
ok sync |
syncing file systems... というメッセージが表示されたら、アボートキーシーケンスをもう一度入力します。
該当する boot コマンドを入力して、ブートプロセスを起動します。
詳細は、boot(1M) のマニュアルページを参照してください。
システムが指定した実行レベルになっていることを確認します。
# who -r . run-level s May 2 07:39 3 0 S |
Press Stop-A ok sync syncing file systems... Press Stop-A ok boot |
場合によっては、トラブルシューティングの目的でクラッシュダンプを強制実行し、システムをリブートする必要があります。デフォルトでは、savecore 機能を使用できます。
システムのクラッシュダンプについては、『Solaris のシステム管理 (上級編)』の第 17 章「システムクラッシュ情報の管理 (手順)」を参照してください。
システムのクラッシュダンプを強制実行するには、次の手順を実行します。この手順のあとに紹介する例は、halt -d コマンドを使用してシステムのクラッシュダンプを強制実行する方法を示しています。このコマンドの実行後は、手動でシステムをリブートする必要があります。
システムのアボートキーシーケンスを入力します。
アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop + A または L1 + A キーを押します。端末では、Break キーを押します。
ok PROM プロンプトが表示されます。
ファイルシステムを同期させ、クラッシュダンプを書き出します。
> n ok sync |
クラッシュダンプがディスクに書き出されると、システムはそのままリブートします。
システムが実行レベル 3 になっていることを確認します。
ブートプロセスが正常に終了すると、ログイン画面かログインプロンプトが表示されます。
hostname console login: |
次の例は、halt -d と boot の各コマンドを使用して、システム jupiter のクラッシュダンプとリブートを強制実行する方法を示しています。システムのクラッシュダンプとリブートを強制実行する場合は、この方法を使用してください。
# halt -d Jul 21 14:13:37 jupiter halt: halted by root panic[cpu0]/thread=30001193b20: forced crash dump initiated at user request 000002a1008f7860 genunix:kadmin+438 (b4, 0, 0, 0, 5, 0) %l0-3: 0000000000000000 0000000000000000 0000000000000004 0000000000000004 %l4-7: 00000000000003cc 0000000000000010 0000000000000004 0000000000000004 000002a1008f7920 genunix:uadmin+110 (5, 0, 0, 6d7000, ff00, 4) %l0-3: 0000030002216938 0000000000000000 0000000000000001 0000004237922872 %l4-7: 000000423791e770 0000000000004102 0000030000449308 0000000000000005 syncing file systems... 1 1 done dumping to /dev/dsk/c0t0d0s1, offset 107413504, content: kernel 100% done: 5339 pages dumped, compression ratio 2.68, dump succeeded Program terminated ok boot Resetting ... Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard OpenBoot 3.15, 128 MB memory installed, Serial #10933339. Ethernet address 8:0:20:a6:d4:5b, Host ID: 80a6d45b. Rebooting with command: boot Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a File and args: kernel/sparcv9/unix SunOS Release 5.10 Version s10_60 64-bit Copyright 1983-2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. configuring IPv4 interfaces: hme0. add net default: gateway 172.20.27.248 Hostname: jupiter The system is coming up. Please wait. NIS domain name is example.com . . . System dump time: Wed Jul 21 14:13:41 2004 Jul 21 14:15:23 jupiter savecore: saving system crash dump in /var/crash/jupiter/*.0 Constructing namelist /var/crash/jupiter/unix.0 Constructing corefile /var/crash/jupiter/vmcore.0 100% done: 5339 of 5339 pages saved Starting Sun(TM) Web Console Version 2.1-dev... . . . |
次の手順は、/etc/passwd などの重要なファイルに、無効なエントリがあり正常にブートできない場合に使用します。
root パスワードがわからない場合やシステムにログインできない場合は、この手順で示すアボートキーシーケンスを使用します。詳細は、「SPARC: 復旧を目的としてシステムを停止する方法」を参照してください。
次の手順で使用されている変数 device-name は、修復するファイルシステムのデバイス名に置き換えてください。システムのデバイス名を調べる場合は、『Solaris のシステム管理 (デバイスとファイルシステム)』の「デバイス構成情報の表示」を参照してください。
システムのアボートキーシーケンスを使用して、システムを停止します。
システムをシングルユーザーモードでブートします。
ファイル内に無効なエントリがあるファイルシステムをマウントします。
# mount /dev/dsk/device-name /a |
新しくマウントしたファイルシステムに移動します。
# cd /a/file-system |
端末タイプを設定します。
# TERM=sun # export TERM |
エディタを使って、ファイルから無効なエントリを削除します。
# vi filename |
ルート (/) ディレクトリに変更します。
# cd / |
/a ディレクトリのマウントを解除します。
# umount /a |
システムを再起動します。
# init 6 |
システムが実行レベル 3 になっていることを確認します。
ブートプロセスが正常に終了すると、ログイン画面かログインプロンプトが表示されます。
hostname console login: |
次の例は、ローカルの CD-ROM からブートしたあとで重要なシステムファイル (この場合は /etc/passwd) を修復する方法を示しています。
ok boot cdrom -s # mount /dev/dsk/c0t3d0s0 /a # cd /a/etc # TERM=vt100 # export TERM # vi passwd (Remove invalid entry) # cd / # umount /a # init 6 |
次の例は、root パスワードを忘れた場合にネットワークからシステムをブートする方法を示しています。この例では、ネットワークのブートサーバーが利用可能になっていることを前提とします。システムをリブートしたあとで必ず新しい root パスワードを適用してください。
ok boot net -s # mount /dev/dsk/c0t3d0s0 /a # cd /a/etc # TERM=vt100 # export TERM # vi shadow (Remove root's encrypted password string) # cd / # umount /a # init 6 |
システムをフェイルセーフモードでブートします。
ok boot -F failsafe |
プロンプトが表示されたら、ZFS BE を /a にマウントします。
. . ROOT/zfsBE was found on rpool. Do you wish to have it mounted read-write on /a? [y,n,?] y mounting rpool on /a Starting shell. |
スーパーユーザーになります。
/a/etc ディレクトリに移動します。
# cd /a/etc |
passwd または shadow ファイルを修正します。
# vi passwd |
システムを再起動します。
# init 6 |
この手順では、カーネルデバッガ (kmdb) を読み込むための基本的な操作を示します。詳細は、『Oracle Solaris モジューラデバッガ』を参照してください。
システムを対話式でデバッグする時間がない場合は、-d オプションを指定して reboot コマンドと halt コマンドを使用します。-d オプションを指定して halt コマンドを実行するには、実行後にシステムを手動でリブートする必要があります。これに対し、reboot コマンドを使用した場合、システムは自動的にブートします。詳細は、reboot(1m) のマニュアルページを参照してください。
システムを停止します。これにより、ok プロンプトが表示されます。
システムを正常に停止するには、/usr/sbin/halt コマンドを使用します。
boot kmdb または boot -k のどちらかを入力して、カーネルデバッガの読み込みを要求します。Return キーを押します。
カーネルデバッガを入力します。
デバッガを入力するための方法は、システムのアクセスに使用するコンソールのタイプによって異なります。
ローカル接続されたキーボードを使用している場合は、キーボードのタイプに応じて Stop + A または L1 + A キーを押してください。
シリアルコンソールを使用している場合は、使用中のシリアルコンソールのタイプに適した方法でブレークを送信します。
カーネルデバッガを初めて入力したときに、ウェルカムメッセージが表示されます。
Rebooting with command: kadb Boot device: /iommu/sbus/espdma@4,800000/esp@4,8800000/sd@3,0 . . . |
ok boot kmdb Resetting... Executing last command: boot kmdb -d Boot device: /pci@1f,0/ide@d/disk@0,0:a File and args: kmdb -d Loading kmdb... |