1. 程式人生 > >詳解MBR分割槽結構以及GPT分割槽結構

詳解MBR分割槽結構以及GPT分割槽結構

一、MBR分割槽結構

   MBR磁碟分割槽是一種使用最為廣泛的分割槽結構,它也被稱為DOS分割槽結構,但它並不僅僅應用於Windows系統平臺,也應用於Linux,基於X86的UNIX等系統平臺。它位於磁碟的0號扇區(一扇區等於512位元組),是一個重要的扇區(簡稱MBR扇區)。

MBR扇區由以下四部分組成:

引導程式碼:引導程式碼佔MBR分割槽的前440位元組,負責整個系統啟動。如果引導程式碼被破壞,系統將無法啟動。

Windows磁碟簽名:佔引導程式碼後面的4位元組,是Windows初始化磁碟寫入的磁碟標籤,如果此標籤被破壞,則系統會提示“初始化磁碟”。

MBR分割槽表:佔Windows磁碟標籤後面的64個位元組,是整個硬碟的分割槽表。

MBR結束標誌:佔MBR扇區最後2個位元組,一直為“55 AA”。

wKioL1LKNVbgiJppAAHQQfWcPwQ942.jpg

注意:作者分析磁碟使用的工具是Winhex,如果讀者需要請自行下載。

下面詳細分析分割槽表結構

   磁碟在使用前都要進行分割槽,也就是將硬碟劃分為一個個邏輯的區域。每一個分割槽都有一個確定的起始結束位置。MBR磁碟的分割槽形式一般有3種,既主分割槽,擴充套件分割槽和非DOS分割槽。主分割槽既主DOS分割槽,擴充套件分割槽既擴充套件的DOS分割槽(擴充套件分割槽可以分邏輯分割槽),非DOS分割槽對於主分割槽的作業系統來說是一塊被劃分出去的區域,只能非DOS分割槽中作業系統可以管理。

如下:是MBR分割槽表

wKiom1LKNgyzkviIAACTxTAiH_Y413.jpg

MBR一共佔用64個位元組,其中每16個位元組為一個分割槽表項。也就是在MBR扇區中只能記錄4個分割槽資訊,可以是4個主分割槽,或者是3個主分割槽1個擴充套件分割槽。

每個分割槽項中對應的位元組解釋如下表:

wKioL1LKNlXCchlUAAFbjpz0d3s644.jpg

wKiom1LKNu_xS0nCAAC7bgZMKmE917.jpg

wKioL1LKN22TWqhvAAERmt888K4487.jpg

wKiom1LKN6LDOsMdAAFADGBiJ4A015.jpg

擴充套件分割槽的結構分析

   由於MBR僅僅為分割槽表保留了64位元組的儲存空間,而每個分割槽則佔用16位元組的空間,也就是隻能分4個分割槽,而4個分割槽在實際情況下往往是不夠用的。因此就有了擴充套件分割槽,擴充套件分割槽中的每個邏輯分割槽的分割槽資訊都存在一個類似MBR的擴充套件引導記錄(簡稱EBR)中,擴充套件引導記錄包括分割槽表和結束標誌“55 AA”,沒有引導程式碼部分。

wKioL1LKN-Kj6j8OAAFhlbN46B4606.jpg

如上圖:EBR中分割槽表的第一項描述第一個邏輯分割槽,第二項指向下一個邏輯分割槽的EBR。如果下一個邏輯分割槽不存在,第二項就不需要了。

   MBR分割槽的結構大致就介紹到這了。如果硬碟的MBR被破壞,可以複製其他硬碟的MBR到故障盤,然後修復分割槽表,也可以初始化故障盤然後修復分割槽表。

二、GPT分割槽結構

GPT磁碟分割槽的基本特點

   GPT磁碟分割槽結構解決了MBR只能分4個主分割槽的的缺點,理論上說,GPT磁碟分割槽結構對分割槽的數量好像是沒有限制的。但某些作業系統可能會對此有限制。

GPT磁碟分割槽結構由6部分組成,如下圖:

wKiom1LKQX7zOkrSAABNDHxLhq4451.jpg

1、保護MBR

   保護MBR位於GPT磁碟的第一扇區,也就是0號扇區,有磁碟簽名,MBR磁碟分割槽表和結束標誌組成,沒有引導程式碼。而且分割槽表內只有一個分割槽表項,這個表項GPT根本不用,只是為了讓系統認為這個磁碟是合法的。

wKiom1LKSF7SZd_BAACDsiSCWBo629.jpg

2、GPT頭

   GPT頭位於GPT磁碟的第二個磁碟,也就是1號扇區,該扇區是在建立GPT磁碟時生成,GPT頭會定義分割槽表的起始位置,分割槽表的結束位置、每個分割槽表項的大小、分割槽表項的個數及分割槽表的校驗和等資訊。

wKiom1LKSKbx49XOAAB95x1ZyKM823.jpg

GPT頭中引數的含義解釋如下表:

wKiom1LKSNWQBhWbAADZkLFMSQQ667.jpg

3、分割槽表

   分割槽表位於GPT磁碟的2-33號磁碟,一共佔用32個扇區,能夠容納128個分割槽表項。每個分割槽表項大小為128位元組。因為每個分割槽表項管理一共分割槽,所以Windows系統允許GPT磁碟建立128個分割槽。

   每個分割槽表項中記錄著分割槽的起始,結束地址,分割槽型別的GUID,分割槽的名字,分割槽屬性和分割槽GUID。

wKioL1LKSSbwft0fAAC7B9dwnXU848.jpg

分割槽表項中各引數的含義解釋如下表:

wKiom1LKSUHTowAAAABrpN_N6iM090.jpg

4、分割槽區域

   GPT分割槽區域就是使用者使用的分割槽,也是使用者進行資料儲存的區域。分割槽區域的起始地址和結束地址由GPT頭定義。

5、GPT頭備份

   GPT頭有一個備份,放在GPT磁碟的最後一個扇區,但這個GPT頭備份並非完全GPT頭備份,某些引數有些不一樣。複製的時候根據實際情況更改一下即可。

6.分割槽表備份

   分割槽區域結束後就是分割槽表備份,其地址在GPT頭備份扇區中有描述。分割槽表備份是對分割槽表32個扇區的完整備份。如果分割槽表被破壞,系統會自動讀取分割槽表備份,也能夠保證正常識別分割槽。

GPT的分割槽結構相對於MBR要簡單許多,並且分割槽表以及GPT頭都有備份。

作者:鄧齊

TEL:18911808630