Linux啟動流程分析

2021-09-19 23:37:34 字數 1085 閱讀 1704

1.獲取資訊——當按下電源鍵後,系統首先就會去載入bios(basic input output system),並通過bios程式去載入cmos的資訊,並且藉由cmos內的設定取得主機的各項硬體配置。

(例如cpu與介面裝置的溝通頻率、啟動裝置的查詢順序、硬碟的大小與型別、系統時間、各周邊匯流排是否啟動plug and play(pnp,即即插即用裝置)、各裝置i/o口位址、以及與cpu溝通的irq中斷等資訊)        

bios是乙個程式,這個程式是寫死到主機板上面的乙個儲存晶元中,這個儲存晶元在沒有通電時也能夠記錄資料,這就是唯讀儲存器

2.自我檢測與資料讀取——bios自我檢測完成後,就開始執行硬體檢測的初始化,並設定pnp裝置,之後再定義出可啟動的裝置順序,接下來就開始讀取啟動裝置的資料

由於系統軟體大多放置在硬碟中,因此bios會指定啟動的裝置以方便系統讀取磁碟中的作業系統核心檔案。但由於不同的作業系統它的檔案格式不相同,因此必須要以乙個啟動引導程式來處理核心檔案載入的問題,所以這個啟動引導程式就被稱為boot loader。而這個boot loader 就在啟動裝置的第乙個扇區中,也就是mbr(master boot record,主引導記錄)

systemd最主要的功能就是準備軟體的執行環境,包括系統的主機名、網路設定、語言設定、檔案系統格式及其他服務的啟動等。而所有的操作都會通過systemd的預設啟動服務集合,亦即是/lib/systemd/system/default.target來規劃。

/etc/systemd/system/graphical.target.wants/:使用者設定載入的unit

/lib/systemd/system/graphical.target.wants/:系統預設載入的unit  內容如下圖所示

Linux啟動流程分析

linux系統從啟動到提供服務的過程是這樣,先是機器加電,然後通過mbr或者uefi載入grub,再啟動核心,核心啟動服務,然後開始對外服務。載入bios的硬體資訊與進行自我測試,並依據設定取得第乙個可啟動的裝置 比如硬碟 讀取並執行第乙個開機裝置內mbr 的boot loader 即grub2,s...

linux啟動流程分析 4

author taoyuetao email tao yuetao yahoo.com.cn blog 2007 02 08 的地方,望高手指點,自己也會不斷進行修改 當進入linux核心後,arch arm kernel head armv.s是核心最先執行的乙個檔案,包括從核心入口entry s...

Linux的啟動流程分析

1.載入bios的硬體資訊與進行自我測試,並依據設定取得第乙個可啟動的裝置 lod bios hardware information 2.讀取並執行第乙個啟動裝置內的mbr的boot loader 即是grub,spfdisk等程式 read mbr s config to find out th...