CentOS啟動流程

2021-10-01 18:42:02 字數 3336 閱讀 6227

如圖:

centos啟動流程

如圖

1.載入bios的硬體資訊,獲取第乙個啟動裝置

2.讀取第乙個啟動裝置mbr的引導引導程式(grub)的啟動資訊

3.載入核心作業系統的核心資訊,核心開始解壓縮,並嘗試驅動所有的硬體裝置

4.核心執行init程式,並獲取預設的執行資訊

5.init程式執行/etc/rc.d/rc.sysinit檔案

6.啟動核心的外掛程式模組

7.init執行執行的各個批處理檔案(scripts)

8.init執行/etc/rc.d/rc.local

9.執行/bin/login程式,等待使用者登入

10.登入之後開始以shell控制主機

啟動過程的部分介紹

post:power-on-self-test,加電自檢,是bios功能的乙個主要部分。

負責完成對 cpu、主機板、記憶體、硬碟子系統、顯示子系統、串並行介面、鍵盤等硬體情況的檢測

rom:bios,basic input and output system,儲存著有關計算機系統最重要

的基本輸入輸出程式,系統資訊設定、開機加電自檢程式和系統啟動自舉程式等

ram:cmos互補金屬氧化物半導體,儲存各項引數的設定

按次序查詢引導裝置, 第乙個有引導程式的裝置為本次啟動裝置

bootloader

: 引導載入器,引導程式

(1) windows: ntloader,僅是啟動os

(2) linux:功能豐富,提供選單,允許使用者選擇要啟動系統或不同的核心版本;

把使用者選定的核心裝載到記憶體中的特定空間中,解壓、展開,並把系統控制權移交給核心

lilo:linux loader

grub

: grand unified bootloader

grub 0.x: grub legacy, grub2

mbr:全稱是master boot record(主引導記錄),mbr早在2023年ibm pc dos 2.0中就已經提出。

mbr位於硬碟的0柱面,0磁頭,1扇區,被稱為主引導程式。

mbr是位於磁碟最前邊的一段引導**。

負責磁碟作業系統對磁碟進行讀寫時分區合法性的判別、分割槽引導資訊的定位,它由磁碟作業系統在對硬碟進行初始化時產生的。

mbr包含了已安裝的作業系統的啟動載入器和驅動器的邏輯分割槽資訊。

mbr的第乙個扇區 前446位元組 bootloader

中間64位元組 分割槽表 最後2位元組 55aa

grub (grand unified bootloader)是gnu專案提供的引導引導程式。

引導程式非常重要,因為沒有它就無法啟動作業系統。

它是第乙個在程式開啟時啟動的程式。引導引導程式將控制項傳輸到作業系統核心。

kernel 自身初始化: 探測可識別到的所有硬體裝置

載入硬體驅動程式(借助於ramdisk載入驅動)

1 uefi或bios初始化,執行post開機自檢 

2 選擇啟動裝置

3 引導裝載程式, centos7是grub2

4 載入裝載程式的配置檔案: /etc/grub.d/ /etc/default/grub /boot/grub2/grub.cfg

5 載入initramfs驅動模組

6 載入核心選項

7 核心初始化,centos7使用systemd代替init

8 執行initrd.target所有單元,包括掛載/etc/fstab

9 從initramfs根檔案系統切換到磁碟根目錄

10 systemd執行預設target配置,配置檔案/etc/systemd/system/default.target

11 systemd執行sysinit.target初始化系統及basic.target準備作業系統

12 systemd啟動multi-user.target下的本機與伺服器服務

13 systemd執行multi-user.target下的/etc/rc.d/rc.local

14 systemd執行multi-user.target下的getty.target及登入服務

到此步驟,假如系統沒有被指定啟**形介面,那麼到此就可以結束了,

如果要啟**形介面,需要在此基礎上啟動桌面程式

15 systemd執行graphical需要的服務

四 centos啟動項init程式的型別 分為三種:

sysv

: init,

使用在centos 5之前的系統,

配置檔案:/etc/inittab(設定系統預設的執行級別)

upstart

: init,

使用在centos 6 系統

配置檔案:/etc/inittab(設定系統預設的執行級別), /etc/init/*.conf

systemd:systemd,

使用在centos 7系統

配置檔案:/usr/lib/systemd/system /etc/systemd/system

4.1 init 為系統執行或維護等目的而設定/sbin/init centos6之前

執行級別:;

0-6:7個級別

0:關機

1:單使用者模式(root自動登入), single, 維護模式

2: 多使用者模式,啟動網路功能,但不會啟動nfs;維護模式

3:多使用者模式,正常模式;文字介面

4:預留級別;可同3級別

5:多使用者模式,正常模式;圖形介面

6:重啟

預設級別:3,

5 切換級別:init #

檢視級別:runlevel ; who -r

init初始化

init讀取其初始化檔案的步驟:

1 /etc/inittab 初始執行級別(run level)

2 系統初始化指令碼 對應執行級別的指令碼目錄

3 捕獲某個關鍵字順序

4 定義ups電源終端/恢復指令碼

5 在虛擬控制台生成getty

6 在執行級別5初始化x

CentOS系統啟動流程

centos 6啟動流程 post boot sequence bios boot loader mbr kernel ramdisk rootfs readonly switchroot sbin init etc inittab,etc init conf 設定預設執行級別 執行系統初始化指令碼...

CentOS系統啟動流程

centos6 post開機自檢 執行cmos中的bios程式,載入第乙個啟動磁碟的mbr中的bootloader 由bootloader讀取kernel 通過掛載臨時根目錄initramfs載入核心模組 驅動程式 然後解除安裝臨時根目錄,掛載真正的根目錄。啟動init程式 指定 etc initt...

CentOS系統啟動流程

雖然知識很基礎,但是對於我們理解linux的工作機制是有幫助的。因為在centos 5 centos 6以及centos 7使用的初始化程式init各不相同,雖然centos 6和centos 7也都有向後相容,但在工作機制上還是存在一些差異,所以以下主要介紹centos 5 6系統啟動流程。啟動流...