■ 甘肅 權建軍
編者按:現(xiàn)代智能儀器設備廣泛使用磁盤進行數(shù)據(jù)存儲。傳統(tǒng)的MBR分區(qū)表由于對磁盤容量局限于2.2TB,并且只能有四個主分區(qū),因此,在Windows 8系統(tǒng)改用了GPT分區(qū)表。由于設備故障或誤操作,數(shù)據(jù)丟失往往造成重大損失。本文通過實驗的方法,對GPT分區(qū)表進行數(shù)據(jù)恢復。實驗表明,在GPT頭和分區(qū)表被破壞時,可以根據(jù)GPT分區(qū)表特征,通過其備份進行數(shù)據(jù)恢復。
G P T 是GUID Partion Table的縮寫,其含義是“全局唯一標識磁盤分區(qū)表”。由于MBR分 區(qū)表不支持大于2.2TB的分區(qū),微軟Windows 8放棄了MBR分區(qū)格式,使用了GPT磁
N盤分區(qū)格式。在現(xiàn)代智能儀器中,GPT分區(qū)表問題導致硬盤不能讀取和使用的問題較為突出。
本文通過實驗方法進行研究,直觀了解GPT分區(qū),并進行GPT分區(qū)重構,恢復數(shù)據(jù)。
GPT磁盤有6部分結構組成,如圖1所示。
保護MBR位于GPT磁盤的第一個扇區(qū),即0號扇區(qū),由磁盤簽名、MBR磁盤分區(qū)表和結束標志組成。
MBR分區(qū)表中,只有一個表項,分區(qū)類型標志為0xEE,分區(qū)起始1號扇區(qū),總扇區(qū)數(shù)0xFFFFFFFF。
GPT頭位于GPT磁盤的第二個扇區(qū),也就是1號扇區(qū)。該扇區(qū)是在創(chuàng)建GPT磁盤時生成的,GPT頭會定義分區(qū)表的起始位置、分區(qū)表的結束位置、每個分區(qū)表項的大小、分區(qū)表項的個數(shù)及分區(qū)表的校驗和等信息。
表1 GPT分區(qū)表項中各字段的含義
圖2 GPT頭的備份的結構參數(shù)
分區(qū)表位于GPT磁盤的2~33號扇區(qū),一共占用32個扇區(qū),每個分區(qū)表占用128個字節(jié),能夠容納128個分區(qū)表項,所以GPT磁盤允許創(chuàng)建128個分區(qū)。
分區(qū)表各字段含義如表1所示。
GPT分區(qū)區(qū)域通常都始于GPT磁盤的34號扇區(qū),是整個GPT磁盤的最大區(qū)域,有多個具體分區(qū)組成。分區(qū)區(qū)域的起始地址和結束地址由GPT頭定義。
GPT頭的備份在GPT磁盤的最后一個扇區(qū),和GPT頭相比,雖然結構一樣,但個別參數(shù)有不同。
具體如圖2所示。
在此表中,要注意GPT分區(qū)表備份起始扇區(qū)號,后面要用到。
分區(qū)區(qū)域結束后,就是分區(qū)表的備份。分區(qū)表的備份地址,在GPT頭備份扇區(qū)中有說明,即“GPT分區(qū)表備份起始扇區(qū)號”。
圖3 重構保護MBR
(1) 操作系統(tǒng) :Windows 7;
(2) 數(shù) 據(jù) 恢 復 軟 件:WinHex 18.1
(1) 在 Windows 7系 統(tǒng)下建立虛擬磁盤GPTT.vhd文件,大小10GB,保存在D盤;
(2) 將 GPTT.vhd 附加為虛擬磁盤,轉(zhuǎn)換成GPT磁盤。在磁盤上創(chuàng)建3個分區(qū)。在三個磁盤分區(qū)寫入一些文件。
(3) 將磁盤的0號、1號、2號扇區(qū)的數(shù)據(jù)全部清零。
這樣,GPT故障磁盤就制作好了。重啟電腦后,發(fā)現(xiàn)虛擬磁盤上的三個分區(qū)盤符找不到了。
1.查找十六進制“454649”(對 應 字 符 為“EFI”),搜到,說明磁盤類型為GPT分區(qū);
圖4 重構GPT頭
2.按照GPT的分區(qū)格式,填寫保護MBR,通過GPT頭備份來重構GPT頭和GPT分區(qū)表。
在0號扇區(qū)填寫保護MBR相關信息。磁盤類型“EE”,分區(qū)起始扇區(qū)“1”,分區(qū)大小“FFFFFFFF”,在扇區(qū)末尾加“55 AA”。如圖3所示。
將最后一個扇區(qū)的GPT頭備份復制到1號扇區(qū)。
注意備份和GPT頭結構雖然一致,但有幾個參數(shù)要修改。
需要將GPT頭所在扇區(qū)指向1號扇區(qū),GPT分區(qū)表起始扇區(qū)指向2號扇區(qū)。如圖4所示。
在備份GPT頭中,有GPT分區(qū)表備份起始扇區(qū)號,直接將此扇區(qū)復制到2號扇區(qū)即可。在全部修復完成后,重啟系統(tǒng),就可以找到盤符,打開文件,數(shù)據(jù)恢復成功。
GPT分區(qū)格式是Windows 8及以上系統(tǒng)的磁盤格式,通過實驗的方法,在GPT磁盤數(shù)據(jù)破壞后,重構了GPT分區(qū)的保護MBR、GPT頭和GPT分區(qū)表,恢復了磁盤數(shù)據(jù)。通過實驗教學,直觀再現(xiàn)了GPT磁盤數(shù)據(jù)恢復方法。