Centos7 の起動プロセス: 1.post(電源投入時のセルフテスト) 電源投入時のセルフテスト 1 主な機能は、各周辺ハードウェアデバイスが存在し、正常に動作できるかどうかを検出することです。マザーボード上のROM(主にCMOSで表されます)チップ上に固定されたBIOS(Basic Input/Output System)プログラムがこのセルフテスト機能を実現します。たとえば、BIOSはCPU、メモリ、I/Oデバイスが正常に動作できるかどうかを検出します。パソコンの場合は、ディスプレイも検出することがあります。電源を入れるとすぐに、CPU は ROM チップ上の BIOS プログラムを自動的にロードします。これが実現される仕組みです。検出が完了すると、ハードウェア デバイスが初期化されます。 2. bootsequence (BIOS、ブートデバイスの選択) 1 主な機能は、起動するハードウェアデバイスを選択することです。選択後、このデバイスの MBR にあるブートローダーを読み取ることができます。このステップは次のように実装されます。BIOS のブート順序設定に従って、BIOS は各ブート デバイスを順番にスキャンし、ブート ローダーでスキャンされた最初のデバイスが起動するブート デバイスとして使用されます。 3.ブートローダー(MBR) このステップには実装するステップが多数あります。以前の BIOS はブート デバイスの MBR 内のブートローダーを読み取って実行し、ブートローダーの機能はユーザーにメニューを提供することです。 Grub はブートローダの一種です。ブートローダの保存に MBR の 446 バイトしか使用できないという制限を打破するために、このステップは次のように実装されます。Grub はカーネルをロードする機能を、ステージ 1、ステージ 1.5、ステージ 2 の 3 つのステージに分けて実装します。で: stage1: MBR の最初の 446 バイトに格納され、stage2 (または /boot) が配置されているパーティションのファイル システムを識別して駆動するために、stage1.5 をロードするために使用されます。 stage1.5: MBR の後のセクターに格納され、stage2 が配置されているパーティションのファイル システム ドライバーをロードします。これにより、stage1 のブートローダーは stage2 が配置されているパーティションのファイル システムを認識できます。 stage2: ディスク パーティション、具体的には /boot/grub ディレクトリに保存され、主にカーネル ファイル (vmlinuz-VERSION-RELEASE) と一時ルート ファイル システム RAM ディスク (initrd-VERSION-RELEASE.img または initramfs-VERSION-RELEASE.img) を読み込むために使用されます。 概要: 起動するデバイスがハードディスクの場合、まずハードウェア プラットフォームのマザーボード BIOS がハードディスクを認識できなければならず、その後 BIOS はハードディスク内のブートローダをロードできます。ブートローダ自体がロードされると、現在のホスト上のハードディスク デバイスを直接認識できます。ただし、ハードディスク デバイスを認識できることは、ハードディスク デバイス内のファイル システムを認識できることを意味しません。ファイル システムはソフトウェアで編成されたファイル構造の追加レイヤーであるため、ファイル システムに接続するには、このファイル システムを認識して理解できる対応するドライバーが必要であり、このドライバーはファイル システム ドライバーと呼ばれます。 Stage1.5 は grub にファイル システム ドライバーを提供するため、stage1 は stage2 とカーネルが配置されているパーティション (/boot) にアクセスできます。 GRUB は LVM や高度なソフト RAID などの複雑な論理デバイスを駆動できないため、ステージ 2、カーネル、および RAM ディスク ファイルは通常、基本ディスク パーティションに配置されることに注意してください。複雑なドライバー インターフェイスが提供されない限り、ステージ 2 およびカーネル ファイルが LVM などの複雑な論理デバイスに保存されている場合、それらはステージ 1 によって認識されず、ロードされることもありません。 4. カーネルの初期化 Kerenl がシステムの制御を取得したら、まず自分自身を初期化する必要があります。初期化の主な機能は次のとおりです。 (1)識別可能なすべてのハードウェアデバイスを検出する。 ブートローダーは、後の王朝が前の王朝を倒すのと同じように、システム制御をカーネルに移します。支配者 (カーネル) が権力を握った後、最初に行うことは、領土、人力、財源、軍事力など、前の王朝から何が残っているかを確認することです。 (2)ハードウェアドライバをロードする。つまり、実際のルートファイルシステムが配置されているデバイスのドライバをロードする(ramdiskの助けを借りてロードされることもある)。 これは、支配者(核)が、自分の下にいる人的資源や財政的資源について知った後、自分の目的に利用できる人々を自分の指揮下に置き、自分の命令に従わない人々を殺し始めるようなものです。 (3)ルートファイルシステムを読み取り専用モードでマウントする。 ramdisk などの一時ファイル システム (仮想ルート) が使用されている場合は、この手順の後にルート スイッチが実行されます。それ以外の場合は、ルート スイッチは実行されません。 (4)ユーザー空間で最初のアプリケーションであるsystemdを実行します。 この時点でカーネル空間の起動プロセスは終了し、次のステップはユーザー空間が後続のシステム起動プロセスを完了することです。 5. initはユーザー空間のサービスプロセスを管理する Systemdはデフォルトのターゲット設定、設定ファイル/etc/systemd/system/default.targetを実行します。 systemdは、システムを初期化するためにsysinit.targetを実行し、オペレーティングシステムを準備するためにbasic.targetを実行します。systemdは、multi-user.targetの下でローカルサービスとサーバーサービスを開始します。systemdは、multi-user.targetの下で/etc/rc.d/rc.localを実行します。 Systemdはgetty.targetとmulti-user.target下のログインサービスを実行します。Systemdはグラフィカルユーザーインターフェイスに必要なサービスを実行します。 起動時にnginxプロセスを起動するためにNginxのsystemd設定ファイルを記述する vim /lib/systemd/system/nginx.service [ユニット] 説明=nginx サーバー 後=ネットワーク.ターゲット [サービス] タイプ=フォーク 実行開始=/usr/sbin/nginx [インストール] WantedBy=マルチユーザー.ターゲット [root@localhost ~]#systemctl nginx.service を有効にする 要約する 上記は、編集者が紹介したSystemdでのCentos7の起動プロセスとNginxの起動構成です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: mysql5.7 ユーザー権限の作成、ユーザーの削除、権限の取り消し
>>: Vue における nextTick の役割といくつかの簡単な使用シナリオ
導入クロージャは JavaScript の非常に強力な機能です。いわゆるクロージャは関数内の関数です...
Microsoft IE 5.0 がリリースされる前は、Web プログラミングにおける最大の課題は、...
目次クラスコンポーネント機能コンポーネントインタビューのよくある質問: React における ref...
今日、CSDN の Q&A セクションで友人が質問をしているのを見ました。彼は 1 次元配列...
<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...
タイトルで提起された問題は、段階的に分解して解決することができます。 MySQL では KEY と ...
Nginx では、URL のパス パラメータに基づいて、到達不可能なアップストリームに動的に転送する...
WeChat アプレットの軌跡再生では、主に線描画操作にポリラインを使用し、車の移動操作にマーカーを...
Web ページを作成する過程では、フォームがよく使用されます。しかし、フォーム上のコントロールを変更...
効果は非常にシンプルで、次のコードを自分のページにコピーして実行するだけです。コードをコピーコードは...
コードを書くとき、2 つのファイル間の違い、または同じファイルの異なるバージョン間の違いを知る必要が...
目次1. 背景2. 操作手順3. Portinerをインストールする3.1 Dockerのデプロイメ...
この記事では、3Dカルーセル効果をjsで実装するための具体的なコードを参考までに共有します。具体的な...
以下のコマンドのほとんどは、コンソール/ターミナル/シェルで入力する必要があります。 'su...
目次1. 準備2. グローバルコンポーネント quill-editor を定義する1. テンプレート...