昨天把相機SD卡中的相片、影片copy到電腦上;剛將讀卡機接上電腦,顯示磁碟、進入資料夾後突然當機一陣子!隨後整個SD卡就出現需要格式化的訊息如下。
當下立刻退出,嘗試以chkdsk修復,執行後磁碟區出現了,雖然已使用、未使用容量看似正常,但資料夾中檔案全消失了!使用磁碟救援軟體掃描,照片回復回來,但影片幾乎不堪使用。
談起為何以讀卡機、電腦讀取SD卡,會導致磁碟檔案損毀呢?格式化又是什麼呢?
坊間已有許多書籍、網路上亦有相當多資料討論檔案系統架構、管理和運作。本篇只淺談大多檔案系統的概念。
每一顆磁碟、隨身碟,每一張記憶卡都像一本書籍,一本筆記本。假設剛剛到3C賣場購買了一個隨身碟,隨身碟一般拆封後即可直接使用(與隨身硬碟一樣,但內接式硬碟就不同了,需要先格式化)。當我們把檔案放進去時,就像我們在筆記本上記下資料,只是這筆記本已經規劃好「目錄區」與「資料區」,記下資料的同時也在目錄區新增索引。
上述資料區所記下的資料僅是簡單比喻,實際上檔案儲存時的開頭和結尾可能有特定的符號代表,舉例如下(在此假設@為資料起頭,#為資料結束):
在這裡可以試想一個情況:如果資料、目錄讀寫到一半突然中斷,是什麼樣的狀況呢?
- 狀況一:目錄讀寫到一半中斷
上述目錄區資料42的結尾頁碼發生寫入錯誤,在往後讀取資料42時,僅檢視目錄便不曉得該讀到哪裡結束了!這時候就需要進行修復:經過目錄比對,資料43由P345開始,所以推知資料42的結束是P344。 - 狀況二:資料讀寫到一半中斷
這樣的狀況下,資料便損毀了;對應資料與目錄,資料41於P291結束,資料區卻無#符號!即使磁碟修復,資料也難以復原。
接著討論資料的刪除,前述的內容已將一個個檔案視為一個個「資料區塊」。如將一個檔案刪除,在此以資料1刪除為例;一般完整的刪去應同時修改「目錄區」和「資料區」;但如果資料量龐大,修改資料區的時間便較長,若要重新排序則更加花費時間。因此現今的作業系統進行檔案刪除時,僅修改了目錄。
當資料1被刪除,目錄中P1至P3視為空白,可寫入新的資料。但尚未寫入新的資料前,資料區原本記錄的資料1仍存在!這便是為什麼雖然按下刪除,看似無法還原了,經過軟體深層掃描,還是有機會回復的原因。
在實際檔案系統中較這些比喻複雜許多,「目錄」在技術上稱為「檔案配置表(File Allocation Table)」,頁碼就相當於硬碟的磁區、隨身碟或SD卡等快閃記憶體裝置上的區塊(block)。由於檔案不斷新增刪除,導致同一資料區存放的頁碼可能不連續,在目錄損毀的情況下即使資料完整仍有可能無法順利復原!定期備份才是保護資料的有效方法。
參考資料:
維基百科-檔案系統:
維基百科-快閃記憶體檔案系統:
DiskGenius硬碟 磁碟 USB隨身碟 資料遺失救援 磁區格式化 都能救回 很棒的工具程式(圖片參考):
沒有留言:
張貼留言