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

x86: ブートプロセス

次の表では、x86 システムのブートプロセスについて説明します。

表 16–2 x86: ブートプロセスの説明

ブート段階 

説明 

BIOS 

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

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

 

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

ブートプログラム 

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

 

4. Solaris ブートプログラム pboot が一次ブートプログラム bootblk を読み込みます。bootblk の目的は、UFS ファイルシステム内に格納された二次ブートプログラムを読み込むことにあります。

 

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

 

6. bootblk はルート (/) ファイルシステムで二次ブートプログラム boot.bin または ufsboot を探し、実行します。Solaris Device Configuration Assistant (デバイス構成用補助) を起動するときは、5 秒以内に自動ブートに割り込みをかけます。

 

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

カーネル初期設定 

8. カーネルは二次ブートプログラム boot.bin または ufsboot を使用してファイルを読み込み、カーネル自身を初期化して、モジュールの読み込みを開始します。カーネルはルート (/) ファイルシステムをマウントするのに十分なモジュールを読み込むと、 二次ブートプログラムの対応づけを解除し、自身のリソースを使って動作を続けます。

 

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

init

10. この Oracle Solaris リリースでは、/sbin/init プロセスが /lib/svc/bin/svc.startd を開始し、さらにその svc.startd が次の各処理を行うシステムサービスを開始します。

  • ファイルシステムの検査とマウント

  • ネットワークとデバイスの設定

  • 各種プロセスの起動とシステム保守作業の実行

さらに、svc.startd は互換性を維持する目的で実行制御 (rc) スクリプトを実行します。