天天看點

mbr,gpt,開機啟動流程.

啟動流程

SystemV

  1. 加載 BIOS 的硬體資訊與進行自我測試,并依據配置取得第一個可啟動的裝置;
  2. 讀取并運作第一個啟動裝置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程式);
  3. 依據 boot loader 的配置加載 Kernel ,Kernel 會開始偵測硬體與加載驅動程式;
  4. 在硬體驅動成功後,Kernel 會主動呼叫 init 程式,而 init 會取得 run-level 資訊;
  5. init 運作 /etc/rc.d/rc.sysinit 檔案來準備軟體運作的作業環境 (如網絡、時區等);
  6. init 運作 run-level 的各個服務之啟動 (script 方式);
  7. init 運作 /etc/rc.d/rc.local 檔案;
  8. init 運作終端機模拟程式 mingetty 來啟動 login 程式,最後就等待使用者登陸啦;

Systemd

  1.載入 BIOS 的硬體資訊與進行自我測試,并依據設定取得第一個可開機的裝置;

  2.讀取并執行第一個開機裝置内 MBR 的 boot Loader (亦即是 grub2, spfdisk 等程式);

    依據 boot loader 的設定載入 Kernel ,Kernel 會開始偵測硬體與載入驅動程式;

    在硬體驅動成功後,Kernel 會主動呼叫 systemd 程式,并以 default.target 流程開機;

        systemd 執行 sysinit.target 初始化系統及 basic.target 準備作業系統;

        systemd 啟動 multi-user.target 下的本機與伺服器服務;

        systemd 執行 multi-user.target 下的 /etc/rc.d/rc.local 檔案;

        systemd 執行 multi-user.target 下的 getty.target 及登入服務;

        systemd 執行 graphical 需要的服務

MBR:

    全稱為Master Boot Record,中文:主引導記錄,在0柱面0磁頭1扇區,大小為512位元組,這個區域

被分為三部分:

1)前446個位元組:這裡存放引導加載程式(Boot Loader),如grub2等,

2)中間64個位元組:這個區域被稱為分區表(Partition table),記錄4組分區資訊,每16位元組一組,每組分區

資訊包含:分區狀态(激活,未激活)、分區類型、起止柱面号、起止磁頭号、起止扇區号、尋址方式(線性尋址方式和分區相對扇區位址)、分區總扇區數目(4個位元組)等内容,這四組分區資訊,稱為主分區(Primary)或者擴充分區(Extended).

注意:每組分區中包含4個位元組的總扇區數:2^32,這裡的總扇區數目指的是這塊硬碟的總扇區數目,而不是指這個主分區裡的總扇區數目,轉化為TB,2^32*512/1024/1024/1024/1024=2TB,即mbr不支援

硬碟容量大于2TB以上的硬碟.

3)最後2個位元組:固定為55AA,占2位元組如果這個辨別被破壞,即便磁盤正常分區也會被認為這塊磁盤是一塊全新的沒有被分區的盤

  • 主要分割與擴充配置設定最多可以有四個(硬碟的限制)
  • 擴充配置設定最多隻能有一個(作業系統的限制)
  • 邏輯分割是由擴充配置設定持續切割出來的分割槽;
  • 能夠被格式化後,作為資料存取的分割槽為主要分割與邏輯分割。擴充配置設定無法格式化;
  • 邏輯分割的數量依作業系統而不同,在Linux系統中,IDE硬碟最多有59個邏輯分割(5号到63号), SATA硬碟則有11個邏輯分割(5号到15号)。
mbr,gpt,開機啟動流程.

Boot Loader的作用:

  • 提供菜單:使用者可以選擇不同的啟動項目,這也是多重新開機動的重要功能!
  • 加載核心檔案:直接指向可啟動的程式區段來開始作業系統;
  • 轉交其他loader:将啟動管理功能轉交給其他loader負責。

什麼是擴充分區?

   所謂擴充分區,嚴格地講它不是一個實際意義的分區,它僅僅是一個指向下一個分區的指針,這種指針結構将形成一個單向連結清單。這樣在主引導扇區中除了主分區外,僅需要存儲一個被稱為擴充分區的分區資料,通過這個擴充分區的資料可以找到下一個分區(實際上也就是下一個邏輯磁盤)的起始位置,以此起始位置類推可以找到所有的分區。無論系統中建立多少個邏輯磁盤,在主引導扇區中通過一個擴充分區的參數就可以逐個找到每一個邏輯磁盤

擴充分區結構:擴充引導記錄(EBR)+ 邏輯分區

  注:擴充分區中的每個邏輯驅動器都存在一個類似于MBR的擴充引導記錄( Extended Boot Record, EBR)

擴充引導記錄(EBR):類似于MBR的擴充引導記錄,擴充引導記錄包括一個擴充分區表和該扇區的标簽.

   擴充引導記錄将記錄隻包含擴充分區中每個邏輯驅動器的第一個柱面的第一面的資訊,但是,如果磁盤上沒有擴充分區,那麼就不會有擴充引導記錄和邏輯驅動器。

EBR結構:

   邏輯分區前扇區,如擴充分區0号扇區(512bytes)

    前446bytes:未使用,全為0;

擴充分區表(64bytes):記錄分區狀态,每16bytes分為一個項,共四個項。

    第一項:指向它自身的引導扇區;

    第二項:指向下一個邏輯驅動器的EBR

        注:如果不存在進一步的邏輯驅動器,第二項不會使用,且被記錄成一系列零。

    第三項:未使用

    第四項:未使用

結束辨別(2bytes): 55AA ,有效性辨別;55AA為有效

mbr,gpt,開機啟動流程.

轉載于:https://blog.51cto.com/12218412/1876823

繼續閱讀