Linux 的開機啓動流程分析

幾個名詞
  1. CMOS

CMOS的主要功能爲記錄主板上面的重要參數, 包括系統時間、CPU 電壓與頻率、各項設備的 I/O 地址與 IRQ 等,因爲這些數據的記錄要花費電力,所以主板上面纔有電池。 BIOS 爲寫入到主板上某一塊 flash 或EEPROM 的程序,他能夠在開機的時候執行,以加載 CMOS 當中的參數, 並嘗試調用儲存裝置中的開機程序,進一步進入操做系統當中。BIOS 程序也能夠修改 CMOS中的數據,每種主板調用BIOS設定程序的按鍵都不一樣,通常桌面計算機常見的是使用[del]按鍵進入 BIOS 設定畫面。測試

  1. BIOS類型:Legacy/UEFI

是系統引導的兩種方式,開機檢測程序,讀取在MBR或者GPT中的bootloader程序(grub)操作系統

  • 加載CMOS信息
  • 開機檢測(POST):硬件初始化
  • 讀取開機管理程序(bootloader)
  1. MBR/GPT > MBR/GPT 是兩種分區格式
  • MBR

早期的 Linux 系統爲了兼容於 Windows 的磁盤,所以使用的是支持 Windows 的 MBR(Master Boot Record, 主要開機紀錄區) 的方式來處理開機管理程序與分區表!而開機管理程序紀錄區與分區表則 統統放在磁盤的第一個扇區,這個扇區一般是 512bytes 的大小 (舊的磁盤扇區都是 512bytes 喔!), 因此說,第一個扇區 512bytes 會有這兩個數據:.net

  1. 主要啓動記錄區(Master Boot Record, MBR):能夠安裝開機管理程序的地方,有 446 bytes
  2. 分區表(partition table):記錄整顆硬盤分區的狀態,有 64 bytes 因爲分區表所在區塊僅有 64 bytes 容量,所以最多僅能有四組記錄區,每組記錄區記錄了該區段的啓 始與結束的磁柱號碼。
  • GPT
  1. 扇區大小爲4K
  2. 沒有了主分區大小不超過4個的限制
  3. 對扇區直接進行分區操做
啓動過程
  1. BIOS
  • 加載CMOS內設定值去的主機的各項硬件配置
  • 開機自我測試(POST):硬件檢測並初始化,指定開機裝置
  • BootLoader程序啓動:在磁盤中的第一個扇區即在MBR,識別操做系統的文件格式並加載內核到主存儲器中執行(BootLoader的功能以下)
  • BootLoader的功能(內核加載,硬件檢測,驅動加載)
  • 提供選單:用戶能夠選擇不一樣的開機項目,這也是多重引導的重要功能!
  • 載入核心文件:直接指向可開機的程序區段來開始操做系統;
  • 轉交其餘 loader:將開機管理功能轉交給其餘 loader 負責
  1. systemd 程序
  • /etc/systemd/system/ 包括下面5項,和以前的SystemV兼容
相關文章
相關標籤/搜索