如何從壞的 SD 卡中恢復數據?
我有一張 4GB 的 SD 卡,上面有一些我需要恢復的家庭照片。當我將卡插入讀卡器時,它顯示為未知的 32MB 設備(如
/dev/sde
)並且無法安裝。當插回相機(尼康 D60)時,它說需要格式化儲存卡(就像將其插入 Windows 機器一樣)。我想恢復卡上的所有照片(在家庭照片之前還有其他照片),因為我不知道我拍了多少或它們的確切尺寸(但我相信它們都是 JPEG)。該卡應格式化為 FAT32 文件系統。哪些 Linux 或 Unix 實用程序可用於恢復文件?我可以自己做還是需要尋求專業幫助?
編輯:看來我的讀卡器以某種方式損壞了卡,使其無法讀取且無法格式化。當我檢查另一張完全相同的卡(沒有文件除外)時,它“毀了”第二張。我想再次使用第二張卡,那麼是否有工具可以格式化不知道(或無法正確報告)它有多大的損壞卡?
首先,根據您使用第二張卡的經驗,您的讀卡器似乎已損壞,現在損壞了您插入其中的卡。立即停止使用該讀卡器,並嘗試使用另一個讀卡器恢復該卡。如果您的數據完全有價值,請嘗試購買質量比低價閱讀器更好的品牌閱讀器。
如果卡只是部分無法讀取而不是完全無法讀取,請首先嘗試將您可以從卡中複製的內容複製到圖像文件中。不要使用
dd
它,因為它會停止讀取第一個錯誤。使用dd_rescue
或等工具ddrescue
。這兩種工具都試圖從磁碟中獲取盡可能多的數據。範例用法(/dev/sdc
作為卡對應的設備;如果您不知道它是哪一個,請執行cat /proc/partitions
並選擇似乎具有正確尺寸的設備):ddrescue -dr3 /dev/sdc card.image logfile
由於看起來文件系統結構已損壞(您的作業系統提供格式化驅動器,因為它們沒有看到有效的文件系統),您必須嘗試單獨恢復文件。幸運的是,圖像文件以可辨識的標題開頭,並且有許多現有的辨識圖像的雕刻工具:Foremost、MagicRescue、PhotoRec(來自TestDisk的製造商)、RecoverJPEG ……
這些工具中的大多數都在典型的 unix 發行版上可用。但如果您願意,您可以執行專用發行版或其他 Live CD,包括恢復工具,如SysRescueCD、Knoppix、CAINE …