Linux 開機啟動流程

2021-05-25 09:46:49 字數 1642 閱讀 1731

1.加電自檢

我們知道整個主機在開機的時候,第乙個被讀取的地方, 就是 bios ( basic input output system ) 啦,這個 bios 裡面記錄了主機板的晶元組與相關的設定, 例如 cpu 與介面裝置的溝通頻率啊、開機裝置的搜 尋順序啊、硬碟的大小與型別啊、 系統時間啊、各周邊匯流排的是否啟動 plug and play (pnp, 隨插即用裝置) 啊 、 各界面裝置的 i/o 位址啊、以及與 cpu 溝通的 irq 岔斷等等的資訊都記錄在此, 所以 囉,系統要順利的開機,首先就是要去讀取 bios 的相關設定值了。 讀取了 bios  設定值之後,系統會根據 bios 的資料,進行開機自我測試 (power on self test, post),  然後開始執行硬體偵測的初始化,並設定 pnp 裝置,之後再定義出可開機的裝置, 之後就會開始進行開機裝置的資料讀取了 (mbr 相關的任務開始。

2.bootloader:引導載入器       (windows下用fisk /mbr)

早期的linux 用的引導載入器叫lilo(linux loader)只能載入1024柱面以內的磁碟分割槽對大硬碟支援不好,多用於嵌入式。現在被效能更強的grub(grand unified bootloader)代替。     

grub 分為兩段式引導

乙個段是mbr上前446byte 第一段找到第二段/boot/grub/stage2  還有一點五段用於表示不同的分割槽型別grub.conf

核心一定在/boot 中

系統啟動第三步 

核心初始化

1.硬體裝置探測

2.initrd檔案,從中載入額外的裝置驅動。

3.以唯讀的方式掛載根檔案系統

4.裝載init程序 程序號1,在/sbin/init

以上核心初始化資訊,都會儲存在/var/log/dmesg

/etc/inittab:主要包括一下幾個步驟

1.設定預設執行級別

2.啟動系統初始化指令碼 /etc/rc.d/rc.sysinit

3.執行指定執行級別下的每乙個啟動指令碼 etc/rc.d  /etc/rc.d/rc  /etc/rc.d/rcn.d 

4.設定ctrl+alt+del組合鍵功能 

5.設定電源故障時要執行的指令碼

6.設定要啟動的虛擬控制台 /dev/tty[0-6]

7.設定當指定執行級別為5時做gui的初始化指令碼

inittab分四段 簡介14:55  /etc/rc.d/rc.sysinit

1段.設定專案

2段  執行級別

3init的操作行為

4段.命令專案執行的命令或指令碼

/etc/rc.d/rc.sysinit

1.啟用udev和selinux

2.設定核心引數,會讀取/etc/sysctl.conf

3.設定系統時鐘

4.裝載鍵盤對映

5.啟用交換分割槽(虛擬記憶體)

6.設定主機名稱,

7.根檔案系統檢查(檢查檔案的一致性狀態),以讀寫方式掛載根檔案系統

8.啟用raid和lvm裝置

9.啟用磁碟配額

10.檢查並掛載其他的檔案系統 /etc/fstab

11.清除不再使用的檔案鎖和pid檔案

/etc/rc.local   在啟動系統過程的最後定義一些自己想啟動的服務

linux開機啟動流程

首先了解下硬碟的第乙個扇區 大小為512bytes 這個扇區主要記錄兩個重要資訊 1.mbr master boot record 主引導分割槽,大小為446bytes,可以安裝引導引導程式的地方。2.分割槽表 partition table 記錄硬碟分割槽資訊 1.執行bios程式,根據bios的...

Linux的開機啟動流程

linux 的開機啟動流程 鳥哥的 linux 私房菜之基礎篇 學習筆記 一 1.載入 bios basicinput output system 的硬體資訊與進行自我測試,並依據設定取得第乙個可開機的裝置 2.讀取並執行第乙個開機裝置內mbr masterbootrecord,主引導分割槽 的 b...

簡述Linux開機啟動流程

計算機開機是乙個神秘的過程。我們只是按了開機鍵,就看到螢幕上的進度條或者一行行的輸出,直到我們到達登入介面。然而,計算機開機又是個異常脆弱的過程,我們滿心期望的登入介面可能並不會出現,而是乙個命令列或者錯誤資訊。了解計算機開機過程有助於我們修復開機可能出現的問題。最初始階段 當我們開啟計算機電源,計...