天天看點

Windows磁盤MBR結構詳解

在之前的文章 Windows存儲管理之磁盤結構詳解 中介紹了Windows的磁盤結構和MBR。本文将對Windows Basic Disk中的MBR的結構進行介紹,幫助讀者更好的了解Windows系統中的磁盤存儲。

Windows Basic Disk中的MBR:

Master Boot Record作為磁盤中最重要的資料結構,在磁盤分區的時候會被建立。MBR中包括幾個部分,一段可執行的代碼叫做Master Boot Code,Disk Signature以及磁盤的分區表。在MBR的末端還有一直為0x55AA值大小為兩個位元組的Sector Marker的簽名字段。這個字通常還标注了extend boot record(EBR)和啟動扇區(boot sector)的結束。

Master Boot Code代碼主要完成下列幾項活動。

  1. 掃描活動分區的分區表
  2. 找到活動分區的起始扇區位置
  3. 将一個啟動扇區的拷貝從活動分區載入到記憶體
  4. 将控制權轉移到啟動扇區上的執行代碼

如果Master Boot Code不能完成這些功能,Windows系統就會抛出一些錯誤,比如“Invalid partition table”、“Error loading operating system”、“Missing operating system”進而提示相應的步驟中發生了錯誤。

Basic Disk中的分區表:

在Basic Disk中的Partition Table是一個64個位元組的資料結構用來定義實體磁盤上的分區類型與位置的,獨立于作業系統。每個分區表的記錄是16個直接長度,最大包括四條記錄,每條記錄從預先定義的起始位置。下面的例子顯示一段MBR的記錄,其中包括顯示了一個三個分區記錄,起始位置分别是0x01BE、0x01CE、0x01DE。圖中還顯示了,分區記錄中幾個關鍵的字段。0x01C2是System ID,用來定義邏輯卷的類型,圖中07就是表示Installable File System(NTFS)。0x01C6開始的四個位元組是Relative Sectore,表示了邏輯卷的起始位置。0x01CA開始的四個位元組顯示了整個邏輯卷的扇區總數。Boot Indictor顯示了是否分區為活動分區。

Windows磁盤MBR結構詳解

轉載于:https://blog.51cto.com/liuhongliang/1916015

繼續閱讀