瀏覽單個文章
shukae
*停權中*
 
shukae的大頭照
 

加入日期: Jun 2002
您的住址: 仙女銀河星系, 跨克星
文章: 1,791
個人看了 LBA 的相關資料之後
強烈懷疑是驅動程式造成的資料繞捲
因為 48bit LBA 是兩年前就出現的東西
除非是很早期的硬體, 不然應該會支援

以目前 28bit LBA 最大可以定址到 137GB 來說
也就是 28 個1嘛, 在加上每個磁區512bytes, 所以是137GB
1111111111111111111111111111
如果再加1呢?? 會進位成~~~~ (注意, 多出一個bit了)
10000000000000000000000000000
如果再加1呢?? 會變成~~~~
10000000000000000000000000001
如果再加1呢?? 會變成~~~~
10000000000000000000000000010
.
.
.

想想看喔, 如果驅動程式沒考慮到大於137GB 的情形
也就是會把大於28bit的位元捨棄的話..... 這下慘了
原本應該寫入10000000000000000000000000000位置的資料
會變成寫入0000000000000000000000000000
.
.
其它自此類推
繞回硬碟的起頭開始寫入了
將會導致C邏輯碟的啟動磁區與檔案配置表損壞
原本寫入的檔案也會損壞

但是因為作業系統的定址法不會直接寫到硬碟分割表
所以D E 等邏輯磁碟還在, 但是C磁碟資料全部毀損

只要確認硬體有支援 48bit LBA 定址
可以正確辨識大於137GB的儲存裝置
那肯定就是軟體驅動程式有問題
有可能是作業系統核心或是裝置驅動程式有問題

不過我使用 Win2000+ SP4 且用 ACARD 6880(有支援48bit LBA) + H牌160GB硬碟
並沒有發生資料損壞的情況
所以很可能是裝置驅動程式有問題

這也可以合理解釋為何那麼多人都是邏輯磁碟C 出問題
舊 2004-09-12, 11:14 AM #56
回應時引用此文章
shukae離線中