Solaris のシステム管理 (第 1 巻)

パート III システムのシャットダウンとブート

このパートでは、Solaris システムのシャットダウンとブートの手順について説明します。次の章で構成されています。

第 5 章「システムのシャットダウンとブートの概要」

システムのシャットダウンとブートの概要とガイドラインを示します。 

 

第 6 章「実行レベルとブートファイルの手順」

実行レベルとブートファイルについて説明します。 

 

第 7 章「システムのシャットダウンの手順」

システムのシャットダウン手順について説明します。 

 

第 8 章「SPARC: システムのブートの手順」

SPARC システムのブート手順について説明します。 

 

第 9 章「x86: システムのブートの手順」

x86 システムのブート手順について説明します。 

 

第 10 章「ブートプロセスの参照情報」

ブートプロセスの概要を説明します。SPARC システムおよび x86 システムのブートに使用するプラットフォーム固有のハードウェアについても説明します。 

第 5 章 システムのシャットダウンとブートの概要

この章では、システムのシャットダウンとブートについて概要を説明します。Solaris オペレーティングシステムは、電子メールとネットワーク資源をいつでも利用できるように停止することなく動作するように設計されています。しかし、システム構成の変更、定期保守、停電などの理由で、システムをシャットダウンまたはリブートしなければならない場合があります。

この章の内容は次のとおりです。

システムのシャットダウンとブートに関する新機能

この節では、Solaris 7 におけるシステムのシャットダウンとブートに関する新機能について説明します。

レベル S (シングルユーザーモード) でのシステムの起動

バグ ID 1154696 は Solaris 7 で修正されました。つまり、shutdown -s または init -s コマンドで、システムを正常にシャットダウンし、レベル S (シングルユーザーモード) に移行できるようになりました。inittab ファイルと、/etc/init.d および /etc/rcn.d ディレクトリ内の rc スクリプトが修正され、システム起動レベルの変更が適切かつ効率的に行われるようになりました。

32 ビットまたは 64 ビット Solaris 7 オペレーティング環境のシステムのブート

32 ビットまたは 64 ビットの Solaris 7 オペレーティング環境のシステムをブートする方法については、「64 ビット Solaris ブート時の問題の解決」を参照してください。

シャットダウンとブートについての参照先

システムをシャットダウンおよびブートする手順については次を参照してください。

用語

ここではシャットダウンとブートに関する用語について説明します。

システムのシャットダウンに関するガイドライン

システムをシャットダウンするときは次の点に注意してください。

システムのブートに関するガイドライン

システムをブートするときは、次の点に注意してください。

再構成用ブートの実行

再構成用ブートは、システムに新しいハードウェアを追加したときや擬似デバイスのサポートを再構成したとき (pty 数の増加など) に行います。表 5-1 は、どの場合にどの再構成手順を使用するかをまとめたものです。

表 5-1 再構成手順

システム再構成の内容 

参照先 

ディスクの追加 

第 23 章「SPARC: ディスク追加の手順」または第 24 章「x86: ディスク追加の手順」

周辺装置の追加 

「周辺デバイスを追加する方法」

擬似デバイス数の変更 

Solaris のシステム管理 (第 2 巻)』の「システム情報の確認と変更」

システムをシャットダウンする場合

表 5-2 は、システム管理作業とそれに伴って必要となるシャットダウンの種類をまとめたものです。

表 5-2 システムのシャットダウン

管理作業 

以下の実行レベルに変更 

参照先 

停電のためシステムの電源を切断する。 

実行レベル 0。安全に電源を切れる状態。 

第 7 章「システムのシャットダウンの手順」

/etc/system ファイル内のカーネルパラメータを変更する。

実行レベル 6 (システムのリブート)。 

第 7 章「システムのシャットダウンの手順」

ファイルシステムを保守する (システムデータのバックアップや復元など)。 

実行レベル S (シングルユーザーモード)。 

第 7 章「システムのシャットダウンの手順」

/etc/system などのシステム構成ファイルを修正する。

「システムをブートする場合」を参照。

なし 

/etc/system ファイル内の擬似デバイスパラメータを変更する。

再構成用ブート。 

Solaris のシステム管理 (第 2 巻)』の「カーネルパラメータの調整手順」

システムにハードウェアを追加する (または、システムからハードウェアを削除する)。 

再構成用ブート (ハードウェアを追加または削除したら電源を切断する)。 

「SPARC: 二次ディスクを接続してブートする方法」

ブート失敗の原因となっている重要なシステムファイルを修正する。 

「システムをブートする場合」を参照。

なし 

カーネルデバッガ (kadb) をブートして、システムの障害を調査する。

実行レベル 0 (可能な場合)。 

第 7 章「システムのシャットダウンの手順」

ハング状態から回復する。または、クラッシュダンプを強制する。 

「システムをブートする場合」を参照。

なし 

サーバーまたはスタンドアロンシステムのシャットダウンの例については、第 7 章「システムのシャットダウンの手順」を参照してください。

システムをブートする場合

表 5-3 は、システム管理作業とそれに伴って必要となるブートの種類をまとめたものです。

表 5-3 システムのブート

リブート前に実行した管理作業 

使用するブート種類 

SPARC のブート手順の参照先 

x86 のブート手順の参照先 

停電のためシステムの電源を切断した。 

システムの電源を再投入する。 

第 7 章「システムのシャットダウンの手順」

第 7 章「システムのシャットダウンの手順」

/etc/system ファイル内のカーネルパラメータを変更した。

システムを実行レベル 3 にリブートする (NFS 資源を共有できる状態のマルチユーザーモード) 

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

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

ファイルシステムを保守した (システムデータのバックアップや復元など)。 

実行レベル S で Ctrl-d を押して、システムを実行レベル 3 に戻す。 

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

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

/etc/system などのシステム構成ファイルを修正した。

対話式ブート。 

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

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

/etc/system ファイル内の擬似デバイスパラメータを変更した。

再構成用ブート。 

Solaris のシステム管理 (第 2 巻)』の「カーネルパラメータの調整手順」

Solaris のシステム管理 (第 2 巻)』の「カーネルパラメータの調整手順」

システムにハードウェアを追加した (または、システムからハードウェアを削除した)。 

再構成用ブート (ハードウェアを追加または削除したら電源を投入する)。 

「SPARC: 二次ディスクを接続してブートする方法」

第 24 章「x86: ディスク追加の手順」

カーネルデバッガ (kadb) をブートして、システムの障害を調査した。

kabd をブートする。

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

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

ブート失敗の原因となっていた重要なシステムファイルを修正した。 

回復ブート。 

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

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

ハング状態から回復した。または、クラッシュダンプを強制した。 

回復ブート。 

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

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

システムブートの例については、第 8 章「SPARC: システムのブートの手順」または第 9 章「x86: システムのブートの手順」を参照してください。

第 6 章 実行レベルとブートファイルの手順

この章では、システムのシャットダウンとブートに関するガイドラインを示し、実行レベルとブートファイルについて説明します。

この章で説明する手順は次のとおりです。

この章で説明する主な内容は次のとおりです。

実行レベル

システムの「実行レベル」 (init 状態ともいう) は、ユーザーが使用できるサービスと資源を定義します。システムが 1 度に持つことのできる実行レベルは 1 つだけです。

Solaris ソフトウェア環境には 8 つの実行レベルがあります (表 6-1参照)。デフォルトの実行レベル 3 は、/etc/inittab ファイルに指定されています。

表 6-1 Solaris 実行レベル

実行レベル 

 

init 状態 

種類 

目的 

電源切断状態 

電源切断 

 

オペレーティングシステムをシャットダウンしてシステムの電源を安全に落とせるようにする。

s または S

シングルユーザー状態 

シングルユーザー 

すべてのファイルシステムがマウントされ使用可能な状態で、シングルユーザーとして動作する。 

システム管理状態 

シングルユーザー 

ユーザーがログインできる状態ですべての使用可能なファイルシステムにアクセスする。

マルチユーザー状態 

マルチユーザー 

通常の運用に使用する。複数のユーザーがシステムと全ファイルシステムにアクセスできる。NFS サーバーデーモンを除く、すべてのデーモンが動作する。

NFS 資源を共有したマルチユーザー  

マルチユーザー 

通常の運用に使用する。NFS の資源共有が可能な状態。

マルチユーザー状態 (予備) 

 

このレベルは現在使用されていない。 

電源切断状態 

電源切断 

オペレーティングシステムをシャットダウンしてシステムの電源を安全に落とせるようにする。可能であれば、この機能をサポートしているシステムでは電源を自動的に切断する。 

リブート状態 

リブート 

システムをシャットダウンして実行レベル 0 にしたあと、マルチユーザー状態 (または、inittab ファイルに指定されたデフォルトのレベル) でリブートする。

システムの実行レベルを確認する方法

who -r コマンドを使用してシステムの実行レベル情報を表示すれば、システムの実行レベルがわかります。ただし、実行レベル 0 を除きます。


$ who -r

例-システムの実行レベルを確認する


$ who -r
.       run-level 3  Oct 26 15:04      3      0  S
$

実行レベル 3

現在の実行レベル。 

Oct 26 15:04

実行レベルが最後に変更された日時。 

3

現在の実行レベル。 

0

最後にリブートしてからこの実行レベルになった回数。 

S

以前の実行レベル。 

/etc/inittab ファイル

init または shutdown コマンドを使用してシステムをブートしたり実行レベルを変更したりすると、init デーモンは、/etc/inittab ファイルから情報を読み取ってプロセスを起動します。/etc/inittab ファイルには、init プロセスにとって重要な 3 つの情報が定義されています。

/etc/inittab ファイル内の各エントリは、次のフィールドからなります。

id:rstate:action:process

表 6-2 に、inittab エントリの各フィールドを要約します。

表 6-2 inittab ファイルのフィールド

フィールド 

説明 

id

エントリに固有の (一意の) 識別子。 

rstate

このエントリが適用される実行レベルのリスト。 

action

プロセスフィールドに指定されたプロセスの実行方法。指定できる値は、initdefaultsysinitbootbootwaitwait、および respawn

process

実行するコマンド。 

例 - デフォルトの inittab ファイル

以下の例は、デフォルトの inittab ファイルです。


ap::sysinit:/sbin/autopush -f /etc/iu.ap
ap::sysinit:/sbin/soconfig -f /etc/sock2path
fs::sysinit:/sbin/rcS sysinit      >/dev/console 2<>/dev/console </dev/console
is:3:initdefault:
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/console 2<>/dev/console
sS:s:wait:/sbin/rcS                >/dev/console 2<>/dev/console </dev/console
s0:0:wait:/sbin/rc0                >/dev/console 2<>/dev/console </dev/console
s1:1:respawn:/sbin/rc1             >/dev/console 2<>/dev/console </dev/console
s2:23:wait:/sbin/rc2               >/dev/console 2<>/dev/console </dev/console
s3:3:wait:/sbin/rc3                >/dev/console 2<>/dev/console </dev/console
s5:5:wait:/sbin/rc5                >/dev/console 2<>/dev/console </dev/console
s6:6:wait:/sbin/rc6                >/dev/console 2<>/dev/console </dev/console
fw:0:wait:/sbin/uadmin 2 0         >/dev/console 2<>/dev/console </dev/console
of:5:wait:/sbin/uadmin 2 6         >/dev/console 2<>/dev/console </dev/console
rb:6:wait:/sbin/uadmin 2 1         >/dev/console 2<>/dev/console </dev/console
sc:234:respawn:/usr/lib/saf/sac -t 300
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T sun 
-d /dev/console -l console -m ldterm,ttcompat  

システムが実行レベル 3 になると実行される処理

  1. init プロセスが起動されます。init プロセスは、/etc/default/init ファイルを読み取って環境変数を設定します。デフォルトでは、TIMEZONE 変数だけが設定されます。

  2. initinittab ファイルを読み取って、次の処理を行います。

    1. デフォルトの実行レベル 3 を定義する initdefault エントリを識別します。

    2. action フィールドが sysinit になっているすべてのプロセスエントリを実行して、ユーザーがログインする前に特別な初期設定処理がすべて行われるようにします。

    3. rstate フィールドが 3 になっている (デフォルトの実行レベル 3 と一致する) プロセスエントリを実行します。

      init プロセスが inittab ファイルを使用する方法についての詳細は、init(1M) のマニュアルページを参照してください。

表 6-3 に、実行レベル 3 の action フィールドで使用するキーワードについて説明します。

表 6-3 実行レベル 3 の action キーワードの説明

キーワード 

指定されたプロセスの実行方法 

powerfail

システムが電源切断シグナルを受信したときだけプロセスを実行する。 

wait

指定されたプロセスの終了を待つ。 

respawn

プロセスがまだ起動されていない場合は起動する。プロセスがすでに起動されている場合は、inittab ファイルの検索を続ける。

表 6-4 に、実行レベル 3 で実行されるプロセス (またはコマンド) について説明します。

表 6-4 実行レベル 3 のコマンドの説明

コマンドまたはスクリプト名 

説明 

/usr/sbin/shutdown

システムをシャットダウンする。init プロセスは、システムが powerfail シグナルを受信した場合にのみ shutdown コマンドを実行する。

/sbin/rcS

ルート (/)、 /usr/var/var/adm のファイルシステムをマウントしてチェックする。

/sbin/rc2

標準のシステムプロセスを起動して、システムを実行レベル 2 (マルチユーザーモード) に移行する。 

/sbin/rc3

実行レベル 3 で使用される NFS 資源共有を開始する。 

/usr/lib/saf/sac -t 30

ポートモニターと UUCP 用のネットワークアクセスを起動する。このプロセスは失敗すると再起動される。 

/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T terminal_type -d /dev/console -l console

コンソールでのログイン要求を監視する ttymon プロセスを起動する。

このプロセスは失敗すると再起動される。SPARC システムの terminal_typesun である。

x86 システムの terminal_typeAT386 である。

実行制御スクリプト

Solaris ソフトウェア環境では、一連の詳細な実行制御 (rc) スクリプトを使用して実行レベルの移行を制御しています。各実行レベルには次の rc スクリプトが対応しています。これらのスクリプトは、/sbin ディレクトリにあります。

/sbin ディレクトリ内の各 rc スクリプトには /etc/rcn.d という名前のディレクトリが対応しており、その中にはその実行レベルのさまざまな処理を実行するスクリプトがあります。たとえば、/etc/rc2.d には、実行レベル 2 のプロセスを起動および停止するためのファイル (スクリプト) があります。


# ls /etc/rc2.d
K20spc@             S70uucp*            S80lp*
K60nfs.server*      S71rpc*             S80spc@
K76snmpdx*          S71sysid.sys*       S85power*
K77dmi*             S72autoinstall*     S88sendmail*
README              S72inetsvc*         S88utmpd*
S01MOUNTFSYS*       S73nfs.client*      S89bdconfig@
S05RMTMPFILES*      S74autofs*          S91leoconfig*
S20sysetup*         S74syslog*          S92rtvc-config*
S21perf*            S74xntpd*           S92volmgt*
S30sysid.net*       S75cron*            S93cacheos.finish*
S47asppp*           S76nscd*            S99audit*
S69inet*            S80PRESERVE*        S99dtlogin*

/etc/rcn.d 内のスクリプトは常に、スクリプト名を ASCII 文字列としてソートした順に実行されます。スクリプト名の形式は次のとおりです。

[KS][0-9][0-9]*

名前が K で始まるスクリプトを実行すると、システムプロセスが終了 (kill) します。名前が S で始まるスクリプトを実行すると、システムプロセスが起動されます。

実行制御スクリプトは、/etc/init.d ディレクトリにもあります。これらのファイルは、/etc/rcn.d ディレクトリ内の対応する実行制御スクリプトにリンクされています。

各実行制御スクリプトの処理について、表 6-5 から表 6-10 に要約を示します。

実行制御スクリプトを使用してサービスを起動または停止する

実行レベルごとに対応するスクリプトを持つことの利点は、/etc/init.d ディレクトリ内の個々のスクリプトを実行することにより、システムの実行レベルを変更しないで (現在の実行レベルの) 機能を停止できる点です。

実行制御スクリプトを使用してサービスを起動または停止する方法

  1. スーパーユーザーになります。

  2. 機能を停止します。


    # /etc/init.d/filename stop
    
  3. 機能を再開します。


    # /etc/init.d/filename start
    
  4. pgrep コマンドを使用して、サービスが停止または起動しているかを確認します。


    # pgrep -f service
    

例-実行制御スクリプトを使用してサービスを起動または停止する

NFS サーバーの機能を停止するには、次のように入力します。


# /etc/init.d/nfs.server stop
# pgrep -f nfs
#

NFS サービスを再開するには、次のように入力します。


# /etc/init.d/nfs.server start
# pgrep -f nfs
141
143
245
247
# pgrep -f nfs -d, | xargs ps -fp
root   141     1 40   Jul 31 ?     0:00 /usr/lib/nfs/statd
root   143     1 80   Jul 31 ?     0:01 /usr/lib/nfs/lockd
root   245     1 34   Jul 31 ?     0:00 /usr/lib/nfs/nfsd -a 16
root   247     1 80   Jul 31 ?     0:02 /usr/lib/nfs/mountd

実行制御スクリプトの追加

サービスを起動または停止するための実行制御スクリプトを追加するには、そのスクリプトを /etc/init.d ディレクトリにコピーして、rcn.d ディレクトリ内の適切なファイルへのリンクを作成します。

実行制御スクリプトの命名法についての詳細は、/etc/rcn.d ディレクトリ内の README ファイルを参照してください。以下に、実行制御スクリプトの追加方法を説明します。

実行制御スクリプトを追加する方法

  1. スーパーユーザーになります。

  2. スクリプトを /etc/init.d ディレクトリにコピーします。


    # cp filename /etc/init.d
    # chmod 0744 /etc/init.d/filename
    # chown root:sys /etc/init.d/filename
    
  3. 適切な rcn.d ディレクトリへのリンクを作成します。


    # cd /etc/init.d
    # ln filename /etc/rc2.d/Snnfilename
    # ln filename /etc/rcn.d/Knnfilename
    
  4. ls コマンドを使用して、スクリプトが指定されたディレクトリ内のファイルにリンクされているかどうかを確認します。


    # ls /etc/init.d/ /etc/rc2.d/ /etc/rcn.d/
    

例-実行制御スクリプトを追加する


# cp xyz /etc/init.d
# cd /etc/init.d
# ln xyz /etc/rc2.d/S100xyz
# ln xyz /etc/rc0.d/K100xyz
# ls /etc/init.d /etc/rc2.d /etc/rc0.d

実行制御スクリプトを無効にする

実行制御スクリプトを無効にするには、スクリプト名の先頭にドット (.) を付けます。ドットで始まるファイルは実行されません。接尾辞を追加してファイルをコピーすると、両方のファイルが実行されます。

実行制御スクリプトを無効にする方法

  1. スーパーユーザーになります。

  2. スクリプト名の先頭に下線 ( _ ) を付けて、スクリプト名を変更します。


    # cd /etc/rcn.d
    # mv filename _filename
    
  3. スクリプト名が変更されたことを確認します。


    # ls -a
    _filename
    

例-実行制御スクリプトを無効にする

次の例は、S100datainit というスクリプト名を変更しますが、元のスクリプトも保存しています。


# cd /etc/rc2.d
# mv S100datainit _S100datainit

実行制御スクリプトのまとめ

表 6-5 /sbin/rc0 スクリプト

スクリプト名 

説明 

/sbin/rc0

以下の作業を実行する。 

 

  • システムサービスとデーモンの終了

  • 実行中の全プロセスの停止

  • 全ファイルシステムのマウント解除

表 6-6 /sbin/rc1 スクリプト

スクリプト名

説明 

/sbin/rc1

/etc/rc1.d ディレクトリ内のスクリプトを実行して以下の作業を実行する。

 

  • システムサービスとデーモンの終了

  • 実行中の全プロセスの停止

  • 全ファイルシステムのマウント解除

  • システムをシングルユーザーモードに移行

表 6-7 /sbin/rc2 スクリプト

スクリプト名 

説明 

/sbin/rc2

/etc/rc2.d ディレクトリ内のスクリプトを実行して以下の作業を実行する。

 
  • すべてのローカルファイルシステムのマウント

  • quota オプションを指定してマウントされたファイルシステムが 1 つでも存在する場合は、ディスク割り当てを有効にする。

  • エディタの一時ファイルを /usr/preserve 内に保存する。

  • /tmp ディレクトリにあるすべてのファイルの削除

  • システムアカウントの設定

  • デフォルトのルータの設定

  • NIS ドメインと ifconfig ネットワークマスクの設定

  • インストール媒体またブートサーバー (/.PREINSTALL または /AUTOINSTALL のどちらかが存在する場合) からシステムをリブートする。

  • 必要に応じて、inetdrpcbindnamed を起動する。

  • Kerberos のクライアント側デーモン kerbd を起動する。

  • NIS デーモン (ypbind) および NIS+ デーモン (rpc.nisd) を起動する。どちらを起動するかは、システムが NIS または NIS+ のどちら用に設定されているか、またシステムがクライアントとサーバーのどちらであるかによって異なる。

  • keyservstatdlockdxntpdutmpd の起動

  • すべての NFS エントリのマウント

  • ncsd (ネームサービスキャッシュデーモン) の起動

  • automountcron、 LP 印刷サービス、 sendmailutmpdvold の各デーモンの起動


注 -

実行レベル 2 で起動されるシステムサービスとアプリケーションの多くは、システム上にインストールされているソフトウェアによって決まります。


表 6-8 /sbin/rc3 スクリプト

スクリプト名 

説明 

/sbin/rc3

/etc/rc3.d ディレクトリ内のスクリプトを実行して以下の作業を行う。

 
  • sharetab のクリーンアップ

  • nfsds の起動

  • mountd の起動

  • ブートサーバーの場合は、rarpdrpc.bootparamdrpld を起動する。

  • snmpdx を起動する (SolsticeTM EnterpriseTM AgentTM プロセス)。

表 6-9 /sbin/rc5 スクリプトと /sbin/rc6 スクリプト

スクリプト名 

説明 

/sbin/rc5 および /sbin/rc6

/etc/rc0.d/k* ディレクトリ内のスクリプトを実行して以下の作業を行う。

 
  • すべてのアクティブなプロセスを停止する。

  • ファイルシステムのマウント解除

  

表 6-10 /sbin/rcS スクリプト

スクリプト名 

説明 

/sbin/rcS

/etc/rcS.d ディレクトリ内のスクリプトを実行して、システムを実行レベル S に移行する。以下の作業は、これらのスクリプトが実行する。

 
  • 最小限のネットワークの確立

  • 必要なら、/usr をマウントする。

  • システム名の設定

  • / および /usr ファイルシステムのチェック

  • 擬似ファイルシステム (/proc/dev/fd) のマウント

  • 再構成用ブートのデバイスエントリの再構築

  • シングルユーザーモードでマウントされる他のファイルシステムをチェックしてマウントする。

第 7 章 システムのシャットダウンの手順

この章では、システムのシャットダウン手順について説明します。この章で説明する手順は次のとおりです。

この章で説明する主な内容は次のとおりです。

使用可能な実行レベルについての概要は、第 6 章「実行レベルとブートファイルの手順」を参照してください。

システムをシャットダウンする場合

Solaris システムソフトウェアは、電子メールとネットワーク資源をいつでも利用できるように停止することなく動作するように設計されています。しかし、システム管理作業を行う場合や緊急事態が発生した場合は、システムをシャットダウンして安全に電源を切断できる状態にするか、一部のシステムサービスしか提供しない中間の実行レベルまで移行する必要があります。たとえば次のような場合です。

システムをシャットダウンする必要があるシステム管理作業についての詳細は、第 5 章「システムのシャットダウンとブートの概要」を参照してください。

システムをシャットダウンするには

システムをシャットダウンする第 1 の方法は、init コマンドおよび shutdown コマンドを使用する方法です。どちらのコマンドもシステムを「正常に シャットダウン」します。つまり、すべてのファイルシステムに対する変更はディスクに書き出され、すべてのシステムサービス、プロセス、オペレーティングシステムが正常に終了します。

システムのアボートキーシーケンスを使用したり、電源をオフにしてからオンにする方法では、システムサービスが突然終了してしまうので、正常なシャットダウン方法とはいえません。しかし、緊急時には、これらの方法を使用しなければならない場合もあります。システムの復元手順については、第 8 章「SPARC: システムのブートの手順」または第 9 章「x86: システムのブートの手順」を参照してください。

表 7-1 に、いくつかのシャットダウンコマンドとその用途を要約します。

表 7-1 シャットダウンコマンド

コマンド 

説明 

用途 

shutdown

init を呼び出してシステムをシャットダウンする実行可能なシェルスクリプト。デフォルトでは、システムは実行レベル S に移行する。

実行レベル 3 で動作しているサーバーで使用する。サーバーにログインしているユーザー、およびサーバー資源をマウントしているシステムに、サーバーが間もなくシャットダウンされることが通知される。 

init

すべてのアクティブなプロセスを終了し、ディスクを同期させてから実行レベルを変更する実行可能ファイル。

他のユーザーが影響を受けないスタンドアロンシステムで使用する。ユーザーはまもなく行われるシャットダウンについて通知されないので、シャットダウンにかかる時間は短くて済む。 

reboot

ディスクを同期させ、ブート命令を uadmin システムコールに渡す実行可能ファイル。実際にプロセッサを停止するのは、uadmin システムコールである。

推奨されない。代わりに、init コマンドを使用する。

halt

ディスクを同期させ、プロセッサを停止する実行可能ファイル。

/etc/rc0 (すべてのプロセスを停止し、ディスクを同期させ、すべてのファイルシステムのマウントを解除する) スクリプトを実行しないので、推奨されない。


注 -

この章およびこのマニュアル全体を通して、/usr/ucb/shutdown コマンドではなく /usr/sbin/shutdown コマンドを使用します。


デバイスの電源を落とす場合

次のような場合は、すべてのシステムデバイスの電源を落とす必要があります。

システムデバイスとは、CPU、モニター、外部デバイス (ディスク、テープ、プリンタ) などを意味します。

シャットダウン手順を実行してから、すべてのデバイスの電源を落としてください。

システムのダウンについてユーザーに通知する

shutdown コマンドは起動時に、ログインしているすべてのユーザーおよびシステム資源をマウントしているすべてのシステムに、警告と最終メッセージという形でシャットダウンを通知します。

サーバーをシャットダウンする場合に、init コマンドではなく shutdown コマンドを使用することを推奨するのはこのためです。どちらを使用するにしても、ユーザーには予定されているシャットダウンについてあらかじめ電子メールで知らせておくようにしてください。

システム上のどのユーザーに通知する必要があるかを知るには、who コマンドを使用します。who コマンドは、システムの現在の実行レベルを知りたい場合にも使用できます。システム上のどのユーザーに通知する必要があるかを知るには、who コマンドを使用します。who(1) コマンドは、「システムの実行レベルを確認する方法」で説明されているシステムの現在の実行レベルを知りたい場合にも使用できます。

システムにログインしているユーザーを知る方法

  1. シャットダウンするシステムにログインします。

  2. who コマンドを使用して、ログイン中のユーザーを表示します。


    $ who
    

例-システムにログインしているユーザーを知る

who コマンドの出力例を以下に示します。


$ who
 [ログインしているユーザーのユーザー名。] holly [ログインしているユーザーの端末回線。]           console  May  7 07:30
 [ユーザーがログインした日時。] kryten    pts/0    May  7 07:35	(starbug)
 [(省略可能) リモートシステムからログインしているユーザーのホスト名。] lister    pts/1    May  7 07:40	(bluemidget)

サーバーをシャットダウンする方法

  1. スーパーユーザーになります。

  2. システムにユーザーがログインしているかどうか調べます。


    # who
    

    ログインしているすべてのユーザーが表示されます。システムがシャットダウンされることを、メールかブロードキャストメッセージで知らせることもできます。

  3. shutdown(1M) コマンドを使用してシステムをシャットダウンします。


    # shutdown -iinit-state -ggrace-period -y 
    

    -iinit-state

    システムをデフォルトの S 以外の init 状態にする。0、1、2、5、6 のいずれかを指定できる。 

    -ggrace-period

    シャットダウンするまでの時間 (秒) を指定する。デフォルトは 60 秒。 

    -y

    ユーザーの介入なしにシャットダウンを継続する。このオプションを指定しないと、シャットダウンを継続するかどうか 60 秒後にたずねられる。 

  4. シャットダウンを継続するかどうかたずねられたら、y を入力します。


    Do you want to continue? (y or n): y
    

    -y オプションを指定した場合、このプロンプトは表示されません。

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


    Type Ctrl-d to proceed with normal startup,
    (or give root password for system maintenance): xxx
    
  6. システム管理作業を終了したら、Ctrl-d を押してデフォルトの実行レベルに戻ります。

  7. システムが、shutdown コマンドで指定した実行レベルに移行したことを確認する方法を以下の表に要約します。

    移行後の実行レベル 

    SPARC システムの場合 

    x86 システムの場合 

    実行レベル S (シングルユーザーモード) 

    実行レベル 0 (電源切断状態) 

    ok または >

    type any key to continue

    実行レベル 3 (リモート資源が共有されたマルチユーザー状態) 

    hostname console login:

    hostname console login:

例 - SPARC システムを実行レベル S にする(サーバー)

次の例では、shutdown コマンドを使用して、3 分後に、SPARC システムを実行レベル S (シングルユーザーモード) にしています。


# who
root       console      Jun 10 14:15 
# shutdown -g180 -y
 
Shutdown started.    Wed Jun 10 14:15:25 MDT 1998
 
Broadcast Message from root (console) on mars Wed Jun 10 14:15:26...
The system mars will be shut down in 3 minutes 
.
.
.
Broadcast Message from root (console) on mars Wed Jun 10 14:17:58...
The system mars will be shut down in 30 seconds
.
.
.
INIT: New run level: S
The system is coming down for administration.  Please wait.
Unmounting remote filesystems: /vol nfs done.
Print services stopped.
syslogd: going down on signal 15
Killing user processes: done.
 
INIT: SINGLE USER MODE
 
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Entering System Maintenance Mode ...
# 

例 - SPARC システムを実行レベル 0 にする

次の例では、shutdown コマンドを使用して、SPARC システムを 5 分後に実行レベル 0 にしています。確認用プロンプトが表示されないように -y オプションを指定しています。


# who
kryten     console      Jun 10 14:22
rimmer     pts/1        Jun 10 14:23    (starbug)
pmorph     pts/2        Jun 10 14:24    (bluemidget)
(ログインしているユーザーにメールを送る)
# shutdown -i0 -g300 -y
Shutdown started.    Wed Jun 10 14:30:32 MDT 1998
Broadcast Message from root (console) on pluto Wed Jun 10 14:30:32...
The system will be shut down in 5 minutes
.
.
.
INIT: New run level: 0
The system is coming down.  Please wait.
.
.
.
The system is down.
syncing file systems... [11] [9] [5] done
Program terminated
Type  help  for more information
ok 

システムを実行レベル 0 にしてすべてのデバイスの電源を落とす場合は、「すべてのデバイスの電源を落とす方法」を参照してください。

例 - SPARC システムをリブートして実行レベル 3 にする(サーバー)

次の例では、shutdown コマンドを使用して SPARC システムをリブートし、2 分後に実行レベル 3 にしています。確認用プロンプトが表示されないように -y オプションを指定しています。


# who
kryten     console      Jun 10 14:35
rimmer     pts/1        Jun 10 14:40    (starbug)
pmorph     pts/2        Jun 10 14:45    (bluemidget)
(ログインしているユーザーにメールを送る)
# shutdown -i6 -g120 -y
Shutdown started.    Wed Jun 10 14:34:26 MDT 1998
Broadcast Message from root (console) on pluto Wed Jun 10 14:34:26 MDT 1998
The system will be shut down in 1 minute
Changing to init state 6 - please wait
#
INIT: New run level: 6
The system is coming down.  Please wait.
.
.
.
The system is down.
syncing file systems... [11] [9] [5] done
rebooting...
.
.
.
 
pluto console login:

次に進む手順

システムをシャットダウンした理由が何であれ、最終的には、すべてのファイル資源が使用でき、ユーザーがログインできる実行レベル 3 に戻すことになるでしょう。システムをマルチユーザー状態に移行する手順については、第 8 章「SPARC: システムのブートの手順」または第 9 章「x86: システムのブートの手順」を参照してください。

スタンドアロンシステムをシャットダウンする方法

  1. スーパーユーザーになります。

  2. init(1M) コマンドを使用してシステムをシャットダウンします。


    # init run-level
    

    run-level

    新しい実行レベル 

  3. システムが、init コマンドで指定した実行レベルに移行したことを確認する方法を以下の表に要約します。

    移行後の実行レベル 

    SPARC システムの場合 

    x86 システムの場合 

    実行レベル S (シングルユーザーモード) 

    #
    #

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

    #
    #

    実行レベル 0 (電源切断状態) 

    ok または >
    type any key to continue

    実行レベル 3 (リモート資源が共有されたマルチユーザー状態) 

    hostname console login:
    hostname console login:

例 - x86 システムを実行レベル 0 にする (スタンドアロン)

次の例では、init コマンドを使用して、x86 スタンドアロンシステムを安全に電源を落とせるレベルにします。


# init 0
#
INIT: New run level: 0
The system is coming down.  Please wait.
.

.

.
The system is down.
syncing file systems... [11] [10] [3] done
Type any key to continue

システムを実行レベル 0 に移行してすべてのデバイスの電源を落とす場合は、「すべてのデバイスの電源を落とす方法」を参照してください。

例 - SPARC システムを実行レベル S にする (スタンドアロン)

次の例では、init コマンドとを使用して、SPARC スタンドアロンシステムを実行レベル S (シングルユーザー状態) にしています。


# init S
#
INIT: New run level: S
The system is coming down for administration.  Please wait.
Unmounting remote filesystems: /vol nfs done.
Print services stopped.
syslogd: going down on signal 15
Killing user processes: done. 
INIT: SINGLE USER MODE
 
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Entering System Maintenance Mode
 
# 

次に進む手順

システムをシャットダウンした理由が何であれ、最終的には、すべてのファイル資源が使用でき、ユーザーがログインできる実行レベル 3 に戻すことになるでしょう。システムをマルチユーザー状態に移行する手順については、第 8 章「SPARC: システムのブートの手順」または第 9 章「x86: システムのブートの手順」を参照してください。

すべてのデバイスの電源を落とす方法

  1. 以下の表を参考にして、該当するシャットダウン作業を実行します。

    サーバーをシャットダウンする場合 

    スタンドアロンシステムをシャットダウンする場合 

    「サーバーをシャットダウンする方法」を参照

    「スタンドアロンシステムをシャットダウンする方法」を参照

  2. システムをシャットダウンしたら、すべてのデバイスの電源を落とします。必要なら、電源ケーブルをコンセントから引き抜きます。

  3. 電源が回復したら、次の手順に従ってシステムとデバイスの電源を投入します。

    1. 電源ケーブルをコンセントに差し込みます。

    2. モニターの電源を入れます。

    3. ディスクドライブ、テープドライブ、プリンタの電源を入れます。

    4. CPU の電源を入れます。

      CPU の電源が入ると、システムは実行レベル 3 になります。

第 8 章 SPARC: システムのブートの手順

この章では、OpenBootTM PROM モニターを使う手順と、SPARC システムを異なる実行レベルにブートする手順を説明します。

この章で説明する手順は次のとおりです。

ブート手順の概要については、第 10 章「ブートプロセスの参照情報」を参照してください。

SPARC: ブート PROM の使用方法

システム管理者は、システムをマルチユーザー状態にする前に、通常は、PROM レベルを使ってシステムをブートします。ただし、どのデバイスからブートするかを設定したり、ハードウェア診断プログラムを実行するなどのシステム動作方法を変更する必要がある場合があります。

永久に、または一時的に新しいドライブをシステムに追加したいときは、デフォルトのブートデバイスを必ず変更してください。あるいは、スタンドアロンシステムをディスクレスクライアントに変換する場合は、必ずネットワークからブートしてください。

すべての PROM コマンドについては、monitor(1M) または eeprom(1M) のマニュアルページを参照してください。

SPARC: ok プロンプトに切り換える方法

システムを停止すると、PROM モニターは > または ok を表示します。

SPARC システムで、> プロンプトから ok プロンプトに切り換えるには、次のコマンドを入力します。


> n
ok

この節で示す例では、すべて ok プロンプトを使います。

SPARC: システムの PROM リリースを確認する方法

システムの PROM リリースレベルを banner コマンドで表示します。


ok banner
SPARCstation 2, Type 4 Keyboard
ROM Rev. 2.2, 16 MB memory installed, Serial #nnnnnn
Ethernet address 8:0:20:f:fd:6c HostID nnnnnnnn

ハードウェア構成情報が表示され、その中に PROM のリリース番号があります。PROM リリースレベルが、ROM Rev 番号で示されます。

SPARC: デフォルトのブートデバイスを変更する方法

次の手順で、デフォルトのブートデバイスを変更してください。

  1. スーパーユーザーになります。

  2. init(1M) コマンドを使って、システムを停止します。


    # init 0
    

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

  3. > PROM プロンプトが表示されたら、n を入力して Return キーを押します。


    > n
    ok

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

  4. setenv コマンドを使って、boot-device の設定を変更します。


    ok setenv boot-device disk[n]

    boot-device

    ブートするデバイスを設定するパラメータを指定する。 

    disk[n]

    boot-device 値を指定する。この場合、n はディスク番号。

    ディスク番号を確認したい場合は、probe-scsi-all コマンドを使います。

  5. printenv コマンドを使って、デフォルトのブートデバイスの変更を確認します。


    ok printenv boot-device
    
  6. reset コマンドを使って新しい boot-device 値を保存します。


    ok reset
    

    boot-device 設定が、PROM に書き込まれます。

SPARC: 例 - デフォルトのブートデバイスを変更する


# init 0
# 
INIT: New run level: 0
.
.
.
The system is down.
syncing file systems... [11] [10] [5] done
Program terminated
Type  help  for more information
ok setenv boot-device disk
boot-device =         disk
ok printenv boot-device
boot-device           disk                    disk
ok reset
SPARCstation 10 (1 X 390Z50), No Keyboard
ROM Rev. 2.14, 32 MB memory installed, Serial #3383708.
Ethernet address 8:0:20:1f:33:9f, Host ID: 7233a19e.
Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/
sd@3,0  File and args: kadb -v
.
.
.
pluto console login:

SPARC: システムをリセットする方法

ok プロンプトで reset コマンドを実行します。


ok reset

セルフテストプログラムが実行され、ハードウェアで診断テストを行なった後、システムがリブートされます。

SPARC システムのブート

表 8-1 に、この章で説明するブート方法の要約を示します。

表 8-1 SPARC: ブート方法の説明

システムのブート方法 

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

参照先 

実行レベル 3 (NFS 資源を共有するマルチユーザー状態) 

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

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

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

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

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

対話式でブート 

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

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

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

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

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

kadb を使ってブート

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

「SPARC: 例 - カーネルデバッガ (kadb) を使ってシステムをブートする」

システムの電源を切ってから入れ直すと、マルチユーザーのブートシーケンスが開始されます。このあとに示す手順では、ok PROM プロンプトからさまざまな状態でブートする方法を説明します。

who -r コマンドを使って、システムが指定した実行レベルになっていることを確認します。

実行レベルについての説明は、第 6 章「実行レベルとブートファイルの手順」を参照してください。

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

  1. ブートコマンドを使って実行レベル 3 にします。


    ok boot
    

    自動ブート処理では、一連のスタートアップメッセージ表示して、システムを実行レベル 3 にします。

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

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


    hostname console login:

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

次に、システムを実行レベル 3 にするメッセージの例を示します。


ok boot
Resetting ...
SPARCstation 10 (1 X 390Z50), Keyboard Present
ROM Rev. 2.14, 32 MB memory installed, Serial #number.
Ethernet address #number, Host ID: number.

Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0  
File and args: 
SunOS Release 5.7 Version generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
configuring network interfaces: le0.
Hostname: venus
The system is coming up.  Please wait.
add net default: gateway 129.152.75.248
NIS domainname is solar.com
starting rpc services: rpcbind keyserv ypbind done.
Setting netmask of le0 to 255.255.255.0
Setting default interface for multicast: add net 224.0.0.0: gateway venus
syslog service starting.
Print services started.
volume management starting.
The system is ready.

venus console login: 

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

  1. boot -s コマンドを使って、システムを実行レベル S にします。


    ok boot -s
    
  2. 次のメッセージが表示されたら、root パスワードを入力します。


    INIT: SINGLE USER MODE
    Type Ctrl-d to proceed with normal startup,
     
    (or give root password for system maintenance):  xxx
    
  3. who -r コマンドを使って、システムが実行レベル S になっていることを確認します。


    # who -r
    .       run-level S        May  2 07:39     3      0  S
  4. システム保守作業の後に、システムをマルチユーザー状態にするには、Control-d を押します。

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

次に、実行レベル S になるシステムの表示例を示します。


ok boot -s
.
.
.
SunOS Release 5.7 Version [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
configuring network interfaces: le0.
Hostname: mars
INIT: SINGLE USER MODE
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Sun Microsystems Inc.   SunOS 5.7 August 1998
# who -r
   .       run-level S  June 2 07:45     S      0  ?
<保守作業を行う>
# <Control-d を押す>

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

  1. boot -a コマンドを使って、システムを対話式でブートします。


    ok boot -a
    
  2. 表 8-2 に示すように、システムプロンプトに答えてください。

    表 8-2 SPARC: 対話式によるブート処理手順

    システムの表示 

    操作 

    Enter filename [kernel/unix]: 

    ブートに使用する別のカーネルの名前を入力する。 

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

    Name of default directory for modules 
    [/platform/`uname -m`/kernel  /kernel 
    /usr/kernel]: 

    モジュールディレクトリに別のパスを入力して Return キーを押す。 

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

    Name of system file [/etc/system]: 

    代わりのシステムのファイルの名前を入力して Return キーを押す。 /etc/system ファイルが破損している場合、ファイルとして /dev/null を入力する。

    あるいは、そのまま Return キーを押してデフォルトの /etc/system ファイルを使う。

    root filesystem type [ufs]: 

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

    Enter physical name of root device
    [physical_device_name]: 

    代わりのデバイス名を入力して、Return キーを押す。 

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

  3. 表 8-2 の質問に答えるようなプロンプトが表示されない場合、boot -a コマンドを正しく入力していることを確認してください。

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

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


ok boot -a
.
.
.
Resetting ...
Rebooting with command: -a
Boot device: /iommu/sbus/espdma@f,400000/esp@f,800000/sd@3,0 
File and args: -a
Enter filename [kernel/unix]: Return キーを押す
Enter default directory for modules
[/platform/SUNW,SPARCstation-10/kernel /platform/sun4m/kernel /kernel /usr/kernel]:
Return キーを押す
SunOS Release 5.7 Version generic [UNIX(R) System V Release 4.0]
Copyright (c) 1983-1998, Sun Microsystems, Inc.
Name of system file [etc/system]:  Return キーを押す
root filesystem type [ufs]: Return キーを押す
Enter physical name of root device
[/iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,800000
/sd@3,0:a]: Return キーを押す
configuring network interfaces: le0.
Hostname: earth
The system is coming up.  Please wait.
.
.
.
The system is ready.
earth console login:

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

この手順は、/etc/passwd などの重要なファイルに、無効なエントリがあり正常にブートできない場合に必要です。

システムのデバイス名を調べたい場合は、第 20 章「デバイスへのアクセス」を参照してください。

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

    ブート方法 

    手順 

    Solaris インストール CD 

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

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

    3. インストール CD からブートして、シングルユーザーモードにする。 

    ok boot cdrom -s
    

    インストールサーバーまたはリモート CD ドライブが利用できる場合は、ネットワークからブートする。 

    次のコマンドを使う。 

    ok boot net -s
    

  2. ファイル内に無効なエントリがあるファイルシステムをマウントします。


    # mount /dev/dsk/device-name /a
    
  3. 新しくマウントしたディレクトリに移動します。


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


    # TERM=sun
    # export TERM
    
  5. エディタを使って、ファイルから無効なエントリを削除します。


    # vi filename
    
  6. ルート (/) ディレクトリに移動します。


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


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


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

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


    hostname console login:

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

次に、ローカル CD-ROM からブートした後、重要なシステムファイルを修復する例として、/etc/passwd を使用した場合を示します。


ok boot cdrom -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=sun
# export TERM
# vi passwd
(無効なエントリを削除する)
# cd /
# umount /a
# init 6

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

アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop-A または L1-A を押します。端末では、Break キーを押します。

  1. システムのアボートキーシーケンスを入力します。

    モニターに ok PROM プロンプトが表示されます。


    ok
  2. sync コマンドを使って、ディスクを同期させます。


    ok sync
    
  3. syncing file systems. . . というメッセージが表示されたら、システムのアボートキーシーケンスをもう一度押します。

  4. 該当する boot コマンドを入力して、ブートプロセスを起動します。

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


    # who -r
     .       run-level 3  May  2 07:39     3      0  S 

SPARC: 例 - 復元のためにシステムを停止する


<Stop-a を押す>
ok sync
syncing file systems...
<Stop-a を押す>
ok boot

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

問題を対処するために、オペレーティングシステムのクラッシュダンプを保存しておく必要があります。savecore 機能とその設定方法については、『Solaris のシステム管理 (第 2 巻)』の「システムクラッシュ情報の生成と保存」で説明しています。この節では、savecore 機能が有効な場合に、システムをリブートする方法だけを説明します。

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

  1. システムのアボートキーシーケンスを入力します。アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop-A または L1-A を押します。端末では、Break キーを押します。

    モニターに ok PROM プロンプトが表示されます。

  2. ok プロンプトで、sync コマンドを使ってディスクを同期させ、クラッシュダンプを書き出します。


    > n
    ok sync
    

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

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

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


    hostname console login:

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


<Stop-a を押す>
ok sync

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

  1. システムのアボートキーシーケンスを入力します。アボートキーシーケンスは、キーボードのタイプによって異なります。たとえば、Stop-A または L1-A を押します。端末では、Break キーを押します。

    モニターに、ok PROM プロンプトが表示されます。

  2. ok プロンプトで 、sync コマンドを使ってディスクを同期させ、クラッシュダンプを書き出します。


    > n
    ok sync
    
  3. syncing file systems. . .メッセージが表示されたら、もう一度システムのアボートキーシーケンスを入力します。

  4. カーネルデバッガを使ってシステムをブートします。


    ok boot kadb
    
  5. ブートメッセージで、システムがカーネルデバッガ (kadb) を使用してブートしていることを確認します。


    Rebooting with command: kadb
    Boot device: /iommu/sbus/espdma@4,800000/esp@4,8800000/sd@3,0
    .
    .
    .

SPARC: 例 - カーネルデバッガ (kadb) を使ってシステムをブートする


<Stop-a を押す>
ok sync
syncing file systems...
<Stop-a を押す>
ok boot kadb

第 9 章 x86: システムのブートの手順

この章では、x86 システムをブートする手順を説明します。

この章で説明する手順は次のとおりです。

ブート手順の概要については、第 10 章「ブートプロセスの参照情報」を参照してください。

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 continue プロンプトが表示された場合は、任意のキーを押してシステムをリブートするか、リセットボタンを押してシステムを再起動します。システムがシャットダウンしている場合は、電源スイッチを押してシステムを再起動します。

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

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

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

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

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


    hostname console login:

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


Type any key to continue
           .
           .
           .
 
                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/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: b 
             .
             .
             .
venus console login:

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

  1. Type any key to continue プロンプトが表示された場合は、どれかキーを押してシステムをリブートします。このプロンプトが表示されているときは、リセットボタンを押すこともできます。システムがシャットダウンしている場合は、電源スイッチを使用してシステムの電源を入れます。

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

  2. b -s と入力し、システムを実行レベル 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 continue
            .
            .
            .
 
                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/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: b -s
              .
              .
              .
INIT: SINGLE USER MODE
 
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Entering System Maintenance Mode
              .
              .
              .
# who -r
.       run-level S  Aug  4 13:11     S      0  3
(保守作業を行う)
# Control-d を押す

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

  1. Type any key to continue プロンプトが表示されているときは、任意のキーを押してリブートするか、リセットボタンを押してシステムを再起動します。システムがシャットダウンしているときは、電源スイッチを押してシステムをリブートします。

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

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

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

  3. 表 9-2 で説明するように、システムプロンプトに応答します。

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

    システムの表示 

    操作 

    Type any key to continue

    このプロンプトが表示されているときには、任意のキーを押してシステムをリブートする。このプロンプトが表示されているときにリセットボタンを使用することもできる。システムがシャットダウンしているときは、電源スイッチを使用してシステムの電源を入れる。 

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

    Primary Boot Subsystem メニュー 

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

    Select (b)oot or (i)nterpreter:

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

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

    modules ディレクトリの代替パスを指定して Return キーを押すか、Return キーを押してデフォルトの modules ディレクトリパスを使用する。

    Name of system file [etc/system]:

    代わりのシステムファイル名を入力して Return キーを押すか、そのまま Return キーを押してデフォルトの /etc/system ファイルを使う。 /etc/system ファイルが破損している場合は、ファイルとして /dev/null を入力する。

    root filesystem type [ufs]:

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

    Enter physical name of root device[physical_device_name]:

    代わりのデバイス名を入力して、Return キーを押すか、そのまま Return キーを押してルートデバイス bootpath のデフォルトの物理名を使う。

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

デフォルトを選択 ([]で囲まれています) した例を示します。


Type any key to continue
            .
            .
            .
 
                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/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: b -a
Enter default directory for modules [/platform/i86pc/kernel 
/kernel /usr/kernel]: Return キーを押す
Name of system file [etc/system]: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 インストール CD またはネットワークのどちらからブートしているかによって、対応する手順に従ってください。

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

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

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

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

    3. (省略可能) ブート元のディスクに Intel 版 Solaris 2.6 またはその互換バージョンが含まれていない場合、フロッピーディスクドライブ (DOS ドライブ A) に Configuration Assistant/Boot (構成用補助) フロッピーディスクを挿入します。

    4. Type any key to continue プロンプトが表示されている場合は、どれかキーを押してシステムをリブートします。このプロンプトが表示されているときは、リセットボタンを押すこともできます。システムがシャットダウンしている場合は、電源スイッチを使用してシステムの電源を入れます。

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

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

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

      ブート可能なドライバが読み込まれます。

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

      「Current Boot Parameters」メニューが表示されます。

    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 continue
 
SunOS Secondary Boot version 3.00
 
 
		Solaris Intel Platform Edition Booting System
 
 
Running Configuration Assistant...
Autobooting from bootpath: /eisa/eha@1,4000/sd@0,0:a
 
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.
      .
      .
      .
Boot Solaris
 
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
 
To perform optional features, such as modifying the autoboot and property
settings, choose Boot Tasks.
 
An asterisk (*) indicates the current default boot device.
 
> To make a selection use the arrow keys, and press Enter to mark it [X].
 
  [ ] DISK: Target 0, IMPRIMIS 94241-7			0888
	    on Adaptec 1740/1742 SCSI controller in EISA Slot 4
  [ ] CD  : Target 2, TOSHIBA  CD-ROM XM-3501TA 3054
	    on Adaptec 1740/1742 SCSI controller in EISA Slot 4
  [ ] NET : SMC EtherCard Elite32C Ethernet adapter
	    in EISA Slot 6
 
 
F2_Continue		F3_Back		F4_Boot Tasks		F6_Help
      .
      .
      .
                     <<< Current Boot Parameters >>>
Boot path: /eisa/smceu@0,0
Boot args: kernel/unix -r
 
 
 
Select the type of installation you want to perform:
 
	1 Solaris Interactive
	2 Custom JumpStart
	3 Solaris Web Start
 
Enter the number of your choice followed by <ENTER> the key.
 
If you enter anything else, or if you wait for 30 seconds,
an interactive installation will be started.
 
Select type of installation: b -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=AT386
# export TERM
# vi passwd
(無効なエントリの削除)
# cd /
# umount /a
# init 6

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

可能であれば、次のコマンドのどちらかを使用してシステムを停止してみます。

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

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

問題に対処するために、オペレーティングシステムのコアダンプを保存しておく必要があります。

savecore 機能とその設定方法については、『Solaris のシステム管理 (第 2 巻)』の「システムクラッシュ情報の生成と保存」で説明しています。この節では、savecore 機能が有効な場合に、システムをリブートする方法だけを説明します。

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

kadb[0]: プロンプトを表示して、クラッシュダンプを強制するには、カーネルデバッガオプション kadb を指定してシステムをブートします。


x86 のみ -

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


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


    kadb[0]:

    kadb[0]: プロンプトが表示されます。

  2. 次のコマンドを kadb[0]: プロンプトで入力します。


    Press <Control-Alt-d>
    kadb[0]: vfs_syncall/W ffffffff
    kadb[0]: 0>eip
    kadb[0]: :c
    kadb[0]: :c
    kadb[0]: :c
    

    最初の :c を入力すると、システムはパニックを起こします。そこでもう一度 :c を入力します。システムは再度パニックを起こすため、3 度目の :c を入力し、クラッシュダンプを強制して、システムをリブートします。

    クラッシュダンプがディスクに書き込まれた後、システムはリブートします。

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

第 10 章 ブートプロセスの参照情報

この章では、SPARC や x86 システムでブートするのに使用するハードウェア、および各プラットホームのブートプロセスの概要を説明します。

この章の内容は次のとおりです。

システムのブート手順については、第 8 章「SPARC: システムのブートの手順」または、第 9 章「x86: システムのブートの手順」を参照してください。

SPARC: ブート PROM

SPARC システムごとに、「モニター」と呼ばれるプログラムを格納している PROM (プログラム可能な読み取り専用メモリー) チップがあります。モニターは、カーネルが使用される前に、システムの動作を制御します。システムをオンにすると、モニターはシステムのハードウェアやメモリーなどを検査するセルフテスト手順を実行します。エラーが検出されなければ、システムは、自動ブートプロセスを開始します。


SPARC のみ -

Solaris システムが動作する前に、以前のシステムの一部には PROM アップグレードが必要なものもあります。詳細については、購入先にお問い合わせください。


SPARC: ブートプロセス

表 10-1 SPARC: ブートプロセス
 ブート PROM フェーズ ブート PROM が、セルフテスト診断を実行する。
  ブート PROM が、bootblock プログラムを読み込む。
 ブートプログラムフェーズブートブロックプログラムが、ufsboot プログラムを読み込む。
  ufsboot プログラムが読み込まれてから、ブート PROM がカーネルを読み込む
 カーネル初期設定フェーズカーネルが自身を初期設定し、ルート (/) ファイルシステムをマウントするのに必要なモジュールをロードする。
  カーネルが init プロセスを起動する。
init フェーズinit プロセスが、実行制御スクリプトを起動する。

SPARC: ブートプロセスの詳細

表 10-2 に、上で図示した SPARC ブートプロセスについて説明します。

表 10-2 SPARC ブートプロセスの説明

ブートフェーズ 

説明 

ブート PROM 

1. PROM は、システム識別情報を表示し、セルフテスト診断を実行してシステムのハードウェアとメモリーを検査する。 

 

2. PROM は一次ブートプログラム bootblk を読み込む。このプログラムの目的は、デフォルトのブートデバイスから ufs ファイルシステムにある二次ブートプログラムを読み込むことにある。

ブートプログラム 

3. bootblk プログラムは二次ブートプログラム ufsboot を検索して実行し、それをメモリーに読み込む。

 

4. ufsboot プログラムが読み込まれたあと、ufsboot プログラムはカーネルを読み込む。

カーネルの初期設定 

5. カーネルが自身を初期設定し、ファイルの読み込みに ufsboot を使ってモジュールのロードを開始する。カーネルはルートファイルシステムをマウントするのに十分なモジュールをロードすると、/ufsboot プログラムの対応づけを解除し、それ自身のリソースを使って動作を続ける。

init

6. カーネルがユーザープロセスを作成し、/sbin/init プロセスを起動する。このプロセスは /etc/inittab ファイルを読んで他のプロセスを起動する。

 

7. /sbin/init プロセスが実行制御 (rc) スクリプトを起動し、このスクリプトは一連の他のスクリプトを実行する。それらのスクリプト (/sbin/rc*) はファイルシステムをマウントして検査し、いろいろなプロセスを開始し、システム保守作業を実行する。

x86: PC BIOS

カーネルが起動される前は、システムは、PC 上のファームウェアインタフェースである、読み取り専用メモリー (ROM) の Basic Input/Output System (BIOS) によって制御されます。

ハードウェアアダプタにオンボード BIOS を搭載することができ、それによってデバイスの物理的特性を表示したり、デバイスにアクセスしたりすることができます。

起動シーケンスの間、PC の BIOS はアダプタ BIOS があるかどうか調べ、あれば、それぞれをロードして、実行します。アダプタの BIOS はそれぞれセルフテスト診断を実行して、デバイス情報を表示します。

x86: ブートサブシステム

Solaris のブート時に、ブートシステムについて次の選択を行えます。

表 10-3 に、主な x86 ブートインタフェースの目的を示します。以降の節では、各ブートサブシステムを詳細に説明し、例を示します。

表 10-3 x86 ブートサブシステム

ブートサブシステム 

このサブシステムメニューの目的 

一次ブートサブシステム 

ブートしているディスク上に Solaris fdisk パーティション以外にも複数の fdisk パーティションがある場合に使用する。

二次ブートサブシステム 

Solaris リリースをブートするときに使用。自動ブートプロセスに割り込んで、Solaris Device Configuration Assistant を実行することを選択していない限り、Solaris リリースが自動的にブートされる。 

Solaris Device Configuration Assistant ブートフロッピーディスク 

「Solaris Device Configuration Assistant」メニューを表示するには次の 2 つの方法がある。 

  1. Solaris Device Configuration Assistant フロッピーディスクを使用してシステムをブートする。

  2. インストールしたディスクから Solaris をブートするときに自動ブートプロセスに割り込む。

「Current Boot Parameters」 

Solaris オペレーティング環境がインストールされているディスクからブートするときに使用。あるいは、Solaris インストール CD から、またはネットワーク経由で Solaris リリースをインストールするときに使用。どちらの場合も、このメニューにブートオプションのリストが表示される。 

ブートプロセス中は、ブートサブシステムメニューは異なるデバイスとブートオプションを表示します。システムは何回かのタイムアウトの後で応答を受け付けなくなった場合、デフォルトの設定値を使って自動的にブートを継続します。ブートサブシステムメニューが表示されるたびに、ブートプロセスを停止することができます。また、自動的に継続させることもできます。

以下の節では、各サブシステムの画面の例を示します。

x86: Solaris のブート

デバイスを識別するフェーズでは、Configuration Assistant (構成用補助) は次の処理を実行します。

ブート中に、システムは次の処理を行います。

各段階のデバイス識別の例を次に示します。デバイス出力は、各システム構成によって異なります。

x86: デバイス識別段階で表示されるメニュー

Configuration Assistant がシステム上のデバイスを識別するときに、いくつかのメニューが表示されます。

x86: Configuration Assistant メニュー

このメニューは、Configuration Assistant を実行するたびに表示されます。


Solaris Device Configuration Assistant 

The Solaris(TM) (Intel Platform Edition) Device Configuration Assistant
scans to identify system hardware, lists identified devices, and can
boot the Solaris software from a specified device. This program must be
used to install the Solaris operating environment, add a driver,
or change the hardware on the system.
 
> To perform a full scan to identify all system hardware, choose Continue.
 
> To diagnose possible full scan failures, choose Specific Scan.
 
> To add new or updated device drivers, choose Add Driver.
 
About navigation...
    - The mouse cannot be used.
    - If the keyboard does not have function keys or they do not respond, 
      press ESC. The legend at the bottom of the screen will change to 
      show the ESC keys to use for navigation.
    - The F2 key performs the default action.
 
F2_Continue		F3_Specific Scan		F4_Add Driver		F6_Help

x86: Bus Enumeration メニュー

このメニューは、Configuration Assistant が自動検出できるデバイスのハードウェア構成データを集めているときに一時的に表示されます。


Bus Enumeration
 
 
 
Determining bus types and gathering hardware configuration data ...
 
 
 
Please wait ...

x86: Scanning Devices メニュー

このメニューは、特別なドライバだけで検出できるデバイスを Configuration Assistant が手動で走査しているときに表示されます。


Scanning Devices
 
The system is being scanned to identify system hardware.
 
If the scanning stalls, press the system's reset button. When the
system reboots, choose Specific Scan or Help.
 
 
			Scanning: Flpppy disk controller
 
   #######################
			|         |        |         |         |         |
			0	 		 20       40        60	       80       100
 
 
 
Please wait ...  

x86: Identified Devices メニュー

このメニューは、システムで識別されたデバイスを表示します。このメニューからは、「Boot Solaris」メニューに移動できます。また、キーボード構成の設定、デバイスの表示や編集、シリアルコンソールの設定、構成の保存や削除など、付加的な作業も実行できます。


Identified Devices
 
The following devices have been identified on this system. To identify
devices not on this list or to modify device characteristics, such as
keyboard configuration, choose Device Tasks. Platform types may be
included in this list.
 
	EISA: Adaptec 1740/1742 SCSI controller
	EISA: Motherboard
	EISA: SMC EtherCard Elite32C Ethernet adapter
	ISA: Floppy disk controller
	ISA: Game port (Joy stick)
	ISA: PCMCIA controller
	ISA: Parallel port
	ISA: Serial port
	ISA: System keyboard (US-English)
	ISA: VGA w/ 8514/A compatible graphics adapter
 
 
 
F2_Continue		F3_Back			F4_Device Tasks			F6_Help

x86: ブート段階で表示されるメニュー

この段階では、システムをブートする方法を指定できます。

x86: Boot Solaris メニュー

Solaris ブートメニューからは、Solaris リリースをブートするデバイスを選択できます。また、autoboot やプロパティ設定の表示や編集など、オプションの作業も実行できます。ブートデバイスを選択し、[Continue] を選択すると、Solaris カーネルがブートを開始します。


Boot Solaris
 
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
 
To perform optional features, such as modifying the autoboot and property
settings, choose Boot Tasks.
 
An asterisk (*) indicates the current default boot device.
 
> To make a selection use the arrow keys, and press Enter to mark it [X].
 
  [ ] DISK: Target 0, IMPRIMIS 94241-7			0888
	    			on Adaptec 1740/1742 SCSI controller in EISA Slot 4
  [ ] CD  : Target 2, TOSHIBA  CD-ROM XM-3501TA 3054
	    			on Adaptec 1740/1742 SCSI controller in EISA Slot 4
  [ ] NET : SMC EtherCard Elite32C Ethernet adapter
	    			in EISA Slot 6
 
 
 
 
F2_Continue		F3_Back			F4_Boot Tasks			F6_Help

x86: Solaris ブートオプションメニュー

このメニューは、ローカルディスクから Solaris をブートするたびに表示されます。デフォルトの Solaris カーネルからブートしたい場合は、5 秒間のタイムアウトが経過するのを待ちます。別のオプションでブートしたい場合は、タイムアウト期間が経過する前に、適切なオプションを選択します。


                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/sd@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:

x86: ブートプロセス

表 10-4 x86: ブートプロセス
 BIOS フェーズ PC BIOS が、すべてのハードウェアデバイスの BIOS を読み込んで実行する。
  BIOS ブートプログラムが、マスターブートレコード mboot を読み込んで実行する。
 ブートプログラムフェーズmboot が、Solaris パーティションブートプログラム pboot を読み込む。
  pboot が一次ブートプログラム bootblk を読み込む。
  bootblk が、fdisk テーブルを読み込み、デフォルトのブートパーティションを探す。この時点で、「一次ブートサブシステム」メニューが表示される。
  bootblk が、二次ブートプログラム boot.bin または ufsboot を読み込む。ここで ESC キを押すと、「Configuration Assistant (構成用補助)」メニューを表示できる。
  二次ブートプログラム boot.bin または ufsboot が、/etc/bootrc スクリプトを読み込み、このスクリプトがカーネルを読み込む。ここで、Solaris ブートオプションメニューが表示される。
 カーネル初期設定フェーズカーネルが自身を初期設定し、ルート (/) ファイルシステムをマウントするのに必要なモジュールをロードする。
  カーネルが init プロセスを起動する。
init フェーズinit プロセスが、実行制御スクリプトを起動する。

x86: ブートプロセスの詳細

表 10-5 に、上記の図に示した x86 ブートプロセスについて説明します。

表 10-5 x86 ブートプロセスの説明

ブートフェーズ 

説明 

BIOS 

1. システムの電源をオンにすると、PC BIOS がセルフテスト診断を実行してシステムのハードウェアとメモリーを検査する。エラーが検出されなければ、システムは自動的にブートを開始する。エラーが検出されると、エラーメッセージが表示されて、復元オプションが示される。 

追加のハードウェアデバイスの BIOS がここで実行される。 

 

2. BIOS ブートプログラムが、ブートデバイス (フロッピーディスクかハードドライブ) の最初の物理セクターを読もうとする。ブートデバイス上のこの最初のディスクセクターにはマスターブートレコード mboot が格納されており、このレコードが読み込まれて実行される。mboot ファイルが見つからなかった場合は、エラーメッセージが表示される。

ブートプログラム 

3. mboot には、アクティブなパーティションと、Solaris ブートプログラム pboot の位置を見つけるのに必要なディスク情報が、格納されており、mboot は、pboot を読み込んで実行する。

 

4. pboot が一次ブートプログラム bootblk を読み込む。このプログラムは、ufs ファイルシステムにある二次ブートプログラムを読み込む。

 

5. ブート可能なパーティションが複数ある場合、bootblkfdisk テーブルを読んでデフォルトのブートパーティションをさがし、利用可能なパーティションのメニューを表示する。ブートするパーティションを選択する際に、30 秒経過するとタイムアウトになる。これは、ブート可能なパーティションが複数ある場合にのみ発生する。

 

6. bootblk はルートファイルシステムで二次ブートプログラム boot.bin または ufsboot をさがし、実行する。Configuration Assistant を起動するときは、5 秒以内に自動ブートに割り込みをかける。

 

7. 二次ブートプログラム boot.bin または ufsboot/etc/bootrc スクリプトを実行するコマンドインタプリタを起動する。ここでシステムのブート方法を選択するメニューが表示される。デフォルトでは、カーネルが読み込まれ、実行される。ブートオプションを指定したり、ブートインタプリンタを起動するときは、5 秒以内に行う。

カーネル初期設定 

8. カーネルは二次ブートプログラム boot.bin または ufsboot を使用してファイルを読み取り、カーネル自身を初期化して、モジュールの読み込みを開始する。ルートファイルシステムをマウントするのに十分なモジュールをカーネルが読み込むと、二次ブートプログラムのマッピングを解除し、それ自身の資源を使用してブートを継続する。

 

9.カーネルはユーザープロセスを作成し、/sbin/init プロセスを起動する。このプロセスは /etc/inittab ファイルを読み込んで他のプロセスを起動する。

init

10. /sbin/init プロセスは実行制御 (rc) スクリプトを開始し、このスクリプトが一連の他のスクリプトを実行する。それらのスクリプト (/sbin/rc*) はファイルシステムを検査、マウントし、さまざまなプロセスを実行して、システム保守作業を実行する。