ホームページ  >  記事  >  運用・保守  >  centos6の起動プロセス

centos6の起動プロセス

王林
王林オリジナル
2020-03-31 13:56:582898ブラウズ

centos6の起動プロセス

centos6 起動フローチャート:

centos6の起動プロセス

1. POST 電源投入セルフテスト

BIOS ハードウェア情報をロードし、最初の起動デバイスを取得します。セルフテストは主に、ハードウェア デバイスが存在し、正常に動作できるかどうかを確認することです。

たとえば、BIOS は CPU、メモリ、I/O デバイスが正常に動作するかどうかをチェックしますが、パソコンの場合はモニタもチェックします。電源を入れるとCPUが自動的にROMチップ上のBIOSプログラムをロードする仕組みになっています。検出が完了すると、ハードウェア デバイスが初期化されます。

2. MBR ブートの読み込み

最初のステップのハードウェア セルフチェックで問題がない場合、例として BIOS を示します。ハードディスク セクターの最初のステップに直接移動し、最初の 446 バイトを見つけて、MBR をメモリにロードします。MBR は、次の段階でシステム grub ブートを見つける場所をプログラムに指示します。

このステージは grub の最初のステージに属します。以前の BIOS は、ブート デバイスの MBR 内のブートローダーを読み取って実行します。ブートローダーの機能は、ハード上に複数のカーネル バージョンが存在する可能性があるため、ユーザーが起動するシステムまたは異なるカーネル バージョンを選択するためのメニューを提供することです。ディスク、オペレーティング システム。次に、ユーザーが選択したカーネル バージョンが RAM の特定の領域にロードされ、RAM 上で解凍および展開されてから、システム制御がカーネルに渡されます。

(推奨チュートリアル: centos チュートリアル)

3. システム カーネル カーネルをロードし、システム初期化情報を実行します

ブートローダーがオペレーティング システムのカーネル ファイルの読み取りを開始すると、カーネル ファイルを解凍してメモリにインストールし、カーネルが提供する機能に従って各デバイスのロードを開始します。ここでの各操作はカーネルによって完了され、カーネル ファイルは通常 /boot ディレクトリに保存され、vmlinux で始まるファイルになります。以下の図に示すように:

[root@centos6 ~]# cd /boot
[root@centos6 boot]# pwd
/boot
[root@centos6 boot]# ls
config-2.6.32-696.el6.x86_64           lost+found
efi                                    symvers-2.6.32-696.el6.x86_64.gz
grub                                   System.map-2.6.32-696.el6.x86_64
initramfs-2.6.32-696.el6.x86_64.img    vmlinuz-2.6.32-696.el6.x86_64
initrd-2.6.32-696.el6.x86_64kdump.img

ただし、この時点ではカーネル プログラムがディスクにロードされていません。カーネル ファイルを読み取るにはどうすればよいですか?最初にディスクをロードしたい場合は、ディスク ドライバーが必要ですが、ドライバーはハードディスク上にあるため、無限ループが発生します。したがって、この問題を解決するには、仮想ファイル システムと呼ばれるものを使用する必要があります。同様に、このファイル システムも /boot の下に配置され、上の図に示すように initrd で始まるファイルです。

ブート ローダーはカーネルと initrd をロードし、initrd をルート ディレクトリに解凍します。その後、カーネルはこの仮想ルート ファイル システムにドライバをロードし、ルート ファイル システムを解放し、最後に通常の起動処理です。

4. init の開始

CentOS6 の場合、init 設定ファイルは /etc/inittab、/etc/init/*.conf です。設定ファイルは複数のファイルに分割されており、/etc/init/ ディレクトリ内の conf で終わるファイルはすべて upstart スタイルの設定ファイルですが、/etc/inittab はデフォルトの実行レベルを設定するためにのみ使用されます。実行レベルは、システムの運用や保守を目的として設定され、0 ~ 6 の合計 7 つのレベルに分かれています。

     0:关机(shutdown);
     1:单用户模式(single user):不需要通过认证,登录进去之后为root用户身份;
     2:多用户模式(multi user):会启动网络功能,但不会启动NFS;
     3:多用户模式(multi user):为完全功能模式,提供文本界面;
     4:预留级别,目前无特别使用目的;
     5:多用户模式(multi user):为完全功能模式,提供图形化界面;
     6:重启(reboot),reboot;

通常、デフォルトのレベル 3 または 5 と、異なるページが使用されます。切り替え方法は次のとおりです: init[0-6]、runlevel コマンドを使用して現在の実行レベルを表示します。

5. ユーザー ログイン

推奨関連ビデオ チュートリアル: linux ビデオ チュートリアル

以上がcentos6の起動プロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。