Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> 詳細なLinuxシステム起動プロセスとシステム初期化

詳細なLinuxシステム起動プロセスとシステム初期化

  
 

まず、Linuxシステムの起動プロセス

Linuxシステムの起動プロセスについて、次のようにステップに分けます。

POSTパワーオンセルフテスト - > BIOS(ブートシーケンス) ) - >対応する起動時にMBR(ブートローダー)をロードします - >メインブート設定はBootLoaderをロードします - >カーネル初期化 - > initrd> /etc /initプロセスは/etc /inittabをロードします。プロセスのフローチャートは次のとおりです。


次に、詳細なブートプロセス

(1)、

  1. POST電源投入時の自己診断:コンピュータ<ホストが電源を投入すると、電源が落ち、システムはセルフテスト(POST-power on self
  2. テスト)を開始します。これは主にコンピュータのハードウェアを検出するためのものです。 CPU、メモリ、マザーボード、グラフィックスカード、CMOSおよびその他のデバイスのような機器は不良です。
  3. ハードウェア障害の場合、それは2つのケースで扱われます:深刻な障害(致命的な障害)の場合、これは本当です。さまざまな初期化操作が完了していない場合、
  4. はプロンプトや信号を出すことはできません;重大でない障害の場合は、プロンプトまたは警告音を鳴らすいいえ、)ユーザプロセスを待って、障害がない場合、POSTは自分の
  5. リレータスク、テールBIOSプロセスへの作業の転送を完了します。

    (2)、

    1. BIOS:コンピュータの電源投入時のセルフテストの後に最初に読む場所はBIOS(基本入出力システム)です。
    2. 、BIOSはマザーボードのチップセットと関連設定、例えばCPUとインターフェースデバイスの通信周波数、ブートデバイスの検索順序、ハードディスクのサイズ、そして
    3. タイプ、システム時間を記録します。外部バス、さまざまなインターフェースデバイスのI /Oアドレス、およびCPUと通信しているIRQ割り込み情報なので、正常に起動したい場合は、まずBIOS
    4. を読んでください。

      (3)、

      1. BIOSによって設定されたシステム起動プロセスによれば、テストに合格すると、起動順序に従って最初のデバイスでサポートを開始します。

      2. プログラムを起動します。起動デバイスには主にハードディスク、USB、SDなどが含まれます。一般的にはハードディスクを使用し、次に最初のデバイスを読み取ると最初のデバイスがハードディスクになります。
      3. ハードディスクのマスターブートレコード(MBR)を読むと、システムはブートエリアにインストールされている
      4. ブートローダに従ってコア認識作業を開始できます。 [ここに挿入:MBRプログラムは、ハードディスクパーティションの先頭にある
      5. のみである446バイトのブートローダを見つけるだけです。]次に、関連する設定と定義を調べます。

        (4)、

        1. ブートローダGrubプログラムのロード

        2. このプロセスでは、Grubのブート、Grubから始めました。 2段階に分かれています。

        3. stage1:主にブートローダ

        4. stage 1.5:遷移

        5. < Li> stage2:主に/boot /grub


          上記のLinuxカーネルのVMLnuz、grub、initrdは/bootディレクトリにあります。


          /boot /grub /では、よく知られているstage1、stage2、grubツールの設定ファイルgrub.confを見ましたが、grub.confで何が定義されているのでしょうか。 ?


          (5)、カーネル

          1. Grubの定義によれば、grubが読み込まれた後、次の作業がカーネルに渡されます。カーネルは主にシステムのハードウェア検出とハードウェアドライバの初期化を完了するためのものです。
          2. そして読み書きしてルートファイルシステム(ルートスイッチ)をマウントし、そして "first chicken or first"があります卵のファイルは'です、具体的には何
          3. ですか?

          4. 実際のルートファイルシステム(rootfs)にアクセスするには、ルートファイルシステムにデバイスをロードする必要があります。その後、ルートファイルシステムはマウントされません。
          5. ルートファイルシステムをマウントしてドライバをルートファイルシステムにロードするには、どうすればいいですか?この問題を解決するために、これはinitrdファイルの使用です。
          6. カーネルの初期化のために、簡単な概要を説明します。
          7. プローブハードウェア - >ドライバのロード(initrd) - >ルートファイルシステムのマウント - > rootfs(< rootfs) /sbin /init)

            (6)、

            1. カーネル空間に関する作業が完了し、カーネル空間のタスクがユーザ空間に移り始め、カーネル空間が通過します間接initrd(micro
            2. linux)はユーザー空間では/sbin /initを超えているため、gurbはカーネルをinitrdで起動し始めます。

            3. initrd:lib、bin、sbin、usr、proc、sys、var、dev、bootなどを含む仮想ファイルシステム。
            4. 実際のところ内部のディレクトリはtrue /rightにちょっと似ていることがわかりますので、仮想ルートファイルシステムと呼びます。役割はカーネルを実際のルートファイルシステムと関連付けることです。
            5. 、カーネルをinitrdに移動させます。ルートファイルシステムに必要なドライバをロードし、ルートファイルシステムを読み書きモードでマウントし、
            6. を最初のプロセスに初期化させます。


              initスクリプトの内容を次に示します。




Copyright © Windowsの知識 All Rights Reserved