Osx

ddrescue 在 USB 硬碟上非常慢

  • August 8, 2016

我正在從死掉的筆記型電腦中恢復硬碟驅動器(根本無法啟動,磁碟工具報告說沒有問題,但不會安裝磁碟)。我已經通過 USB 適配器連接了硬碟。ddrescue像這樣執行:

sudo ddrescue -v -n /dev/disk1s2 "/Volumes/Original HD/image.dmg" ddrescue.log

到目前為止沒有任何錯誤,但是平均讀取速度已經逐漸下降到 50KB/s。一開始大約是 2MB/s。分區大小為 300GB。到目前為止,我已經能夠恢復 160GB。我正在恢復到 MacBook 上的 HFS+ 分區。

傳輸速度慢的原因可能是什麼以及如何提高它?

這似乎只是ddrescueOSX 下 USB 傳輸的工作方式。來自標題為:主題:$$ Bug-ddrescue $$在 osx 下 ddrescue 慢 10 倍

在功能齊全的硬碟驅動器上工作時,在 linux 下它會執行完整的 i/o 速度。當在 osx 下使用預設編譯標誌編譯時,它的速度要慢幾倍,有時會爬到 Kb/s。如果輸出文件是 /dev/null,問題仍然存在。

同一個執行緒也有這個響應。

根據我在 OS X 上的經驗和測試,訪問原始字元設備/dev/rdisk…總是更可取的。此外,通過設置更大的複制塊大小,可以進一步提高傳輸速度。ddrescue -c 1Ki在大多數情況下,512KiB ( ) 的大小給了我最好的結果。

並且:OS X 原始字元設備確實具有定義的大小,因此即使在第一次執行時也可以輕鬆使用。(至少在這一點上,現有文件中有關原始設備的說明ddrescue不適用於 OS X。)

我不認為這是一個錯誤ddrescue,因為其他實用程序在 OS X 上喜歡dd或表現出相同的行為。cat

訪問 /dev/disk… 塊設備的速度相當慢,與使用的複制塊大小無關。另一方面,/dev/rdisk… 原始字元設備的讀取速度很大程度上取決於所選的複制塊大小:

  • 512 字節 ( ddrescue -c 1, 預設 in dd) 是最慢的。
  • 將其設置為 4096 字節 ( ddrescue -c 8, dd bs=4K) 與訪問 /dev/disk 的速度相同…
  • ddrecue 預設的 128 個扇區 (= 64KiB, ddrescue -c 128, dd bs=64K) 帶來了相當不錯的結果。
  • 進一步乘以(最多ddrescue -c 1Ki/ dd bs=512K)會帶來最大速度(通常比 快 8-12 倍/dev/disk…
  • 在我的測試中,超過這個值並沒有進一步提高傳輸速度;有時甚至下降。

這些是我自己測量的結果,您的結果可能會因使用的媒體和 IO 硬體而異。也許如果其他一些使用者分享他們的經驗,我們可以更好地了解這個主題。

參考

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