このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
Oracle Linuxのブート・プロセスを理解すると、システムのブート時に問題のトラブルシューティングが必要な場合に役立ちます。 ブート・プロセスには複数のファイルが含まれ、これらのファイルでのエラーがブートの問題の一般的な原因になります。
Oracle Linuxシステムのブート時には、次の処理が実行されます。
コンピュータのBIOSがパワーオン・セルフテスト(POST)を実行し、ハード・ディスクなどの周辺機器を検出して初期化します。
BIOSがマスター・ブート・レコード(MBR)をブート・デバイスからメモリーに読み取ります。 (GUIDパーティション表(GPT)ディスクの場合、このMBRはディスクの最初のセクターにある保護MBRです。) MBRには、そのデバイス上のパーティションの構成に関する情報が格納されます。 x86アーキテクチャを使用するコンピュータでは、MBRはブート・デバイスの最初の512バイトを占有します。 最初の446バイトには、ブート・ローダー・プログラム(同じデバイス上でも別のデバイス上でも可)を指し示すブート・コードが含まれます。 次の64バイトには、パーティション表が含まれます。 最後の2バイトはブート署名で、エラーの検出に使用されます。 Oracle Linuxで使用されるデフォルトのブート・ローダー・プログラムはGRUB (GRand Unified Bootloader)です。
GRUBブート・ローダーがOracle Linuxカーネルをメモリーにロードします。
カーネルがシステム・ハードウェアを初期化して構成します。
カーネルが
initramfs
ファイルを読み取り、その内容をメモリーベースの一時ファイル・システム(tmpfs
)に抽出し、そのファイル・システムに含まれるモジュールをロードします。カーネルがプロセスID 1 (PID 1)を使用して
/sbin/init
プロセスを起動します。init
はシステム上のすべてのプロセスの上位プロセスです。init
はそのジョブ構成を/etc/init
ディレクトリから読み取ります。/etc/init/rcS.conf
ファイルによって、init
がシステム初期化を処理する方法を制御します。init
が/etc/inittab
を読み取り、デフォルトの実行レベルを判別します。/etc/inittab
のエントリのフォームはid:
で、Nはデフォルトの実行レベルです。 ファイルにデフォルトのブート・レベルが定義されていない場合、デフォルトの実行レベルは3です。N
:initdefault:ノートデフォルトの実行レベルを変更またはコメント・アウトする以外は、
/etc/inittab
を編集しないでください。/etc/inittab
の唯一の機能は、デフォルトの実行レベルを定義することです。/etc/init
の*.conf
スクリプトによって、システム状態の変更に対応したinit
の動作が決まります。カーネル・ブート・パラメータを使用して、デフォルトの実行レベルをオーバーライドできます。 第3.2.1.1項「カーネル・ブート・パラメータ」を参照してください。
init
が/etc/rc.sysinit
を実行して、次のようにシステムを初期化します。ホスト名の設定
ネットワークの初期化
/proc
ファイル・システムのマウント構成に基づくSELinuxの初期化
初期バナーの出力
カーネル・ブート引数に基づくシステム・ハードウェアの初期化
ファイル・システムのマウント
/var
内のディレクトリのクリーン・アップスワップの開始
init
が/etc/rc
ディレクトリのスクリプトを実行して、システムをデフォルトの実行レベルX
.dX
にします。/etc/init/rc.conf
ファイルによって、init
が個々の実行レベルを開始する方法を制御します。 第3.3項「実行レベルについて」および第3.3.4項「サービス・スクリプトについて」を参照してください。/etc/rc.local
で定義したすべてのアクションをinit
が実行します。
Oracle LinuxのUpstartバージョンのinit
は、システムの実行レベルを追跡しません。 かわりに、initctl
などのユーザー空間ユーティリティが実行レベルを実装します。 init
が管理するプロセスはジョブと呼ばれ、/etc/init
ディレクトリ内のファイルで定義されます。init
はイベントベースのデーモンで、システム状態の変更(他のジョブの起動または停止による変更を含む)に対応してジョブを起動または停止します。
UpstartおよびUpstartのイベント・ハンドラの記述方法については、init(5)
、init(8)
およびinitctl(8)
の各マニュアル・ページを参照してください。