使用 ddrescue 從失敗的 ntfs 磁碟中檢索數據
我正在嘗試保存在 Window 8 電腦中出現故障的磁碟的一些使用者數據。我已經移除了 Windows 8 筆記型電腦無法讀取的硬碟,插入我的 OS X 機器,它可以看到分區但無法安裝它們。(ntfs-3g 也不能)。
diskutil list
顯示:/dev/disk8 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *1.0 TB disk8 1: EFI ESP 524.3 MB disk8s1 2: 786BA1D3-6BAF-4D9G-B621-461EB71A4965 41.9 MB disk8s2 3: Microsoft Reserved 134.2 MB disk8s3 4: Windows Recovery 513.8 MB disk8s4 5: Microsoft Basic Data 985.0 GB disk8s5 6: Windows Recovery 471.9 MB disk8s6 7: Windows Recovery 367.0 MB disk8s7 8: Windows Recovery 13.2 GB disk8s8
我正在
ddrescue
嘗試恢復硬碟驅動器的內容……所以我目前正在使用命令:
sudo ddrescue -n /dev/rdisk8s5 ./backup.dmg mapfile
基於實際使用者數據在分區 #5 中的假設…
到目前為止,幾天后,目前的輸出
ddrescue
如下所示:GNU ddrescue 1.20 Press Ctrl-C to interrupt Initial status (read from mapfile) rescued: 126523 MB, errsize: 0 B, errors: 0 Current status rescued: 261066 MB, errsize: 0 B, current rate: 19202 kB/s ipos: 456274 MB, errors: 0, average rate: 1568 kB/s opos: 456274 MB, run time: 23h 49m 38s, remaining time: n/a time since last successful read: 0s
執行時將關閉,因為我有
ctrl-c
幾次,一次嘗試file
.dmg 以查看它是否可以確定任何內容(不)。據我所知,它將 dmg 膨脹到相對大小,
ipos
但據opos
我所知,恢復的數據的真實大小是rescued
數量。我注意到的一件事是,雖然平均速率是
1568kB/s
,但它似乎每 1 分鐘到 2 分鐘讀取一次,持續大約 5 到 10 秒。從以上資訊來看,我目前正在等待它完成這個傳遞(估計,基於 dmg 的大小( ipos/opos 大小)它應該總共需要 100 小時,但不確定我是否應該加倍到
rescued
一半的大小(我需要兩倍的磁碟空間來保存嗎?)任何有磁碟恢復經驗的人,我有以下問題 -
- 這看起來怎麼樣?我沒有看到任何錯誤,但是它自己的PC無法讀取磁碟,並且mac也無法安裝它,所以我對恢復數據感到悲觀。
- 一旦我“完成”…訪問保存在 .dmg 中的數據需要做什麼——Windows 8 加密會成為我遇到的問題嗎?
- 我需要 2 倍的磁碟空間來保存正在保存的 DMG 嗎?由於獲救的大小是 dmg 和 ipos/opos 的一半。或者是驅動器處於如此可怕的狀態,以至於它只能恢復一半的東西。
我不認為已用驅動器空間接近 1 TB 的使用者數據…
任何其他建議將不勝感激。
**免責聲明:**我是 RecuperaBit 的開發者。這個答案是我的這個答案的總結,混合了 OP 的回饋。
您的
ddrescue
命令僅複製第五個分區 (/dev/rdisk8s5
),如果您確定分區表正確,這很好。但是,如果您有足夠的空間,我強烈建議您複製整個驅動器。
file
一次試穿.dmg
請記住,這
ddrescue
會生成驅動器的原始比特流副本。無論您如何稱呼它,該文件都不是 DMG 文件。通常,您會使用.img
副檔名或有時使用.dd
.自己的PC無法讀取磁碟,mac也無法掛載,所以我對恢復數據持悲觀態度
你肯定不會得到一個工作分區。但是,即使 NTFS 結構部分損壞,也可以恢復未損壞的部分數據。
如果驅動器只是輕微損壞,您可以嘗試
testdisk
,但是file
沒有檢測到 NTFS 簽名的事實表明情況更糟。訪問正在保存的數據需要做什麼
您可以使用RecuperaBit,這是一個用於取證 NTFS 重建的開源軟體。它使用的算法執行我的碩士論文中描述的自下而上的重建。要點是:
- 它掃描整個驅動器以查找文件痕跡
- 它重建目錄樹或可以恢復的任何部分
- 它允許您以正確的名稱導出文件的內容
要在您製作的圖像文件上執行該工具,請創建一個輸出目錄並使用以下命令啟動 RecuperaBit:
mkdir /path/to/another/drive/recovered_files cd [full path of recuperabit] pypy main.py /path/to/backup.dmg -o /path/to/another/drive/recovered_files -s /path/to/another/drive/recovered_files/savefile.save
該
-s
選項儲存有用的有趣扇區日誌,您可以在隨後在同一磁碟映像上執行時再次載入這些日誌。在掃描過程之後,它將開始確定任何 NTFS 分區的幾何形狀。執行
recoverable
命令查看分區,然後恢復例如分區#2
:restore 2 5 restore 2 -1
其中
5
表示Root目錄,-1
表示Lost Files目錄。由於您的驅動器已損壞,您可能會在Lost Files目錄中找到很多有趣的東西。檢查其他答案以了解一些注意事項和限制。
順便說一句,由於您針對您的特定情況稍微修補了程序,如果您可以將更新檔作為拉取請求送出,那就太好了。