[原創]也談WINDOWS下分區類型變爲RAW

作者:張宇,北亞硬盤數據恢復中心,轉載請聯繫作者,如果實在不想聯繫作者,至少請保留版權,謝謝。
 
  看到網上有很多人提到,在正常使用電腦的情況下,分區類型變爲RAW,雙擊時提示"驅動器X未被格式化,是否格式化",導致數據無法讀取。應對這類情況,網友們的恢復方案往往是各執一詞,各有各的道理,大家似乎都有恢復成功的理論依據。但實際上,所有的解決方案都是建立在適當的數據結構理論基礎上的,並不能一概而論。
  開門見山地說吧。既然提示"驅動器X未被格式化,是否格式化",那重點就在於這個X(就用這個盤符假定吧)是未被格式化的,或者說不知道是什麼格式。那格式又是什麼呢?簡單的解釋,把一個分區劃分出結構,以便於組織文件。這個"格式"實際上就是文件系統。合起來,把這句話翻譯一下,就是"X分區不知道是什麼文件系統,是不是強制規劃一個文件系統?"
  那系統爲什麼不知道X是一個什麼文件系統呢?(再通俗一點,就是分區格式,如FAT還是NTFS)
  FAT或是NTFS(或是LINUX UNIX下的文件系統)實際上是一種把文件如何放到連續(有時候是邏輯連續,但我們認爲他連續就可以了)的一片磁盤空間的一種方法。這個方法聽起來簡單,真正做起來要考慮的事情是很多的,比如放進去怎麼取出來?怎麼很高效的取出來?刪了數據怎麼把空間挪出來等等。這些做法我們不詳細說明(有興趣看看我寫過的《FAT文件系統原理》,地址網上一查,到處都有)。單單說一個事情,既然FAT和NTFS都是組織文件的不同形式,那系統在讀的時候肯定是要知道它是FAT還是NTFS,再調用不同的驅動去解釋它。這部分用來標記是NTFS還是FAT,包括NTFS或FAT的參數的結構,一般叫做DBR(LINUX/UNIX裏叫做SUPER BLOCK)。
  因爲DBR是申明文件系統類型的結構,所以FAT/NTFS的DBR一定要位置相同。畢竟驅動要先到一個固定的地方讀出DBR,才能判斷是NTFS還是FAT。這個固定的地方是分區的最前面,即0扇區。
  如果0扇區是錯的,文件系統驅動讀取0扇區時,發現既不滿足FAT規則,也不滿足NTFS規則,那自然地會拋出異常,詢問用戶"我不知道是什麼文件系統,是不是要強制規劃一個指定的文件系統?",就是文中的錯誤提示。
  知道問題所在了,看如何解決?
  既然0扇區是錯的,那把結構改成原來的0扇區不就可以了嗎?
  是的,大多數情況這樣就可以搞定了。FAT32系統的6扇區會有一個格式化後便做好的DBR的備份,NTFS同樣在分區的最後留有一個DBR的備份。用磁盤編輯工具,找到這個備份,把它貼回0扇區,重新識別文件系統即可。
  當然事情有時候不是這樣簡單的。比如如果是FAT就沒有DBR的備份,或者如果FAT32的6扇區也被破壞(這是非常正常的),或者不光DBR損壞,其它結構也有問題(結構不匹配,即使DBR正確,系統照樣不知道是什麼文件系統)。如果不幸真得被我言中的話,事情會變得稍麻煩一些。專業的做法是根據文件系統數據區的存儲結構,重新計算出原來是什麼文件系統,文件系統的參數是什麼,但這個對普通用戶而言是困難的。那隻能用數據恢復軟件了嗎?
  用什麼軟件,以及軟件的用法我不詳述,網上能查到的我沒必要再費力去寫。但有時候你還是會發現軟件也解決不了,歸一下原因,事實上是大部分數據恢復軟件也要依靠DBR去進行掃描(很傻),那這樣就慘了,排除找專業數據恢復公司恢復以外,我只能給出這樣的建議了:
  1、在磁盤管理裏,先把盤符刪掉。
  2、無論如何,有空間的話,先對故障區域或全盤做完整備份。見:《如何對磁盤做完整的全盤鏡像備份?
  3、按原來的文件系統結構對一個無用的大小相等或稍大的分區做格式化(希望你記得對,也希望你運氣好,這實在不是專業的做法),然後把0扇區拷貝到故障分區裏。或者備份後對故障分區直接格式化,格完後,從鏡像把前3.5G數據還原回來。(注:做完後最好不要急着加盤符)
  4、可以在CMD下執行CHKDSK(沒有備份過的,可千萬別貿然做)。或者再用數據恢復軟件進行處理。
  5、如果用第4步處理不成功,比如導出來的文件名稱都對,就是數據全部不對,那應該是格式化參數不對,可以手動重新格式化一下。如果沒有專業分析方法,那就只能簇大小512B,1KB,2KB,4KB,8KB,16KB,32KB這樣試試了。
 
  闢幾個謠:
  1、出現此類故障後,按系統提示,格式化後,用數據恢復軟件就能全部恢復出來了。
  結論:大錯特錯,完全不重視數據安全。
  原因:格式化是一定會寫一些數據進去的,只是寫進去的這些數據會不會覆蓋你所需的數據。有些人成功過,只是因爲格式化操作沒有覆蓋他需要的數據,或者說命好,但如果格式化覆蓋了重要數據,那可就麻煩大了(目前找誰都沒用)。尤其是FAT文件系統,格式化後數據的恢復很難做到100%,而且越是重要的頻繁修改的文件越不容易恢復。
  2、出現此類故障後,在CMD下直接執行CHKDSK。
  結論:錯誤,依然是危險操作
  原因:CHKDSK的目的是將結構不一致的文件系統一致化,那這中間便會有一套算法。爲了傻瓜型操作,微軟並不會提供更專業的修正建議,所以程序難免會“一根筋”,修好皆大歡喜,修不好哭都來不及。如果不幸執行了CHKDSK,同時屏幕上出現大量的錯誤提示,那就趕緊強制結束吧,否則,就等着給數據收屍吧。
發佈了57 篇原創文章 · 獲贊 0 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章