Linux啟動分析

2021-09-27 11:11:58 字數 734 閱讀 5903

對於計算機的啟動流程, 這個其實很早之前就有說到, 所謂boot就是靴子的意思,試想乙個人提起自己身上穿的靴子, 這個過程是何其的艱難! 計算機啟動的過程也是如此, 在啟動的過程中,軟硬體究竟是如何轉移控制權的, 又是誰, 像上帝一樣開創了萬物呢?

在個人計算機的情況下, 要想啟動系統, 就需要載入bios, 然而這個時候是沒有作業系統的, 那到底是誰去引導bios啟動的呢? 答案就是硬體啦。 通過硬體開啟了bios, 接著bios去檢測硬體, 並與這些硬體中內含的bios打聲招呼, 把他們吵醒, 這個就是自我檢測的過程了。

接著就是由bios來決定啟動順序的問題了。 常見的啟動順序有 光碟, 磁碟, 和u盤

設定好了啟動順序之後, bios就會將boot loader , 也就是磁碟上的mbr分割槽表寫到記憶體中。 這個過程是通過int 13中斷來完成的。

之前一直只覺得有bios就夠了, 竟不知還有 boot loader

首先, 每種作業系統都有屬於自己的boot loader

那麼雙系統又是從何而來?

這就涉及到檔案系統了, 先按下不提。

這裡源自乙個問題。 假設linux安裝在sata磁碟上面, 可以通過bios的int13中斷取得boot loader 與核心檔案來啟動。

但是核心根本就不認識 sata磁碟, 所以需要載入sata磁碟的驅動程式, 到那時sata的驅動程式還在 /lib/modules 內, 根本無法掛載根目錄又怎麼去讀取到驅動程式呢?

系統啟動的流程過於複雜,先寫到這

Linux啟動流程分析

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

Linux啟動流程分析

1.獲取資訊 當按下電源鍵後,系統首先就會去載入bios basic input output system 並通過bios程式去載入cmos的資訊,並且藉由cmos內的設定取得主機的各項硬體配置。例如cpu與介面裝置的溝通頻率 啟動裝置的查詢順序 硬碟的大小與型別 系統時間 各周邊匯流排是否啟動p...

linux開機啟動程式分析

linux作業系統的引導引導程式 對個人電腦而言通常是lilo 開始,介紹linux開機引導的步驟。載入核心 lilo啟動之後,如果你選擇了linux作為準備引導的作業系統,第乙個被載入的東西就是核心。請記住此時的計算機記憶體中還不存在任何作業系統,pc 因為它們天然的設計缺陷 也還沒有辦法訪問機器...