筆者裝的是Windows Vista Home Basic.
某日需要對移動硬盤的某個分區的容量進行調整,但該分區裡存有數據難以備份,於是筆者打算用PartitionMagic進行操作。但由於Vista不支持PartitionMagic,所以筆者在DOS

下運行了PowerQuest PartitionMagic 8.0 for DOS 。剛一進入程序,PQMagic 就提示大概內容為「某號硬盤上某某扇區有錯誤,是否要修復」的提示,不假思索地就按了「是」,結果,分區表被損壞了,連 PQMagic 自己都無法再識別該硬盤上的分區了。(我的主硬盤以及移動硬盤均提示有若幹錯誤,我一一點了「是」)
重新啟動Windows Vista,原先的分區竟然消失了!(主硬盤原先有C D E F G H,但操作後E H 分區就不見了;移動硬盤兩個分區,第二個「消失」)。運行Windows自己的磁盤管理程序,查看相應「消失」的分區時總會提示錯誤!

但非常奇怪的是,使用DOS系統瀏覽「消失」的分區,裡面的文件都在。用另一台裝有XP的電腦連接移動硬盤,硬盤的兩個分區都可以被識別,而且數據完好!
這個現象說明,硬盤裡的數據是完整的,問題很可能問題就出在分區表上。

於是上網參考了一些文章,經過實踐,找到了問題的根源,並且解決了問題。


問題的關鍵就是PartitionMagic使硬盤的分區重疊,使得Vista無法正確識別分區。
簡單的舉個例子:假設C盤的範圍:03000 扇區,D盤的正常範圍應該是3001~某一編號的扇區。
而現在的情況是: C盤的範圍:03000 扇區,而D盤的範圍是2900~某一編號扇區,29003000扇區被同時分配到了兩個磁盤。

解決方法:修改分區表的範圍參數,使前一個分區的結束扇區和後一個分區的起始扇區銜接。


我使用的是DiskGenius(原 DiskMan),網上可以下到,在DOS下使用。某些裝機工具盤裡也會有。

運行DiskGenius,程序會提示有錯誤,為保險起見,暫時先不要讓軟件自行修復。(自行修復的後果我不知道,我沒試,因為一旦對硬盤寫入數據,很可能就是對先前數據的破壞,弄失敗了想回到原來的狀態都難了)
仔細觀察各個分區的始末扇區,就會發現,一些分區的始末扇區確實重疊了,具體數據我記不清了,舉個例子:


比如三個分區序號分別為 012,被損壞時用 diskgenius 看到的信息假設如下(具體數據我編造的,但是錯誤原因一致):

0 分區 起始位置 0 柱面 1 磁頭 1 扇區,中止位置 1558 柱面 164 磁頭 63 扇區
1 分區 起始位置 301 柱面 180 磁頭 1 扇區中止位置 1558 柱面 164 磁頭 63 扇區
2 分區 起始位置 1055 柱面 15 磁頭 21 扇區,中止位置 1558 柱面 164 磁頭 63 扇區

同色部分是重疊所在
而正確的應改為如下:

0 分區 起始位置 0 柱面1 磁頭1 扇區,中止位置 301 柱面 179 磁頭 63 扇區
1 分區 起始位置 301 柱面 180 磁頭 1 扇區,中止位置 1055 柱面 14 磁頭 20 扇區
2 分區 起始位置 1055 柱面 15 磁頭 21 扇區,中止位置 1558 柱面 164 磁頭 63 扇區

每個柱面包含有 0254 255 個磁頭,每個磁頭中包含有 063 64 個扇區,而上一分區的中止位置的下一位應該是當前分區的起始位置。
不同的磁盤,可能每個柱面的磁頭數以及每個磁頭的扇區數不一樣,但如果填寫數據超過實際範圍,軟件會有提示,根據提示可以推斷出扇區到磁頭,磁頭到柱面的換算關係。
我的主硬盤一個磁頭就有063,共64個扇區,而移動硬盤只有014,共15個扇區。我對磁盤結構沒有研究,大概是這個樣子吧。


DiskGenius修改過分區表範圍參數後,存盤,重啟,問題解決。

補充建議:
1.
對磁盤的操作具有危險性。弄不好數據就找不回來了。所以有條件的話最好可以對整個磁盤進行備份。就算是操作失敗,還可以從磁盤鏡像拷貝回來重新試驗。我這次試驗,主硬盤故障解決了,但移動硬盤的一部分數據丟失了。原因未知,但如果謹慎些應該可以避免。

2.由於出現此問題時,硬盤內數據還完好,只是分區表有問題,所以可以嘗試用EasyRecovery(某數據恢復軟件)進行數據恢復,速度很快的。將數據回復並備份後,重新分區。這也是一個解決思路。

3.針對分區在DOS下可以訪問的特點,可以用GHOST將整個「消失」的分區做成鏡像,然後再Windows下用Ghost Explorer訪問鏡像提取文件,實現備份數據的目的。然後重新分區。

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()