2013/12/06

Android 手機記憶卡讀不到?(FAT、FAT32格式)是否需硬碟重整?


資料由Necos彙整,發佈於GPhonefans及FB、及個人Blog…
(歡迎加入GPhonefans的大家庭)

各位網友好,今日(2012/7/2)才經歷記憶卡突然讀不到的狀況(透過手機),
頓時突然慌了,想說再透過電腦讀卡機重新讀卡,於是記憶卡插上了讀卡機,
只見電腦多了顆磁碟,但點選他卻說要「格式化」。


於是使用檢查錯誤去檢查sd(tf)卡,但說無法讀取?
於時使用dos提示命令字元進行「chkdsk」動作去處理試試,
在使用「chkdsk I:/f」後(記憶卡位在 I 糟),好佳在把資料救回來了…

幾個月前,我曾想過,記憶卡的存取方式與一般的「機械式」硬碟不同,
在讀取一個檔修改完後,其存放的位置與其原檔的「區塊」已位置不同,
原檔區塊則將會無效(拔掉檔案名稱,所以時間不要太久就可以救回刪掉的檔案),
並等待下次多個無效的區塊已達上限(或一定數量時)時進行「翻新」動作,
而翻新的次數愈多,那麼記憶卡的壽命就愈短。

由於現在製作記憶卡技術(制程)愈來愈好,「寫入」(翻新)次數也不斷的增加,
或許在卡用壞前,已將該卡淘汰或列為備用,


對於Android系統而言,其「系統」檔案是以linux的「EXT」的方式存放,
每個檔案會有一個inode,並記錄資料存放的區塊(block),所以對於EXT3、4的系統而言,
磁碟重組的確不太需要,甚至不用,但仍有相關的重組程式。
意示圖如下:(引用鳥哥linux私房菜圖示)


我們的記憶卡(相機、手機)裡多半以FAT的格式去存放,
而會以FAT、FAT32等格式去使用,多半因為個人電腦系統多為M$系統,
在為了要方便存取記憶卡,才會把格式改為系統能直接讀取格式。

在FAT磁碟系統下存取的方式,通常為從頭讀取,
FAT檔案存放不像EXT一樣的具有inode的索引功能,
以致在讀取時往往較EXT耗時,且一旦檔案過於零散或破碎,
則可能會導致記憶卡磁區錯誤,造成資料遺失。

意示圖如下:(引用鳥哥linux私房菜圖示)


EXT磁碟系統是不需重整,但是如果使用的記憶卡是FAT系統,
那麼還是建議有空時還是進行重整
,尤其是像我通話時會進行錄音或常刷機、備份等,
在記憶卡常常「」取資料的動作,那麼在很容易就會造成資料破碎的情形。

以下為重整程式分析後手機的記憶卡檔案破碎的情形:(19%,剛救回時是27%,忘了抓圖 )
記憶卡讀不到?(FAT、FAT32格式)是否需硬碟重整? - GPhoneFans.net - 2012-7-1 下午 10-54-48.png 

當然,更重要的是要養成定期備份要重資料的觀念,如此一來,才不會到時砍掉重練…


以上請參考!
如有錯誤,敬請指導!



參考資料:

http://seekemlab.pixnet.net/blog/post/21648028

http://linux.vbird.org/linux_basic/0230filesystem.php#harddisk-filesystem

相關磁碟重整程式:
Auslogics Disk Defrag 免費的磁碟重組程式 3.4.3.5

沒有留言:

張貼留言