簡述Linux開機啟動流程

2021-10-01 10:49:16 字數 1929 閱讀 9581

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

最初始階段

當我們開啟計算機電源,計算機會自動從主機板的bios(basic input/output system)讀取其中所儲存的程式。這一程式通常知道一些直接連線在主機板上的硬體(硬碟,網路介面,鍵盤,串列埠,並口)。現在大部分的bios允許你從軟盤、光碟或者硬碟中選擇乙個來啟動計算機。

下一步,計算機將從你所選擇的儲存裝置中讀取起始的512 bytes(比如光碟一開是的512 bytes,如果我們從光碟啟動的話)。這512 bytes叫做主引導記錄mbr (master boot record)。mbr會告訴電腦從該裝置的某乙個分割槽(partition)來裝載引導引導程式(boot loader)。boot loader儲存有作業系統(os)的相關資訊,比如作業系統名稱,作業系統核心 (核心)所在位置等。常用的boot loader有grub和lilo。

隨後,boot loader會幫助我們載入核心(kernel)。核心實際上是乙個用來操作計算機的程式,它是計算機作業系統的核心,主要的任務是管理計算機的硬體資源,充當軟體和硬體的介面。作業系統上的任何操作都要通過核心傳達給硬體。windows和linux各自有自己核心。狹義的作業系統就是指核心,廣義的作業系統包括核心以及核心之上的各種應用。

(linus torvalds與其說是linux之父,不如說是linux 核心之父。他依然負責linux 核心的開發和維護。至於ubuntu, red hat, 它們都是基於相同的核心之上,囊括了不同的應用和介面構成的乙個更加完整的作業系統版本。)

實際上,我們可以在多個分割槽安裝boot loader,每個引導引導程式對應不同的作業系統,在讀取mbr的時候選擇我們想要啟動的引導引導程式。這就是多作業系統的原理。

小結:bios -> mbr -> 引導引導程式 -> 核心

核心

如果我們載入的是linux核心,linux核心開始工作。核心會首先預留自己執行所需的記憶體空間,然後通過驅動程式(driver)檢測計算機硬體。這樣,作業系統就可以知道自己有哪些硬體可用。隨後,核心會啟動乙個init程序。它是linux系統中的1號程序(linux系統沒有0號程序)。到此,核心就完成了在計算機啟動階段的工作,交接給init來管理。

小結: 核心 -> init process

init process

(根據boot loader的選項,linux此時可以進入單使用者模式(single user mode)。在此模式下,初始指令碼還沒有開始執行,我們可以檢測並修復計算機可能存在的錯誤)

隨後,init會執行一系列的初始指令碼(startup scripts),這些指令碼是linux中常見的shell scripts。這些指令碼執行如下功能:

設定計算機名稱,時區,檢測檔案系統,掛載硬碟,清空臨時檔案,設定網路……

當這些初始指令碼,作業系統已經完全準備好了,只是,還沒有人可以登入。init會給出登入(login)對話方塊,或者是圖形化的登入介面。

輸入使用者名稱(比如說vamei)和密碼,done!

在此後的過程中,你將以使用者(user)vamei的身份操作電腦。此外,根據你建立使用者時的設定,linux還會將你歸到某個組(group)中,比如可以是stupid組,或者是vamei組。

所以你將是使用者vamei, 同時是vamei組的組員。(注意,組vamei和使用者vamei只是重名而已,就好想你可以叫dell, 同時還是dell公司的老闆一樣。你完全也可以是使用者vamei,同時為stupid組的組員)

總結

bios -> mbr -> 引導引導程式 -> 核心 -> init process -> login

Linux 開機啟動流程

1.加電自檢 我們知道整個主機在開機的時候,第乙個被讀取的地方,就是 bios basic input output system 啦,這個 bios 裡面記錄了主機板的晶元組與相關的設定,例如 cpu 與介面裝置的溝通頻率啊 開機裝置的搜 尋順序啊 硬碟的大小與型別啊 系統時間啊 各周邊匯流排的是...

linux開機啟動流程

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

TD SCDMA UE開機流程簡述

按照華為的教材,開機過程大致如下 1 ue開機,選擇plmn 2 從所選plmn中選擇訊號最好的小區 mscbsc 移動通訊論壇擁有30萬通訊專業人員,超過50萬份gsm 3g等通訊技術資料,是國內領先專注於通訊技術和通訊人生活的社群。c m r3s1?2v 3 發起位置登記。其中,第2 裡的小區選...