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

第 12 章 ブートプロセス (参照情報)

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

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

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

SPARC: ブート PROM

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


SPARC のみ -

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


SPARC: ブートプロセス

表 12-1 で、ブートプロセスについて説明します。

表 12-1 ブートプロセスの説明

ブートフェーズ 

説明 

ブート 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*) はファイルシステムをマウントして検査し、いろいろなプロセスを開始し、システム保守作業を実行する。

IA: PC BIOS

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

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

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

IA: ブートサブシステム

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

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

表 12-2 ブートサブシステム

ブートサブシステム 

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

一次ブートサブシステム 

このメニューは、現在ブート中のディスクに複数のオペレーティング環境 (Solaris オペレーティング環境も含む) が含まれている場合に表示される。 

二次ブートサブシステム 

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

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

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

  1. Solaris Device Configuration Assistant ブートフロッピーディスクまたは Solaris Installation CD (CD-ROM ドライブからブートできるシステムのみ) を使用してシステムをブートする。

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

「Current Boot Parameters」 

このメニューは、Solaris をディスク、CD-ROM、またはネットワークからブートするときに使用。このメニューにはブートオプションが表示される。 

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

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

IA: Solaris のブート

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

ブート中に、Configuration Assistant は次の処理を行います。

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

IA: デバイス識別段階で表示される画面

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

IA: Configuration Assistant 画面

この画面は、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

IA: Bus Enumeration 画面

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


Bus Enumeration

Determining bus types and gathering hardware configuration data ...

Please wait ...

IA: 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: Floppy disk controller

#######################
|      |        |         |         |         |
0	 		 20       40        60	       80       100

Please wait ...

IA: 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.

ISA: Floppy disk controller
	ISA: Motherboard
	ISA: PnP bios: 16550-compatible serial controller
	ISA: PnP bios: 16550-compatible serial controller
	ISA: PnP bios: Mouse controller
	ISA: PnP bios: Parallel port
	ISA: System keyboard (US-English)
	PCI: Bus Mastering IDE controller
	PCI: Universal Serial Bus
	PCI: VGA compatible display adapter

F2_Continue   F3_Back   F4_Device Tasks   F6_Help

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

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

IA: 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].

[X]  DISK: (*) Target 0:QUANTUM  FIREBALL1280A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ]  DISK: Target 1:ST5660A
on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ]  DISK: Target 0:Maxtor 9 0680D4
	on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1
[ ]  CD  : Target 1:TOSHIBA  CD-ROM XM-5602B  1546
	on Bus Mastering IDE controller on Board PCI at Dev 7, Func 1

F2_Continue   F3_Back   F4_Boot Tasks   F6_Help

IA: Current Boot Parameters メニュー

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


                     <<< 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: 

IA: ブートプロセス

表 12-3 で、ブートプロセスについて説明します。

表 12-3 ブートプロセスの説明

ブートフェーズ 

説明 

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*) はファイルシステムを検査、マウントし、さまざまなプロセスを実行して、システム保守作業を実行する。