我試圖想出一個回答a question of mine涉及恢復文件時,Windows的API抱怨「CRC錯誤」。我知道這是因爲一個壞塊。NTFS CRC窗口在什麼地方和哪裏抱怨?
但我的理論是:
- 如果我禁用SMART,因此ECC,我應該能夠閱讀「原始數據」,不ECC應用,因此具有與「不確定數據」塊文件的流(而不是應用ECC的空白塊)。
- 該數據不應與其NTFS的CRC匹配,而其他文件的數據應與它們匹配。
- 我應該能夠通過用「不確定數據」逐塊翻轉位來強制整個文件的「正確數據」(我懷疑腐敗會影響壞塊中的一兩位,而不是整塊,因此它落在32位校驗和和蠻力的可恢復閾值內)。
現在,問題是,我不知道這個CRC是什麼,或者它在哪裏。我GOOGLE了很多,但我找不到它。我想這是一個NTFS功能,據我所知,NTFS沒有完整的官方文檔,我真的不喜歡在NTFS-3G的C++源代碼中尋找這個想法。
因此:我想製作一個小工具或腳本來恢復這種情況下的文件。一個答案告訴我在哪裏得到這個CRC和它使用什麼算法將被接受。
另外:我懷疑CRC是分配單位,而不是整個文件。也許它在MFT中?
CRC錯誤由硬盤本身報告,而不是NTFS。 NTFS不維護CRC。 – 2012-03-12 08:43:21
http://en.wikipedia.org/wiki/Cyclic_redundancy_check – 2012-03-12 08:45:01
@RaymondChen如果是這樣的話,chkdsk將如何工作?如果分區不是NTFS或FAT格式,則它不起作用。 – 2012-03-13 04:24:43