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