CentOS系統開機啟動流程

2021-10-25 09:36:01 字數 2667 閱讀 2041

硬體啟動bios

grub引導

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

注:mbr為 啟動盤的前512位元組(mbr = grub + 分割槽表)

核心引導與初始化

啟動終端

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

選擇啟動裝置

引導bootloader, centos 7使用【grub2】

載入bootloader的【配置檔案】:

/etc/grub.d/    

/etc/default/grub

/boot/grub2/grub.cfg

載入initramfs驅動模組

載入【核心】選項

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

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

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

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

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

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

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

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

systemd執行graphical需要的服務

主機板的rom:bios,basic input and output system

儲存著有關計算機系統最重要的基本輸入輸出程式,系統資訊設定、開機加電自檢程式和系統啟動自舉程式等

uefi (unified extensible firmware inte***ce) 統一可擴充套件韌體介面

用來定義作業系統與系統韌體之間的軟體介面,作為bios的替代方案

post:power-on-self-test,加電自檢

是bios功能的乙個主要部分。負責完成對cpu、主機板、記憶體、硬碟子系統、顯示子系統、串並行介面、鍵盤等硬體情況的檢測

啟動載入器 ,是連線【硬體bios】與【os】的橋梁

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

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

grub: grand unified bootloader,高效能統一引導引導程式

顧名思義,grub是一種高階的bootloader!!!

主引導記錄mbr是裝有linux系統硬碟的第乙個扇區,大小為512bytes

1.grub引導第1.5階段的作用

grub引導第一階段,讀取mbr中的grub並啟動,第二階段需要讀取/boot/grub/目錄下的檔案,但此時核心還未載入,無論該目錄所在分割槽使用的是哪種檔案系統,都沒有對應的驅動,因此無法訪問

於是就需要1.5階段,進行讀取mbr之後的27個扇區用於載入/boot目錄所在分割槽的檔案系統驅動,使得在第二階段能夠訪問/boot/grub/目錄下的檔案

2.檔案/boot/grub/grub.conf最後三行的作用

grub引導第二階段中,讀取檔案/boot/grub/grub.conf

【 root (hd0,0) 】表示啟動盤的第乙個分割槽,實際上就是/boot目錄所在的分割槽,為接下來的兩行內容指明當前所謂的根目錄即為/boot目錄

【 kernel 】指明了核心檔案的路徑,本行還寫明了之後作業系統的實際根目錄需要掛載到哪個分割槽(用uuid指明),但是此時核心還未載入,因此沒有任何檔案系統的驅動,也就無法根據uuid識別實際根目錄的位置,從而無法載入作業系統。

因此在下一行補充【 initrd 】,指明了乙個輔助檔案,此檔案包含了解決上述問題所需要的所有程式

3./etc/rc.d/rc.local檔案的作用

正常執行級別下,最後啟動的乙個服務【s99local】沒有鏈結至/etc/rc.d/init.d的乙個服務指令碼,而是指向了/etc/rc.d/rc.local指令碼

因此,此檔案在指定執行級別指令碼執行之後執行

對於【不便或不需】寫成服務指令碼放置於/etc/rc.d/init.d/目錄的,且【又想開機自啟】的命令,可直接放置於/etc/rc.d/rc.local檔案中

開機啟動流程

centos6 1.核心引導 加電自檢,檢查bios的配置,檢測硬體,開機 2.執行init 3.系統初始化 4.建立終端 5.使用者登入 關機命令 init 0 halt shutdown h now shutdown h 20 20 shutdown h 10 poweroff 重啟命令 1.b...

Linux開機啟動流程(centos7)

1.按下電源 2.bios自檢 3.mbr引導 4.進入grub選單 5.載入核心 kernel 6.systemd程序 7.讀取執行級別 etc systemd system default.target usr lib systemd system runlevel target 8.初始化系統...

CentOS系統啟動流程

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