我將一些 8Gb MicroSD 卡放入錄影機中並在上面錄製了一些影片。然後我收到一條訊息,該卡已滿。我將其插入電腦的讀卡器,發現該卡充滿了來自某些舊設備的 Android 檔案系統檔案。我還發現了兩個我剛錄製的影片。我看了這些視頻,當我正在觀看第二個視頻時,我收到一條訊息,數據無法讀取。
之後,當我查看該卡時,我只看到System Volumne Information
Windows 中的目錄和一個名稱為垃圾的 3.5G 大檔案。該文件可能封裝了整個閃存卡內容。
我無法開啟或複製該文件。
在這種情況下如何恢復資料?
答案1
我覺得你的 SD 卡已損壞。幾歲了?尤其是較舊的 SD 卡和不太知名品牌的 SD 卡往往很快就會老化。我建議您先按照下面教學的步驟 1 進行操作,然後再採取任何進一步的操作。然後我會使用chkdsk
或類似的工具來嘗試修復驅動器。您可能還想嘗試testdisk
修復檔案系統。如果什麼都不起作用......
對於恢復,您可以使用我的以下教程:(如果您沒有安裝 Linux,則使用 live USB(例如 xubuntu)就可以了。)
1. 建立磁碟機映像
這是一個非常重要的步驟,它將防止你造成更多的傷害而不是好處。即使在您繼續嘗試修復驅動器之前,這也是一個好主意。我們稍後要做的文件恢復將在磁碟映像上執行,而不是在真實磁碟上執行。要建立磁碟映像,只需發出以下命令:(狀態標誌是可選的,它顯示正在dd
運行的進度統計資料)
$ sudo dd if=/dev/sdX of=image.dd bs=1M status=progress
替換X
為您的磁碟機號。 (你可以透過 找到它lsblk
)
2. 執行檔案恢復
有很多恢復應用程序,我個人發現它們photorec
效果foremost
最好。photorec
通常是包的一部分testdisk
。在 debian 上,您可以如下安裝兩者:
$ sudo apt-get install testdisk foremost
a) 攝影
現在只需運行$ photorec image.dd
即可開啟 photorec 的互動介面。
按下回車鍵 ( [Proceed]
) 選擇磁碟映像。在下一個畫面中,系統會要求您選擇一個分割區。如果 photorec 找到正確的分割區,您可以從這裡選擇要還原檔案的分割區。如果它沒有正確偵測到分區,只需選擇No partition [Whole disk]
並再次按回車鍵即可執行[Search]
.在下一個畫面中選擇檔案系統類型後,您需要選擇儲存已復原的檔案的目錄。用 確認C
。
完成後,繼續步驟 3。
b) 最重要的是
雖然 photorec 的工作原理是嘗試在使用中尋找驅動器和媒體的“資料塊”文件雕刻,最重要的是做得有點不同。它仍然使用檔案雕刻概念,但它忽略底層檔案系統的類型,並直接透過將磁碟機的段複製到 RAM 中來運作,然後掃描 RAM 中的檔案頭類型。 Foremost 附帶了大量內建標頭來恢復大多數類型的常見文件,如果您想添加自訂頁首/頁腳來檢測不太常見的文件類型,foremost 為您提供了此功能。
若要使用映像上的預設選項來執行最重要的,請執行以下命令:
$ foremost -i image.dd -v
這會將所有復原的檔案儲存到output
(首先將建立的新目錄)。您可以使用該標誌指定另一個輸出目錄-o
,並-a
忽略錯誤/儲存損壞的檔案。
3.過濾恢復的文件
這是可選的,但有時您只對特定類型的文件感興趣,甚至更糟:恢復工具為您提供一百萬個文件,其中數千個看起來像是JPEG 文件,但實際上它只是一個損壞的文件文件,根本不是圖片。要過濾掉這些,您可以使用這回答我在超級用戶上的另一個問題。