跳至內容

主開機紀錄

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

主開機紀錄(Master Boot Record,縮寫:MBR), 閣叫做主引導著磁區,是電腦開機後存取硬碟的時所必須愛讀取的首個磁區,伊佇硬碟上的三維位址為(柱仔面,磁頭,磁區)=(零,零,一)。 在深入討論主引導磁區內部結構的時陣,有時也共其開頭的四百四十六位元組內容特指為「主開機紀錄」(MBR), 其後是四个十六个元組的「磁碟分割區表」(DPT), 佮兩位元組的結束標誌(五十五 AA)。 所以,咧使用「主開機紀錄」(MBR)這術語的時陣,需要根據具體的情形來判斷其到底是指規个主引導磁區,抑是主引導磁區的前四百四十六位元組。

引導磁區記錄著硬碟本身的相關資訊以及硬碟各分割區的大細佮位置資訊,是資料資訊的重要入口。若是伊受破壞去,硬碟上的基本資料結構資訊將會拍無去,需要用厚工的方式試探性的重建資料結構資訊了後才可能重新存取原先的資料。主引導咱磁區內的資訊會當通過任何一種因為某一種作業系統的分割區工具軟體寫入,但是佮某一種作業系統無特定的關係,便若建立著有效的主開機紀錄就會當引導任意一種作業系統(作業系統是建立佇進階格式化的硬碟分割區之上,是佮一定的檔案系統相聯絡的)。

對硬碟來講,一个磁區可能的位元組數做一百二十八 × 二 n(n=零 , 一 , 二 , 三)。 大多情況下,號 n=二,即一个磁區(sector)的大細為五百十二位元組。

主開機紀錄的組成

啟動代碼

主開機紀錄上起頭是第一階段引導代碼。其中的硬碟引導程式的主要作用是檢查分割區表敢是正確而且佇咧系統硬體完成自檢以後欲控制權交予硬碟上的引導程式(如 GNU GRUB)。 無依賴任何作業系統,而且啟動代碼嘛會當改變的,對而且會當實現多系統引導。

硬碟分割區表

硬碟分割區表占領主引導吸區的六十四个位元組(偏徙一下 BEH--偏徙一下 FDH), 會當對四个分割區的資訊進行描述,其中每一个分割區的資訊占據十六个位元組。具體逐个位元組的這个定義會當參見硬碟分割區結構資訊。下跤是一个例:

若是某一分割區佇硬碟分割區表的資訊如下


八十一一零零 B FE BF FC 三 F 零零零七 E 八十六 BB 無咱會當看著,上頭前的 " 八十 " 是一个分割區的啟用標誌,表示系統會當引導;" 一一零 " 表示分割區開始的磁頭號為一,開始的磁區號做一个,開始的柱仔面號做零;" 零 B " 表示分割區的系統類型是 FAT 三十二,其他較捷用的有四(FAT 十六)、 七(NTFS); " FE BF FC " 表示分割區結束的磁頭號做兩百五十四,分割區結束的磁區號做六十三、分割區結束的柱面號做七百六十四;" 三 F 零零零 " 表示條磁區的相對磁區號做六十三(小端序); " 七 E 八十六 BB 零 " 表示總磁區數為一千兩百二十八撨九千六百六十二(小端序)。

對八分之四 G 的現代硬碟,CHS 已經無法度表示,BIOS 使用 LBA 模式,對超出的部份,CHS 值通常設為零 xFEFFFF,並且加以忽略,直接使用 Offset 零 x 八○零 x 零 c 的四位元組相對值,才閣進行內部轉換。

結束標誌字

結束標誌字五十五,AA(偏徙一下 FEH-偏徙一下 FFH)上尾兩个位元組,檢驗主開機記錄敢有效的標誌。

主引導著磁區的讀取流程

  • 系統開機抑是重新啟動。

一 . BIOS 加電(臺灣用語:啟動)自檢(Power On Self Test--POST)。 BIOS 執行記憶體位址為 FFFF : 零 H 處的跳轉指令,跳到固化佇咧 ROM 中的自檢程式處,著系統硬體(包括記憶體)進行檢查。 二 . 讀這个主開機紀錄(MBR)。 當 BIOS 檢查著硬體正常並佮 CMOS 中的設定相符了後,照起來 CMOS 中對啟動裝置的設定順序檢測會當用的啟動裝置。BIOS 將相應啟動裝置的第一个磁區(也就是講 MBR 磁區)讀入記持體位址做零 : 七 C 零 H 處。 三 . 檢查零 : 一 FEH 板零 : 一 FFH(MBR 的結束標誌位)敢是等於五十五 AAH,若無等於是轉去試驗其他啟動裝置,若無啟動裝置不止仔好要求顯示 " NO ROM BASIC " 才閣做機。 四 . 做檢測著有啟動裝置滿足要求了後,BIOS 將控制權交予相應啟動裝置。啟動裝置的 MBR 將家己複製去到零 : 六百 H 處,然後繼續執行。 五 . 根據 MBR 中的引導代碼啟動引導程式。

  • 事實上,BIOS 毋但檢查零 : 一 FEH 板零 : 一 FFH(MBR 的結束標誌位)敢是等於五十五 AAH,往往閣對磁仔碟敢有防寫、主引導磁區內底敢有存在活動分割區等進行檢查。若發現磁仔有防寫,是顯示吸碟防寫出錯資訊;若發現磁碟中不存在活動分割區,是顯示類似是下跤的資訊「Remove disk or other media Press any key to restart」。

主開機紀錄佮硬碟分割區

主開機紀錄的結構會當知影講,伊干焦包含一个六十四个位元組的硬碟分割區表。因為每一个分割區的資訊需要十六个位元組,所以對採用 MBR 型分割區結構的硬碟,上濟干焦會當辨識四个主要分割區(Primary partition)。 所以對一个採用此種分割區結構的硬碟來講,想欲得著四个以上的這个主要分割區是無可能的。遮就需要引出擴充分割區矣。擴充分割區嘛是主要分割區的一種,但伊佮主分割區的無仝款會當佇理論上會當畫分做無數一个邏輯分割區。

擴充分割區內底邏輯驅動器的引導記錄是鏈式的。每一个邏輯分割區攏有一个和 MBR 結構類似的擴充引導記錄(EBR), 其分割區表示第一項指向該邏輯分割區本身的引導磁區,第二項指向下一个邏輯驅動器的 EBR,分割區表第三、第四項無用著。

Windows 系統預設情況下,一般攏是干焦畫分一个主分割區予系統,賰的部份全部劃入擴充分割區。這有下跤幾點需要注意:

  • 佇咧 MBR 分割區表中上濟四个主分割區抑是三个主分割區+一个擴充分割區,也就是講擴充分割區干焦會當有一个,然後會當閣加幼分做濟个邏輯分割區。
  • 佇咧 Linux 系統當中,硬碟分割區號名做 sda 一-sda 四或者是 hda 一-hda 四(其中 a 表示硬碟編號可能是 a、b、c 等咧)。 佇咧 MBR 硬碟中,分割區號一-四是主分割區(抑是擴充分割區), 邏輯分割區號干焦會當對五開始。
  • 佇咧 MBR 分割區表中,一个分割區上大的容量為二 T,而且每一个分割區的起始柱面著愛佇這 disk 的前二 T 內。你有一个三 T 的硬碟,根據要求你至少愛共伊劃分做兩个分割區,而且最後一个分割區的起始磁區愛位佇硬碟的前二 T 空間內底。若硬盤傷大著愛改用 GPT。

MBR 分割區表和 GPT 分割區表的關係

佮支援上蓋大卷為二 TB(Terabytes)並且每一个磁碟上濟有四个主分割區(抑是三个主分割區,一个擴充分割區佮無限制的邏輯驅動器)的 MBR 磁碟分割區的模樣相比,GPT 磁碟分割區範勢支援上大為一百二十八个分割,一个分割上大十八 EB(Exabytes), 干焦受著作業系統限制(因為分割區表本身需要占用一定空間,最初規劃硬碟分割區的時陣,留予分割區表的空間決定了上濟會用有偌濟分割區,IA 鋪六十四版 Windows 限制上濟有百二八个分割區,按呢嘛是 EFI 標準規定的分割區表的上細漢sài-sù)。 佮 MBR 分割區的磁仔無仝,至關重要的平台運算元據位佇分割區,毋是位佇非分割區抑是隱藏磁區。另外咧,GPT 分割區磁仔有備份割區表來提懸分割區資料結構的完整性。佇咧 UEFI 系統上,通常是通過 ESP 分割區內底的 EFI 應用程式檔案啟動 GPT 硬碟上的作業系統,毋是活動主分割區上的引導程式。

注釋

外部連結

  • (英文)硬碟結構
  • (英文)主分割區、擴充分割區佮邏輯分割區
  • (英文)使用 GPT 分割區表
  • (簡體中文)MBR 的修復
  • (繁體中文)FDISK / MBR 重新寫入主啟動記錄
  • (簡體中文)Linux 引導過程內幕
  • (簡體中文)FAT 檔案系統原理
  • (簡體中文)檔案系統