Solaris のシステム管理 (基本編)

x86: GRUB を実装しないシステムをブートする

次に、リセットボタンを使ってシステムを再起動する手順を示します。システムにリセットボタンがない場合は、電源スイッチを使ってシステムを再起動します。システムの状態によっては Ctrl + Alt + Del キーを使って、システムの動作に割り込むことができます。

Procedurex86: システムを実行レベル 3 (マルチユーザーレベル) でブートする方法

次の手順に従って、現時点で実行レベル 0 になっているシステムを実行レベル 3 でブートします。

  1. Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。

    あるいは、リセットボタンを使用することもできます。システムが停止している場合は、電源スイッチを押してシステムを起動します。

    「Current Boot Parameters」メニューが、数分後に表示されます。

  2. システムを実行レベル 3 でブートするには、b を入力して、Enter キーを押します。

    5 秒以内に選択しない場合、システムは自動的に実行レベル 3 でブートします。

  3. システムが実行レベル 3 になっていることを確認します。

    ブートプロセスが正常に終了すると、ログイン画面かログインプロンプトが表示されます。


    hostname console login:

例 16–1 x86: システムを実行レベル 3 (マルチユーザーレベル) でブートする

新しくインストールした場合、ブートプロンプトで b と入力すると、64 ビット対応の x86 システムは自動的に 64 ビットモードでブートします。アップグレードした場合も、eepromboot-file パラメータが kernel/unix 以外の値にあらかじめ設定されていないかぎり、ブートプロンプトで b と入力すると、64 ビット対応の x86 システムは 64 ビットモードでブートします。

次の例は、64 ビットコンピューティング対応の x86 システムを実行レベル 3 でブートする方法を示しています。


Press any key to reboot
           .
           .
           .
                     <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args: 
Type    b [file-name] [boot-flags] <ENTER>      to boot with options
or      i <ENTER>                               to enter boot interpreter
or      <ENTER>                                 to boot with defaults

                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b
SunOS Release 5.10 Version amd64-gate-2004-09-27 64-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Hostname: venus
NIS domain name is example.com
checking ufs filesystems
/dev/rdsk/c1d0s7: is logging.
venus console login:


例 16–2 x64: 64 ビットコンピューティング対応のシステムを、手動で、64 ビットモードかつ実行レベル 3 (マルチユーザーレベル) でブートする

新しくインストールした場合、ブートプロンプトで b と入力すると、64 ビット対応の x86 システムは自動的に 64 ビットモードでブートします。アップグレードした場合も、eepromboot-file パラメータが kernel/unix 以外の値にあらかじめ設定されていないかぎり、ブートプロンプトで b と入力すると、64 ビット対応の x86 システムは 64 ビットモードでブートします。

次の例は、このタイプのシステムを「手動で」64 ビットモードかつ実行レベル 3 でブートする方法を示しています。


# init 0
# svc.startd: The system is coming down.  Please wait.
svc.startd: 68 system services are now being stopped.
umount: /etc/svc/volatile busy
svc.startd: The system is down.
syncing file systems... done
Press any key to reboot.

Initializing system
Please wait...


                     <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:

Type    b [file-name] [boot-flags] <ENTER>    to boot with options
or      i <ENTER>                             to enter boot interpreter
or      <ENTER>                               to boot with defaults

                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b kernel/amd64/unix
SunOS Release 5.10 Version amd64-gate-2004-09-27 64-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Hostname: venus
NIS domain name is example.com
checking ufs filesystems
/dev/rdsk/c1d0s7: is logging.
venus console login:


例 16–3 64 ビットコンピューティング対応のシステムを、手動で、32 ビットモードかつ実行レベル 3 (マルチユーザーレベル) でブートする

新しくインストールした場合、ブートプロンプトで b と入力すると、64 ビット対応の x86 システムは自動的に 64 ビットモードでブートします。アップグレードした場合も、eepromboot-file パラメータが kernel/unix 以外の値にあらかじめ設定されていないかぎり、ブートプロンプトで b と入力すると、64 ビット対応の x86 システムは 64 ビットモードでブートします。

次の例は、このタイプのシステムを「手動で」32 ビットモードかつ実行レベル 3 でブートする方法を示しています。


# init 0
# svc.startd: The system is coming down.  Please wait.
svc.startd: 68 system services are now being stopped.
umount: /etc/svc/volatile busy
svc.startd: The system is down.
syncing file systems... done
Press any key to reboot.
Resetting...
If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.

                                                    
Initializing system
Please wait...


                     <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args: 

Type    b [file-name] [boot-flags] <ENTER>     to boot with options
or      i <ENTER>                              to enter boot interpreter
or      <ENTER>                                to boot with defaults

                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b kernel/unix
SunOS Release 5.10 Version amd64-gate-2004-09-30 32-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Hostname: venus
NIS domain name is example.com
checking ufs filesystems
/dev/rdsk/c1d0s7: is logging.
venus console login:

Procedurex86: システムを実行レベル S (シングルユーザーレベル) でブートする方法

次の手順に従って、現時点で実行レベル 0 になっているシステムを実行レベル S でブートします。

  1. Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。

    あるいは、リセットボタンを使用することもできます。システムが停止している場合は、電源スイッチを押してシステムを起動します。

    「Current Boot Parameters」メニューが、数分後に表示されます。

  2. システムを実行レベル S でブートするには、b -s と入力して、Enter キーを押します。

    5 秒以内に選択しない場合、システムは自動的に実行レベル 3 でブートします。

  3. プロンプトが表示されたら、スーパーユーザーのパスワードを入力します。

  4. システムが実行レベル S になっていることを確認します。


    # who -r
       .       run-level S  Jul 19 14:37     S      0  3
  5. 実行レベルを S に移行して行う必要がある保守作業を行います。

  6. システム保守作業が完了したら、Ctrl + D キーを押してシステムをマルチユーザー状態にします。


例 16–4 x86: システムを実行レベル S (シングルユーザーレベル) でブートする


Press any key to reboot.
Resetting...
.
.
.
Initializing system 
Please wait...


                     <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:

Type    b [file-name] [boot-flags] <ENTER>     to boot with options
or      i <ENTER>                              to enter boot interpreter
or      <ENTER>                                to boot with defaults

                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b -s
SunOS Release 5.10 Version amd64-gate-2004-09-30 32-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
Booting to milestone "milestone/single-user:default".
Hostname: venus
NIS domain name is example.com
Requesting System Maintenance Mode
SINGLE USER MODE

Root password for system maintenance (control-d to bypass): xxxxxx
Entering System Maintenance Mode
.
.
.
# who -r
   .       run-level S  Jul 19 14:37     S      0  3
(Perform some maintenance task)
# ^D

Procedurex86: システムを対話式でブートする方法

代替のカーネルまたは /etc/system ファイルを指定する必要がある場合、次の手順に従ってシステムをブートします。

  1. Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。

    あるいは、リセットボタンを使用することもできます。システムが停止している場合は、電源スイッチを押してシステムを起動します。

    「Primary Boot Subsystem」メニューが、数分後に表示されます。

  2. Solaris パーティションにアクティブを示すマークが付いていない場合、その Solaris パーティションをリストから選択します。Enter キーを押します。

    5 秒以内に選択しない場合、アクティブなブートパーティションが自動的に選択されます。

    「Current Boot Parameters」メニューが、数分後に表示されます。

  3. b -a と入力して、システムを対話式でブートします。Enter キーを押します。

    5 秒以内に選択しない場合、システムは自動的に実行レベル 3 でブートします。

  4. 次のようにシステムプロンプトに応答します。

    1. プロンプトが表示されたら、ブートに使用するカーネルの名前を入力します。

      デフォルトのカーネルファイル名を使用する場合は、Enter キーを押します。そうでない場合は、代替カーネルの名前を入力して、Enter キーを押します。

    2. プロンプトが表示されたら、モジュールディレクトリの代替パスを入力します。

      デフォルトのモジュールディレクトリを使用する場合は、Enter キーを押します。そうでない場合は、モジュールディレクトリへの代替パスを入力して、Enter キーを押します。

    3. プロンプトが表示されたら、代替システムファイルの名前を入力します。

      /etc/system ファイルが破損している場合、/dev/null を入力します。

    4. プロンプトが表示されたら、root ファイルシステムのタイプを入力します。

      UFS によるローカルディスクブート (デフォルト) を選択する場合は Enter キーを押し、ネットワークブートを選択する場合は NFS と入力します。

    5. プロンプトが表示されたら、ルートデバイスの物理名を入力します。

      代替デバイス名を入力します。デフォルトを使用する場合は Return キーを押します。

  5. これらの質問に応答するためのプロンプトが表示されない場合は、boot -a コマンドを正しく入力しているかどうか確認してください。


例 16–5 x86: システムを対話式でブートする

次の例では、利用できるデフォルトの選択例 ([]で囲まれた部分) を示します。


Press any key to reboot.
Resetting...
.
.
.
Autobooting from bootpath: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a


If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.


Initializing system
Please wait...


                     <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:

Type    b [file-name] [boot-flags] <ENTER>     to boot with options
or      i <ENTER>                              to enter boot interpreter
or      <ENTER>                                to boot with defaults
Running Configuration Assistant...
                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b -a
Enter default directory for modules [/platform/i86pc/kernel /kernel /usr/kernel]:
Press Enter
Name of system file [etc/system]: Press Enter
SunOS Release 5.10 Version amd64-gate-2004-09-30 32-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
DEBUG enabled
root filesystem type [ufs]: Press Enter
Enter physical name of root device[/pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a]: Press Enter
Hostname: venus
NIS domain name is example.com
checking ufs filesystems
/dev/rdsk/c1d0s7: is logging.
venus console login:

x86: ネットワークからのブート

ブートサーバーが利用できれば、どのようなシステムもネットワークからブートできます。スタンドアロンのシステムがローカルディスクからブートできない場合、そのシステムを復旧目的でネットワークからブートできます。

PXE (Preboot Execution Environment) ネットワークブートプロトコルをサポートしている x86 システムでは、Solaris ブートフロッピーディスクを使用しなくても、ネットワークから直接 Solaris x86 システムをブートできます。PXE ネットワークブートは、Intel の PXE 仕様を実装しているデバイスでのみ動作します。システムが PXE ネットワークブートに対応している場合は、Device Configuration Assistant (デバイス構成用補助) ブートフロッピーディスクや Solaris SOFTWARE - 1 CD または DVD を使用しなくても、ネットワークから直接システムをブートできます。


注 –

この Oracle Solaris リリースでは、ソフトウェアは DVD のみで配布されます。


Procedurex86: システムをネットワークからブートする方法

ここに示す手順には、Solaris Device Configuration Assistant (デバイス構成用補助) を使用してネットワークから x86 システムをブートする方法が含まれています。Oracle Solaris 以降の OS では、Device Configuration Assistant (デバイス構成用補助) の動作は変更されています。

Solaris 1/06 10/ リリース以降では、Solaris OS が動作する x86 システム上で GRUB ベースのブートが実装されています。Device Configuration Assistant (デバイス構成用補助) は GRUB メニューに置き換えられています。GRUB を使用したネットワークからの x86 システムのブートについては、「x86 システムをネットワークからブートする」を参照してください。

ネットワークの構成方法には、RARP (Reverse Address Resolution Protocol)、DHCP (Dynamic Host Configuration Protocol) の 2 種類があります。PXE ネットワークブートのデフォルトのネットワークブート方法は、DHCP です。非 PXE デバイスのデフォルトのネットワークブート方法は、RARP です。非 PXE デバイスの場合、ネットワーク上で RARP ブートサーバー、DHCP ブートサーバーのいずれが利用可能であるかに応じて、いずれかの方法を使用できます。


注 –

PXE ネットワークブートに DHCP サーバーを使用する場合は、DHCP の設定を追加する必要があります。DHCP の設定の概要については、『Solaris のシステム管理 (IP サービス)』のパート III「DHCP」を参照してください。インストールに対応するように DHCP サーバーを設定する場合は、『Oracle Solaris 10 9/10 インストールガイド (ネットワークインストール)』を参照してください。


PXE ネットワークブートを実行する場合、あるいは Solaris SOFTWARE のメディアからシステムをブートする場合、システムは自動的にブートします。Device Configuration Assistant (デバイス構成用補助) のメニューはデフォルトで表示されなくなりました。非 PXE デバイスをブートする場合、次の手順内で、ネットワーク構成を変更するために Device Configuration Assistant (デバイス構成用補助) のメニューを表示する方法を記述した部分の手順に従う必要があります。

  1. Device Configuration Assistant (デバイス構成用補助) ブートフロッピーディスク、または Solaris SOFTWARE のメディアを適切なドライブに挿入します。

    • あるいは、システムまたはネットワークアダプタの BIOS 構成プログラムを使用して、PXE ネットワークブートを使用可能にします。

      • ブートフロッピーディスクを使用する場合、Device Configuration Assistant (デバイス構成用補助) の最初のメニューが表示されます。

      • Oracle Solaris SOFTWARE - 1 CD または DVD を使用するか、ネットワークから PXE デバイスをブートする場合、システムは自動的にブートします。

        ネットワーク構成を変更し、Device Configuration Assistant (デバイス構成用補助) のメニューを表示させたい場合、次のメッセージが表示されたときに Esc キーを押します。


        If the system hardware has changed, or to boot from a different
        device, interrupt the autoboot process by pressing ESC.
        
        Press ESCape to interrupt autoboot in 5 seconds.

    「Device Configuration Assistant」画面が表示されます。

  2. Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。

    あるいは、リセットボタンを使用することもできます。システムが停止している場合は、電源スイッチを押してシステムを起動します。

  3. 「F2_Continue」(F2 キー) を押して、デバイスを走査します。

    デバイスの識別処理が実行されます。続いて、「Identified Devices」画面が表示されます。

  4. 「F2_Continue」(F2 キー) を押して、ドライバを読み込みます。

    ブート可能なドライバが読み込まれます。続いて、「Boot Solaris」メニューが表示されます。

  5. Device Configuration Assistant (デバイス構成用補助) を使用してネットワーク構成を変更します。

    1. 「F4_Boot Tasks」(F4 キー) を押します。

    2. Set Network Configuration Strategy」を選択します。「F2_Continue」(F2 キー) を押します。

    3. RARP」または「DHCP」を選択して、「F2_Continue」(F2 キー) を押します。


      注 –

      上記手順は、非 PXE デバイスをネットワークからブートする場合にのみ適用されます。PXE ネットワークブートの場合は、デフォルトのネットワークブート方法である DHCP を使用する必要があります。


      新しいネットワークブート方法を確認するメッセージが表示されます。ここで選択したネットワークブート方法は、以降、フロッピーディスクでブートしたときのデフォルトのネットワークブート方法として保存されます。

    4. 「F3_Back」を押して、「Boot Solaris」メニューに戻ります。

  6. NET」をブートデバイスとして選択します。

  7. F2 キーを押して、ネットワークデバイスをブートします。

    「Solaris boot option」画面が表示されます。

x86: Device Configuration Assistant (デバイス構成用補助) の使用


注 –

この Solaris リリースでは、Device Configuration Assistant (デバイス構成用補助) は GRUB メニューに置き換えられています。この機能についての詳細は、「GRUB を使用して x86 システムをブートする (作業マップ)」を参照してください。


Solaris 10: Device Configuration Assistant (デバイス構成用補助) (Oracle Solaris x86 版) は、さまざまなハードウェア構成作業やブート作業を実行するためのプログラムです。

Device Configuration Assistant (デバイス構成用補助) のメニューにアクセスするには、次のいずれかの方法を使用します。

この章で説明する手順では、Device Configuration Assistant (デバイス構成用補助) ブートフロッピーディスクを挿入して Device Configuration Assistant (デバイス構成用補助) をブートするように要求されることがあります。システムの BIOS が CD または DVD からのブートをサポートしている場合は、Solaris SOFTWARE - 1 CD または DVD を挿入して Device Configuration Assistant (デバイス構成用補助) をブートすることも可能です。

Procedurex86: Device Configuration Assistant (デバイス構成用補助) を表示する方法

Solaris 10: この手順では、ブートプロセスに割り込んで Device Configuration Assistant (デバイス構成用補助) を表示する方法を示します。現在の Solaris リリースでは、Device Configuration Assistant (デバイス構成用補助) は GRUB メニューに置き換えられています。

  1. システムをブートします。

    • Device Configuration Assistant (デバイス構成用補助) ブートフロッピーディスクからブートした場合、数分後に Device Configuration Assistant (デバイス構成用補助) の最初のメニューが表示されます。

    • Oracle Solaris SOFTWARE - 1 CD、DVD、またはハードディスクからブートしたか、PXE ネットワークブートを実行した場合、次のメッセージが表示されます。


      If the system hardware has changed, or to boot from a different
      device, interrupt the autoboot process by pressing ESC.
      
      Press ESCape to interrupt autoboot in 5 seconds.

      Device Configuration Assistant (デバイス構成用補助) のメニューを表示させたい場合、Esc キーを押して自動ブートプロセスに割り込みをかけます。

      「Device Configuration Assistant」メニューが表示されます。

  2. Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。

    あるいは、リセットボタンを使用することもできます。システムが停止している場合は、電源スイッチを押してシステムを起動します。

Procedurex86: 復旧を目的としてシステムを停止する方法

  1. 可能であれば、次のいずれかのコマンドを使用してシステムを停止します。

    • システムが動作している場合、スーパーユーザーになって init 0 と入力してシステムを停止します。Press any key to reboot プロンプトが表示されたら、任意のキーを押してシステムをリブートします。

    • システムが動作している場合、スーパーユーザーになって init 6 と入力してシステムをリブートします。

  2. マウスまたはキーボードからの入力にシステムが応答しない場合、リセットキーがあればそのキーを押してシステムをリブートします。あるいは、電源スイッチを使用してシステムをリブートします。

Procedurex86: 復旧を目的としてシステムをブートする方法

重要なシステムリソースを修復するには、次の手順に従ってシステムをブートします。この例は、Oracle Solaris SOFTWARE - CD、DVD、またはネットワークからブートし、ルート (/) ファイルシステムをディスクにマウントし、/etc/passwd ファイルを修復する方法を示しています。

次の手順で使用されている device-name 変数は、修復するファイルシステムのデバイス名に置き換えてください。システムのデバイス名を調べる場合は、『Solaris のシステム管理 (デバイスとファイルシステム)』「デバイス構成情報の表示」を参照してください。

  1. システムのアボートキーシーケンスを使用して、システムを停止します。

    システムのアボートキーシーケンスは、root のパスワードがわからない場合やシステムにログインできない場合に使用します。詳細は、「x86: 復旧を目的としてシステムを停止する方法」を参照してください。

  2. Oracle Solaris SOFTWARE - CD または DVD から、あるいはネットワークから、システムをシングルユーザーモードでブートします。

    1. Device Configuration Assistant (デバイス構成用補助) ブートフロッピーディスク、または Oracle Solaris SOFTWARE - CD または DVD を適切なドライブに挿入します。


      注 –

      ブートフロッピーディスクを使用する場合、Device Configuration Assistant (デバイス構成用補助) のメニューが表示されます。Oracle Solaris SOFTWARE - CD または DVD を使用する場合、システムは自動的にブートします。Device Configuration Assistant (デバイス構成用補助) のメニューを表示するには、システムによるプロンプトが表示されたときに Esc キーを押してブートプロセスに割り込みをかけます。


    2. Press any key to reboot プロンプトが表示されている場合は、任意のキーを押してシステムをリブートします。

      あるいは、リセットボタンを使用することもできます。システムが停止している場合は、電源スイッチを押してシステムを起動します。

  3. 「Current Boot Parameters」メニューが、数分後に表示されます。

  4. プロンプトで b -s と入力して、Enter キーを押します。

    数分後に、シングルユーザーモードの # プロンプトが表示されます。

  5. 無効な passwd ファイルがあるルート (/) ファイルシステムをマウントします。

  6. 新しくマウントした etc ディレクトリに移動します。

  7. エディタを使用して passwd ファイルに必要な変更を加えます。

  8. ルート (/) ディレクトリに変更します。

  9. /a ディレクトリのマウントを解除します。

  10. システムを再起動します。システムが実行レベル 3 になっていることを確認します。

    ブートプロセスが正常に終了すると、ログイン画面かログインプロンプトが表示されます。


    host-name console login:

例 16–6 x86: Solaris 10: 復旧を目的としてシステムをブートする

次の例は、Oracle Solaris 10 で、ローカルの CD-ROM からシステムが自動的にブートしたあとに、/etc/passwd ファイルを修復する方法を示しています。GRUB ベースのブートは、Solaris 10 1/06 リリースで導入されました。GRUB ベースのブート環境での復旧を目的としたシステムのブートについては、「x86 システムをフェイルセーフモードでブートする方法」を参照してください。


SunOS Secondary Boot version 3.00



                              Solaris Booting System



Running Configuration Assistant...





If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.

Press ESCape to interrupt autoboot in 5 seconds.





Initializing system
Please wait...


                         <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@1/sd@0,0:a
Boot args:


Select the type of installation you want to perform:

				1 Solaris Interactive
				2 Custom JumpStart
				3 Solaris Interactive Text (Desktop session)
				4 Solaris Interactive Text (Console session)
Enter the number of your choice followed by the <ENTER> key.
Alternatively, enter custom boot arguments directly.

If you wait for 30 seconds without typing anything,
an interactive installation will be started.

Select type of installation: b -s
      .
      .
      .
# mount /dev/dsk/c0t0d0s0 /a
      .
      .
      .
# cd /a/etc
# vi passwd
(Remove invalid entry)
# cd /
# umount /a
# init 6

Procedurex86: カーネルデバッガ (kmdb) を使ってシステムをブートする方法

この手順では、Oracle Solaris 10 においてカーネルデバッガ (kmdb) を読み込むための基本的な操作を示します。デフォルトでは、savecore 機能を使用できます。カーネルデバッガの使用方法の詳細については、『Solaris モジューラデバッガ』を参照してください。

現在の Solaris リリースにおいて、カーネルデバッガを使用してシステムをブートする手順については、「x86: GRUB ブート環境でカーネルデバッガ (kmdb) を使ってシステムをブートする方法」を参照してください。

  1. システムをブートします。

  2. Select (b)oot or (i)nterpreter プロンプトで b -k と入力します。Enter キーを押します。

  3. カーネルデバッガにアクセスします。

    デバッガを入力するための方法は、システムのアクセスに使用するコンソールのタイプによって異なります。

    • ローカル接続されたキーボードを使用している場合、F1 + A キーを押します。

    • シリアルコンソールを使用している場合、そのシリアルコンソールの種類に合った方法を使って改行を送信します

    カーネルデバッガに初めてアクセスした場合、ウェルカムメッセージが表示されます。


例 16–7 x86: システムをカーネルデバッガ (kmdb) でブートする

Select (b)oot or (i)nterpreter ブートプロンプトで -b k と入力すると、システムはデフォルトのモードでブートして kmdb を読み込みます。次の例は、32 ビットコンピューティング対応の x86 システムを 32 ビットモードでブートして kmdb を読み込む方法を示しています。


Press any key to reboot.
.
.
.
<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:

Type    b [file-name] [boot-flags] <ENTER>     to boot with options
or      i <ENTER>                              to enter boot interpreter
or      <ENTER>                                to boot with defaults
Running Configuration Assistant...
                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b -k
Loading kmdb...
SunOS Release 5.10 Version gate:2004-10-21 32-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
.
.
.


例 16–8 x64: 64 ビットコンピューティング対応のシステムを、カーネルデバッガ (kmdb) を使って 64 ビットモードで手動ブートする

次の例は、64 ビットコンピューティング対応の x86 システムを、kmdb を使って 64 ビットモードで手動ブートする方法を示しています。


Press any key to reboot
        .
        .
        .
            <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type    b [file-name] [boot-flags] <ENTER>     to boot with options
or      i <ENTER>                              to enter boot interpreter
or      <ENTER>                                to boot with defaults

            <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b kernel/amd64/unix -k
Loading kmdb...


例 16–9 32 ビット x64: 64 ビットコンピューティング対応のシステムを、カーネルデバッガ (kmdb) を使って 32 ビットモードで手動ブートする

次の例は、64 ビットコンピューティング対応の x86 システムを、kmdb を使って 32 ビットモードで手動ブートする方法を示しています。


Press any key to reboot
        .
        .
        .
            <<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci-ide@7,1/ide@0/cmdk@0,0:a
Boot args:
Type    b [file-name] [boot-flags] <ENTER>     to boot with options
or      i <ENTER>                              to enter boot interpreter
or      <ENTER>                                to boot with defaults

            <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter: b kernel/unix -k
Loading kmdb...

x86: クラッシュダンプを強制してシステムをリブートする

場合によっては、トラブルシューティングの目的でクラッシュダンプを強制実行し、システムをリブートする必要があります。デフォルトでは、savecore 機能を使用できます。

システムのクラッシュダンプについては、『Solaris のシステム管理 (上級編)』の第 17 章「システムクラッシュ情報の管理 (手順)」を参照してください。

Procedurex86: クラッシュダンプを強制してシステムをリブートする方法

reboot -d コマンドまたは halt -d コマンドを使用できない場合は、カーネルデバッガ kmdb を使用してクラッシュダンプを強制的に実行できます。次の手順を実行するには、ブート時または mdb -k コマンド経由でカーネルデバッガが読み込まれている必要があります。


注 –

カーネルデバッガ (kmdb) に入るにはテキストモードでなければなりません。したがって、まずウィンドウシステムを終了してください。


  1. ローカル接続されたキーボードをシステムコンソールとして使用している場合、そのキーボード上で F1 + A キーを押します。リモート (シリアル) コンソールを使用するようにシステムが設定されている場合、そのコンソールに合った機構を使って改行文字を送信します。

    kmdb プロンプトが表示されます。

  2. systemdump マクロを使ってクラッシュを誘発します。


    [0]> $<systemdump
    

    パニックメッセージが表示され、クラッシュダンプが保存され、システムがリブートします。

  3. コンソールログインプロンプトでログインして、システムがリブートされていることを確認します。


例 16–10 x86: halt -d コマンドを使用してシステムのクラッシュダンプとリブートを強制実行する

この例は、halt -d コマンドと boot コマンドを使って、x86 システム neptune のクラッシュダンプとリブートを強制実行する方法を示しています。システムのクラッシュダンプを強制するには、この方法を使用してください。-d オプションを指定して halt コマンドを実行したあと、手動でリブートする必要があります。


# halt -d
Aug 11 12:51:27 neptune halt:
halted by <user> panic[cpu45]/thread=d3971a00: forced crash dump initiated at user request

d363ae58 genunix:kadmin+bd (5, 0, 0, d3fefac0)
d363af88 genunix:uadmin+88 (5, 0, 0, 0, 0, d363afb4)

syncing file systems... done
dumping to /dev/dsk/c0t0d0s1, offset 107806720, content: kernel
100% done: 40223 pages dumped, compression ratio 4.11, dump succeeded
Press any key to reboot.
Resetting...
.
.
.
SunOS Secondary Boot version 3.00
Autobooting from bootpath: /pci@0,0/pci1028,10a@3/sd@0,0:a 
Running Configuration Assistant... 
If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.


Initializing system
Please wait...   

<<< Current Boot Parameters >>>
Boot path: /pci@0,0/pci1028,10a@3/sd@0,0:a
Boot args:

Type    b [file-name] [boot-flags] <ENTER>    to boot with options
or      i <ENTER>                             to enter boot interpreter
or      <ENTER>                               to boot with defaults

                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter:
Loading kmdb...
SunOS Release 5.10 Version s10_62 32-bit
Copyright 1983-2004 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
configuring IPv4 interfaces: iprb0.
add net default: gateway 172.20.26.248
Hostname: neptune
The system is coming up.  Please wait.
checking ufs filesystems
/dev/rdsk/c0t0d0s7: is logging.
NIS domain name is example.com
starting rpc services: rpcbind keyserv ypbind done.
Setting netmask of iprb0 to 255.255.255.0
Setting default IPv4 interface for multicast: add net 224.0/4: gateway venus
syslog service starting.
System dump time: Wed Aug 11 12:51:29 2004
Aug 11 13:13:26 venus savecore: saving system crash dump in /var/crash/venus/*.1
Constructing namelist /var/crash/venus/unix.1
Constructing corefile /var/crash/venus/vmcore.1
100% done: 42157 of 42157 pages saved
volume management starting.
The system is ready.
.
.
.

x64: 64 ビットブートの失敗のトラブルシューティング

場合によって、64 ビット対応の x86 システムが 64 ビットモードでのブートに失敗することがあります。この失敗によって、次のようなエラーが生成されます。


Select (b)oot or (i)nterpreter: b kernel/amd64/unix
.
.
.
pci: cannot load driver
Cannot load drivers for /pci@0,0/pci1022,7450@a/pci17c2,10@4/sd@0,0:a
(Can't load the root filesystem)
Press any key to reboot.
.
.
.

このような失敗が起きる場合は、Select (b)oot or (i)nterpreter ブートプロンプトで次のコマンドを入力して、システムを 32 ビットモードでブートしてください。


Select (b)oot or (i)nterpreter: b kernel/unix

詳細は、例 16–3 を参照してください。