Solaris のシステム管理

x86 システムのブート

表 9-1 に、この章のブート方法を示します。

表 9-1 x86: ブート方法の説明

システムのブート方法 

このブート方法が必要な場合 

参照先 

実行レベル 3 (マルチユーザー状態) 

システムを停止するか、またなんらかのシステムハードウェアの保守作業を行なった後。これはデフォルトのブートレベルで、すべての資源が利用でき、そしてユーザーがシステムにログインすることができる。 

「x86: 例 - システムを実行レベル 3 (マルチユーザー状態) にする」

実行レベル S (シングルユーザー状態) 

ファイルシステムのバックアップなどのなんらかのシステム保守作業を行なった後。このレベルでは、一部のファイルシステムだけがマウントされ、ユーザーはシステムにログインできない。 

「x86: 例 - システムを実行レベル S (シングルユーザー状態) にする」

対話方式でブート 

テストのために、システムファイルまたはカーネルを一時的に変更した後。この形式のブートを使えば、システムファイルまたはカーネルに問題がある場合、プロンプトが表示されたときに、これらのファイルに対して別のパス名を指定すれば簡単に復元できる。他のシステムプロンプトにデフォルトの設定を使う。 

「x86: 例 - システムを対話方式でブートする」

ローカル CD-ROM またはネットワークからブートして復元する 

システムの正常なブートを妨げている重要なシステムファイルを修復する。また、この形式のブートは、オペレーティングシステムの新しいリリースをインストール (あるいは、アップグレード) するのにも使用する。 

「x86: 例 - システムを復元するためにブートする」

kadb を使ってブート

オペレーティングシステムのコアダンプを保存して、システムの障害を追跡する場合。 

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

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

x86: システムを実行レベル 3 (マルチユーザー状態) にする方法

  1. type any key to reboot プロンプトが表示された場合は、どれかキーを押してシステムをリブートします。システムがシャットダウンした場合は、リセットボタンを使ってシステムを再起動します。

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

  2. システムを実行レベル 3 にするには、b を入力します。Return キーを押してください。

    5 秒以内に選択しないと、システムは自動的に実行レベル 3 になります。

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

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

        
    hostname console login:

x86: 例 - システムを実行レベル 3 (マルチユーザー状態) にする

type any key to reboot
           .
           .
           .
                     <<< Current Boot Parameters >>>
Boot path: /isa/ata@1f0,0/cmdk@0,0:a
Boot args: 

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

                  <<< timeout in 5 seconds >>>

Select (b)oot or (i)nterpreter:  b             .
             .
             . 
venus console login:

x86: システムを実行レベル S (シングルユーザー状態) にする方法

  1. type any key to reboot プロンプトが表示された場合は、どれかキーを押してシステムをリブートします。システムがシャットダウンしている場合は、リセットボタンを使ってシステムを再起動します。

    Solaris ブートオプション画面が数分後に表示されます。

  2. システムを実行レベル S にするには、b -s を入力します。Return キーを押してください。

    5 秒以内に選択しないと、システムは自動的に実行レベル 3 になります。

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

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

    # who -r
       .         run-level S  Nov 10 13:59     S    0  3
  5. 実行レベルを s に変更する必要のあった原因について保守作業を行います。

  6. システムを実行レベル 3 に戻すには、Control-d を押します。

x86: 例 - システムを実行レベル S (シングルユーザー状態) にする

type any key to reboot
            .
            .
            .
                     <<< Current Boot Parameters >>>
Boot path: /isa/ata@1f0,0/cmdk@0,0:a
Boot args: 

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

                  <<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter: b -s
              .

              .

              .
INIT: SINGLE USER MODE
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance):  xxx
# who -r
.       run-level S  Aug  4 13:11     S      0  3
(保守作業を行う)
# Control-dを押す

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

  1. システムが type any key to reboot プロンプトを表示している場合、任意のキーを押してリブートします。あるいは、システムがシャットダウンしている場合は、リセットボタンを使用して、システムを再起動します。

    「Solaris ブートオプション (Solaris Boot Option)」画面が、数分後に表示されます。

  2. b -s と入力して、システムを実行レベル S にします。Return キーを押してください。

    5 秒以内に選択しないと、システムは自動的に実行レベル 3 になります。

  3. 表 9-2 で説明するとおり、システムプロンプトに答えてください。

    表 9-2 x86: 対話方式によるブート処理手順

    システムの表示 

    操作 

    type any key to reboot

    どれかキーを押してシステムをリブートするか、あるいはリセットボタンを使ってシステムを再起動する。 

    Primary Boot Subsystemメニューが、数分後に表示される。 

    Primary Boot Subsystem メニュー 

    ブートデバイスとして Active Solaris スライスを選択する。Return キーを押す。30 秒以内に選択しないと、デフォルトのブートスライスが自動的に選択される。 

    Select (b)oot or (i)nterpreter:

    b -a を入力して、Return キーを押す。

    Enter filename [kernel/unix]:

    ブートに使用する別のカーネルの名前を入力して Return キーを押す。 

    あるいは、そのまま Return キーを押してデフォルトカーネルを使う (/platform/i86pc/kernel/unix) 。

    Name of system file [etc/system]:

    システムのファイルの名前を入力して Return キーを押すか、あるいは、そのまま Return キーを押してデフォルトの /etc/system ファイルを使う。

    Name of default directory for modules [/platform/i86pc/kernel /kernel /usr/kernel]:

    モジュールディレクトリに別のパスを入力して Return キーを押すか、あるいは、そのまま Return キーを押してデフォルトのモジュールディレクトリパスを使う。 

    root filesystem type [ufs]:

    そのまま Return キーを押してデフォルトのルートファイルシステム形式を使う。つまり、ローカルディスクからのブートの場合は UFS、ディスクレスクライアントの場合は NFS を使う。 

    Enter physical name of root device[physical_device_name]:

    デバイス名を入力して、Return キーを押すか、あるいは、そのまま Return キーを押してルートデバイスのデフォルトの物理名を使う。 

x86: 例 - システムを対話方式でブートする

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

type any key to reboot
            .
            .
            .
                  <<< Current Boot Parameters >>>
Boot path: /isa/ata@1f0,0/cmdk@0,0:a
Boot args: 

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

                  <<< timeout in 5 seconds >>>
Select (b)oot or (i)nterpreter: b -a
(著作権表示)
Enter filename [kernel/unix]:Return キー
Name of system file [/etc/system]:Return キー
Name of default directory for modules [platform/i86pc/kernel 
/kernel/usr/kernel]:> Return キー
root filesystem type [ufs]: Return キー
Enter physical name of root device
[/eisa/dpt@5c88,0/cmdk@0,0:a]: Return キー
Configuring network interfaces:  smc0
Hostname: venus
(fsck メッセージ)
The system is coming up.  Please wait
(その他のメッセージ)
venus console login:

x86: システムを復元するためにブートする方法

復元のためにシステムをブートする方法の例として、無効な /etc/passwd ファイルからの復元を使います。

以下の手順では、devicename 変数を修復するファイルシステムのデバイス名に置き換えます。システムのデバイス名を調べたい場合は、第 20 章「デバイスへのアクセス」を参照してください。

Solaris 2.x インストール CD またはネットワークからブートしているかどうかによって、次のそれぞれの手順に従ってください。

  1. Solaris 2.x インストール CD (またはネットワーク) から、手順 a から f に従ってシングルユーザーモードにします。

    ネットワークからブートしている場合は、手順 a と b を飛ばします。

    1. Solaris 2.x インストール CD を CD キャディに挿入します。

    2. CD キャディを CD-ROM ドライブに挿入します。

    3. 主フロッピーディスクドライブ (DOS ドライブ A) に Configuration Assistant/Boot (構成用補助) フロッピーディスクを挿入します。

    4. type any key to reboot プロンプトが表示されている場合は、どれかキーを押してシステムをリブートします。システムがシャットダウンしている場合は、リセットボタンを使ってシステムを再起動します。

    5. 「Solaris Device Configuration Assistant」画面で、F2 キー (F2_Continue) を押します。

      次の画面に、識別されたデバイスが表示されます。

    6. 「Identified Devices」画面で、F2 キー (F2_Continue) を押します。

    7. 「Boot Solaris」画面から CD または NET をブートデバイスとして選択します。次に F2 キー (F2_Boot Solaris) を押します。

      Solaris ブートオプション画面が表示されます。

    8. Select type of installation: プロンプトで b -s を入力します。

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

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

        # mount /dev/dsk/devicename /a
    
  3. 新しくマウントした etc ディレクトリに変更します。

        # cd /a/etc
    
  4. 端末タイプを設定します。

        # TERM=AT386
        # export TERM
    
  5. 必要に応じて、エディタを使って passwd ファイルを変更します。

        # vi passwd
    
  6. ルート (/) ディレクトリに変更します。

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

        # umount /a
    
  8. システムをリブートします。

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

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

        
    hostname console login:

x86: 例 - システムを復元するためにブートする

type any key to reboot
Running Configuration Assistant...
Solaris Device Configuration Assistant 
              .
              .
              .
Boot Solaris    
                                                                                                     Select one of the identified devices to boot Solaris.    
                                                                                                     > To make a selection, use the arrow keys, then press Enter to mark it [X]. 
 
  Boot Solaris      
  -------------------------------------------------------------------- 
  [ ]  DISK: IDE(ATA) QUANTUM FIREBALL1080A 
             target: 0; port: 1F0-1F7, 3F6-3F7; irq: 14      
  [ ]  NET : Intel EtherExpress network card
             port: 300-30F; irq: 5












             FF2_Boot Solaris    F3_Back    F4_Boot Tasks    F6_Help 
 
                         <<< Current Boot Parameters >>>
Boot path: /isa/ata@1f0,0/cmdk@0,0:a
Boot args: 
 
Type    b [file-name] [boot-flags]       to boot with options
or      i                                to enter boot interpreter
or                                       to boot with defaults
 
                  <<< timeout in 5 seconds >>>
 
Select (b)oot or (i)nterpreter: b -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=AT386
# export TERM
# vi passwd
(無効なエントリの削除)
# cd /
# umount /a
# init 6

x86: 復元のためにシステムを停止する方法

アボートキーシーケンスは、システムのタイプによって異なります。たとえば、システムを中止するには、リセットボタンを押します。システムにリセットボタンがない場合は、一度電源を切ってから入れ直します。

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

問題の解決のために、状況によっては、オペレーティングシステムのコアダンプを保存しておく必要があります。savecore コマンドを使って、この機能を有効にします。/etc/init.d/sysetup スクリプトを編集して、自動的にオンにすることができます。

savecore 機能とその設定方法は、第 69 章「システムクラッシュ情報の生成と保存」に記載されています。この節では、savecore 機能が有効な場合に、システムをリブートする方法だけを説明します。

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

  1. Control-Alt-d を押します。

      kadb>

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

  2. kadb> プロンプトで 0:c を入力します。

      kadb> 0:c
    
  3. kadb> プロンプトで :c を入力します。

      kadb> :c
    

    クラッシュダンプがディスクに書き出されると、システムはそのままリブートします。

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

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

<Control-Alt-d を押す>
kadb> 0:c
kadb> :c