Data-Recovery

如何恢復 HFS+ 分區目錄(可能出現故障的驅動器)

  • February 20, 2020

我有一個格式化為 HFS+ 的 1TB 外置驅動器,用於 Macintosh Apple 電腦。驅動器已滿。

我正在使用 Linux 來嘗試恢復所有文件,或者修復磁碟,然後掛載它並檢索所有內容。

我試過gddrescue了,但是完成的時間太長了。在恢復的 0.06% 時,它會減慢到掃描的字節/秒,並最終加快了一點,但對於我來說似乎還是太慢了。要完全恢復這 1TB,還剩 41 年。我跑了一天,發現 ddrescue 的 41 年比數據的價值要長。

然後我開始了photorec,這似乎可以很好地從分區中恢復已刪除的文件。但是,我想恢復所有內容(最好包括完整的目錄結構),而不僅僅是在驅動器開始出現故障之前刪除的文件。

我試過fsck.hfsplus -d了,得到了這些結果,

** /dev/sdd1
   Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
  Catalog file entry not found for extent
(4, 0)
** Volume check failed.
volume check failed with error 7 
   volume type is pure HFS+ 
   primary MDB is at block 0 0x00 
   alternate MDB is at block 0 0x00 
   primary VHB is at block 2 0x02 
   alternate VHB is at block 1953458172 0x746f67fc 
   sector size = 512 0x200 
   VolumeObject flags = 0x07 
   total sectors for volume = 1953458174 0x746f67fe 
   total sectors for embedded volume = 0 0x00 

看到Catalog file entry not found for extent我在嘗試整理時也遇到的錯誤,我決定用 重建目錄-r,但沒有成功。我認為必須存在目錄才能對其進行重建或修復。

fsck.hfsplus -q報告一個 DIRTY FILESYSTEM。

我嘗試使用hsfprescue,這似乎是解決我的問題的完美工具,但在分析步驟 ( hfsprescue -s1) 期間,它像 ddrescue 一樣掛在 0.06%。testdisk當它到達圓柱體 74 時,同樣會在分析過程中掛起。

我把驅動器給了一個擁有 iMac 的人,他嘗試了它的 GUI 磁碟實用程序軟體來修復驅動器,但無濟於事。(我不知道產生了什麼錯誤,如果有的話)

我從去年的某個時候備份了這個驅動器,但備份的數據量還不到目前實際儲存在驅動器上的數據量的一半。

我正在尋找有關如何修復磁碟以便可以安裝它並複制所有數據的建議,或者可以推薦其他類似於 photorec 的工具,但可以恢復所有文件和文件夾結構的工具。基本上,在這一點上,我接下來應該做什麼。

此外,在您的建議中,請不要說“吸取教訓,不斷備份你的東西!” 講座。驅動器不是我的,我所做的備份是在所有者不知情、同意、許可等情況下進行的,即使在驅動器故障等事件發生後,我也無法說服所述所有者備份數據的價值.

如果成功的話,我能夠對testdisk產生與ddrescue通常結果相似的結果的磁碟進行映像。

然後我hfsprescue在創建的圖像上使用testdisk. 遵循這兩個步驟,這個過程再簡單不過了。通過這樣做,我恢復了 99.99% 的文件,包括目錄結構。(一些文件被壞扇區損壞)

引用自:https://unix.stackexchange.com/questions/567712