このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

3.1 ブート・プロセスについて

Oracle Linuxのブート・プロセスを理解すると、システムのブート時に問題のトラブルシューティングが必要な場合に役立ちます。 ブート・プロセスには複数のファイルが含まれ、これらのファイルでのエラーがブートの問題の一般的な原因になります。

Oracle Linuxシステムのブート時には、次の処理が実行されます。

  1. コンピュータのBIOSがパワーオン・セルフテスト(POST)を実行し、ハード・ディスクなどの周辺機器を検出して初期化します。

  2. BIOSがマスター・ブート・レコード(MBR)をブート・デバイスからメモリーに読み取ります。 (GUIDパーティション表(GPT)ディスクの場合、このMBRはディスクの最初のセクターにある保護MBRです。) MBRには、そのデバイス上のパーティションの構成に関する情報が格納されます。 x86アーキテクチャを使用するコンピュータでは、MBRはブート・デバイスの最初の512バイトを占有します。 最初の446バイトには、ブート・ローダー・プログラム(同じデバイス上でも別のデバイス上でも可)を指し示すブート・コードが含まれます。 次の64バイトには、パーティション表が含まれます。 最後の2バイトはブート署名で、エラーの検出に使用されます。 Oracle Linuxで使用されるデフォルトのブート・ローダー・プログラムはGRUB (GRand Unified Bootloader)です。

  3. GRUBブート・ローダーがOracle Linuxカーネルをメモリーにロードします。

  4. カーネルがシステム・ハードウェアを初期化して構成します。

  5. カーネルがinitramfsファイルを読み取り、その内容をメモリーベースの一時ファイル・システム(tmpfs)に抽出し、そのファイル・システムに含まれるモジュールをロードします。

  6. カーネルがプロセスID 1 (PID 1)を使用して/sbin/initプロセスを起動します。initはシステム上のすべてのプロセスの上位プロセスです。initはそのジョブ構成を/etc/initディレクトリから読み取ります。 /etc/init/rcS.confファイルによって、initがシステム初期化を処理する方法を制御します。

  7. init/etc/inittabを読み取り、デフォルトの実行レベルを判別します。 /etc/inittabのエントリのフォームはid:N:initdefault:で、Nはデフォルトの実行レベルです。 ファイルにデフォルトのブート・レベルが定義されていない場合、デフォルトの実行レベルは3です。

    ノート

    デフォルトの実行レベルを変更またはコメント・アウトする以外は、/etc/inittabを編集しないでください。

    /etc/inittabの唯一の機能は、デフォルトの実行レベルを定義することです。 /etc/init*.confスクリプトによって、システム状態の変更に対応したinitの動作が決まります。

    カーネル・ブート・パラメータを使用して、デフォルトの実行レベルをオーバーライドできます。 第3.2.1.1項「カーネル・ブート・パラメータ」を参照してください。

  8. init/etc/rc.sysinitを実行して、次のようにシステムを初期化します。

    • ホスト名の設定

    • ネットワークの初期化

    • /procファイル・システムのマウント

    • 構成に基づくSELinuxの初期化

    • 初期バナーの出力

    • カーネル・ブート引数に基づくシステム・ハードウェアの初期化

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

    • /var内のディレクトリのクリーン・アップ

    • スワップの開始

  9. init/etc/rcX.dディレクトリのスクリプトを実行して、システムをデフォルトの実行レベルXにします。 /etc/init/rc.confファイルによって、initが個々の実行レベルを開始する方法を制御します。 第3.3項「実行レベルについて」および第3.3.4項「サービス・スクリプトについて」を参照してください。

  10. /etc/rc.localで定義したすべてのアクションをinitが実行します。

ノート

Oracle LinuxのUpstartバージョンのinitは、システムの実行レベルを追跡しません。 かわりに、initctlなどのユーザー空間ユーティリティが実行レベルを実装します。 initが管理するプロセスはジョブと呼ばれ、/etc/initディレクトリ内のファイルで定義されます。initはイベントベースのデーモンで、システム状態の変更(他のジョブの起動または停止による変更を含む)に対応してジョブを起動または停止します。

UpstartおよびUpstartのイベント・ハンドラの記述方法については、init(5)init(8)およびinitctl(8)の各マニュアル・ページを参照してください。