# [日常]DDRescue對壞軌硬碟進行救援 ###### tags: `Ubuntu`,`資料救援`,`ddrescue`,`硬碟` 這幾天發現備用的硬碟壞了[[日常]WD my passport ultra 4tb備分硬碟壞軌送修-購買新硬碟TOSHIBA Canvio Basic 2TB](/@xwater8/r16LHKJBL)],於是買了一顆新的硬碟開始要將資料轉出去,一開始是先使用FastCopy進行單個資料夾進行複製,發現在複製的時候壞軌檔案會卡很久(無法直接跳過錯誤檔案),如下所示 ### FastCopy Error: > ReadFile(資料錯誤 (循環冗餘檢查)。23) : E:\娛樂區\[赤月みゅうと] ラブメア愛慾夢魘.rar > ReadFile(信號等待逾時。121) : E:\娛樂區\Steam遊戲備份\Rise of the Tomb Raider, Shantae Half-Genie Hero Ultimate Edition\Disk_2\391221_depotcache_3.csd ## DDRescue硬碟救援 上網找了一下其他方法,發現大家都使用ddrescue先將硬碟轉換成映像檔 **(image.raw)**,再從映像檔裡面取出資料 **(mount ./image.raw ./folder)** > dd和ddrescue其實是非常相似的工具,只是ddrescue能把壞軌的地方修復或補0,讓整個映像檔變得完整 >  **p.s** > 1.**ddrescue提取出來的檔案大小跟硬碟大小幾乎是一樣大的**,假設你的硬碟容量4tb,裡面放的檔案500GB,你製造出來的映像檔會是4tb > 2.**可以使用VirtualBox或LiveUSB的方式對外接硬碟進行掛載並進行救援**,以便省下安裝Ubuntu系統的時間,**但是使用VirtualBox讀取檔案的速度會慢3~5倍(20MB v.s 100MB)**,因此建議還是直接在系統上使用,不要透過虛擬機。 > 3. Windows上也可以使用ddrescue,不過需要[透過cygwin去安裝ddrescue](https://nanzt.info/8453.html) > 4. 看別人使用ddrescue的經驗都是一跑就好幾天,需要耐心的等候。 ddrescue教學: > 1. https://www.youtube.com/watch?v=ddrPnuvFV6E&list=WL&index=64&t=919s > 2. https://nanzt.info/8453.html ### 過程中碰到的問題 進行ddrescue提取到一半發現已經無法繼續動作了,於是將過程中斷,中間可以取多少檔案就取多少。 照著本來的方法對映像檔進行mount的動作發現掛不上去,出現了錯誤訊息 > the device doesn't seem to have a valid ntfs 應該是因為映像檔做一半就斷掉的關係,而且我當初不是備份整顆硬碟,是備份磁區而已(Windows上備份磁碟會出現奇怪的錯誤..),因此出現了問題。 最後找到的解法如下 1.[使用losetup掛載來確認分割區](https://askubuntu.com/questions/69363/mount-single-partition-from-image-of-entire-disk-device) > sudo losetup -Pf disk_image.raw 可以看到/dev/loop0p1 ..p4 2.[使用ntfsfix來修復此磁區](https://blog.51cto.com/xiaodongge/1845547) > ntfsfix /dev/loop0p1 3.使用mount重新進行掛載 > mount /dev/loop0p1 ./wd 最後再重新檢測一下我的硬碟,發現已經變成**不良狀態**了,難怪再跑ddrescue的時候會停滯不前。  **參考資料:** > ddrescue教學: > https://www.youtube.com/watch?v=ddrPnuvFV6E&list=WL&index=64&t=919s > https://nanzt.info/8453.html > 映像檔修復: > https://askubuntu.com/questions/69363/mount-single-partition-from-image-of-entire-disk-device > https://blog.51cto.com/xiaodongge/1845547
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.