如何恢復損壞的下載文件

此目錄下的文檔都是用戶自己編寫的指南,並未經過eMule(電騾)開發人員的驗證。不過對於大多數用戶而言,這些文章仍然頗有裨益。你可以在論壇的此專用主題貼找到相關的提問與評論


由於這篇指南How To Save “corrupt” Downloads!(作者:Birk)及其原始的西班牙文文檔Recuperar con MetMedic las descargas desaparecidas(作者:risalan)的年頭已經太長了,我翻譯了Bagusajalf所寫的較新的一篇西班牙文指南Recuperar con metFileRegenerator las descargas desaparecidas。感謝Babelfish的幫助!

metFileRegenerator這款軟體能夠修復eDonkey、eMule以及其它兼容客戶端的受損下載文件。V1.4版本需要安裝Java運行時環境v1.4或更高版本。如果需要恢復超過4GB的文件,則需要使用v3.0.16(2006.10.8)或之後的版本。此軟體仍在繼續開發中。

當我們在eMule中添加下載時,會自動在臨時目錄(默認為\eMule\Temp\)下新建3個文檔:
xxx.part(下載文件本身)、xxx.part.met(包含下載文件中每個文件塊的信息。文件塊大小為9.28MB,若位於文件尾部則會更小)以及xxx.part.met.bakxxx.part.met的備份,其中「xxx」是某個數字。

有時eMule或操作系統會意外關閉,此時一個或多個xxx.part.met文件可能會發生損壞。相應的下載會從eMule的傳輸窗口中消失,並且在伺服器窗口的日誌頁中將會顯示如下一條錯誤信息:

01/06/2006 14:53:07: 錯誤:無效part.met文件版本! (x.part.met => (null))
或者
01/06/2006 14:53:07: 錯誤:001.part.met()損壞,無法載入文件

「太倒霉了!我下617.15MB的文件只差最後0.15MB,結果就丟了……」

如何恢復丟失的下載

/!\重要提示:在操作臨時文檔之前,應先保存備份,這樣即使某次嘗試沒有效果,也能安全返回到開始恢復前的狀態。/!\

方法1
這是最簡單的方法,應該最先嘗試。

在不關閉eMule的情況下,將xxx.part.met.bak文件及時拷貝到\Temp目錄之外(即手動保留該文件上一版本的備份),並且將其改名為xxx.part.met
關閉eMule,將備份的xxx.part.met文件拷回到\Temp目錄下,覆蓋掉當前的同名文件。
啟動eMule,看看下載文件是否已經得到修復。smile.gif

假如此方法並未奏效,那麼試一試……

方法2

  • 運行metFileRegenerator(需要先安裝Java運行時環境 v1.4或更高版本),選擇Recovery,點擊Next
  • 選定eMule的臨時目錄,注意丟失下載的xxx.part文件應在此目錄中,點擊Next
  • 小提示:

    • met文件將恢復成舊格式。

    點擊Next

  • 選擇丟失下載所對應的xxx.part文件。點擊Next

  • 現在便開始修復下載文件,並以進度條顯示當前的修復進度。
  • 假如還需要修復更多下載文件,重複以上步驟。
  • 關閉metFileRegenerator,啟動eMule(會hash這些曾經消失的下載文件)。此時的下載列表中將會出現兩個(或若干對)相同的下載:取消掉那些手動添加的空白下載,只保留eMule恢復的下載文件。
  • 現在可以刪除之前所保留的各種備份了。請謹慎進行刪除操作。dry.gif
  • 假如此方法仍然不能恢復下載文件,而是顯示一條錯誤信息:「download the file again and try MFR again」(沒錯,這條信息就是這麼多餘),那就只好使出最後一招了……

方法3

步驟1

假如你不知道丟失的下載文件到底是什麼,那麼我們首先應當找出xxx.part究竟屬於哪個下載。

如果安裝了命令解釋器插件(eMule Shell插件),可以在Windows資源管理器中顯示eMule臨時文件內容的相關信息,這樣就能夠查看每個.part文件所對應的下載了。臨時文件信息會在黃色提示框中顯示(氣泡提示),也會在窗口的內框(狀態欄)顯示,當然也可以在Vista下通過「詳情」以及其它各種方式查看。

不過如果對應的part.met文件損壞的話,可能不會顯示任何有用的信息,因為這個插件也是從part.met文件中讀取各個文件塊信息的……

你也可以在對應的xxx.part.met文檔或xxx.part.met.bak文檔中直接查找此文件的相關信息。用十六進位編輯器(Ultraedit或WinHex)或文本編輯器(例如notepad.exe(記事本))打開這些文件都行。不過當下載文件損壞時,xxx.part.met文件通常都是空的,有時連文件都消失了……


用十六進位編輯器打開後,所顯示的xxx.part.met文件的內容

另一種方法是直接「讀取」xxx.part文件,也就是用十六進位編輯器查看此文件的文件頭或文件尾,根據一些特徵數據識別文件的類型和內容(注意!如果臨時文件的塊頭很大,那麼十六進位編輯器可能需要很長的時間才能打開該文件,甚至會造成計算機暫時失去響應),這種方式對數據文件(zip、rar、iso、bin、pdf等等)比較有效。也可以嘗試直接用媒體播放器(例如VideoLan Client,參見幫助與支持->特色功能->預覽多媒體文件)打開臨時文件,這種方式對音頻或視頻文件比較有效。

假如你實在無法辨別出這個孤零零的xxx.part文件究竟是個什麼下載文件,那麼這個下載就真的無法恢復了。

步驟2
當鑒別出損壞的是什麼下載後,先去重新開始下載同一個文件。注意不能是「相似」的文件,必須是hash值完全相同的文件。
在傳輸窗口中,在該下載條目上單擊滑鼠右鍵,選擇顯示詳情(或將游標停留在該下載條目上),就能看到此文件包含多少個文件段
等到eMule找齊了所有文件塊的來源(在文件進度條中不再顯示紅色部分),並且下載文件的詳細信息「Hashset 可用」顯示「是」(或已經下載了幾兆),停止下載,退出eMule

步驟3

  • 運行metFileRegenerator(需要安裝Java運行時環境v1.4或更高版本),選擇Recovery,之後點擊Next
  • 選定eMule的臨時目錄,注意丟失下載的xxx.part文件應在此目錄中,點擊Next
  • 小提示:

    • met文件將恢復成舊格式。

    點擊Next

  • 選擇丟失下載所對應的xxx.part文件。點擊Next
  • 現在便開始修復下載文件,並以進度條顯示當前的修復進度。
  • 假如還需要修復更多下載文件,重複以上步驟。
  • 關閉metFileRegenerator,啟動eMule(會hash這些曾經消失的下載文件)。此時的下載列表中將會出現兩個(或若干對)相同的下載:取消掉那些手動添加的空白下載,只保留eMule恢復的下載文件。
  • 現在可以刪除之前所保留的各種備份了。請謹慎進行刪除操作。dry.gif

* 注意:metFileRegenerator會在eMule的臨時目錄中創建一個名為\MFRcache的子目錄。之後每修復一個文件就會在此目錄下生成一個xxx.part.met.old文件。成功恢復所有下載文件後,可以直接刪掉這些臨時文件。

eMule Morph系mod在下載文件的右鍵菜單中有一個「導入未完成文件」的功能,實際上與本帖所描述的功能相同。
添加(與丟失文件相同的)下載後,滑鼠右鍵單擊該下載條目,選此菜單項,隨後選擇丟失的xxx.part文件並進行恢復。此功能已經支持修復超過4GB的下載文件。

在某些更加極端的情況下,下載列表中的所有文件可能會全部消失。如果碰到這種情況,一定要保持頭腦冷靜。首先檢查選項 -> 目錄下的臨時文件設置是否指向正確的路徑,然後重啟eMule,按照上面介紹的方法修復所有下載文件。強烈建議在重啟eMule之前備份所有臨時文件。

由於下載丟失的現象比較少見(我上一次碰到這種情況也是很久以前了),因此以上所描述的恢復步驟缺乏驗證,可能並不準確。希望大家不吝指正。smile.gif

祝好

感謝本篇指南的原始作者Bagusajalf。假如你覺得這篇文章有用,可以先整理整理去掉翻譯中的錯誤,然後放到快速幫助與指南中。

祝駕騾愉快biggrin.gif


如何恢復損壞的下載文件》,由Ejack翻譯自eMule官方網站英文版幫助與支持《How To Recover Corrupt Downloads》並首發於eMuleFans.com。原文版權歸屬於eMule官方和原文作者。翻譯內容版權歸屬於翻譯者並遵守CC 3.0 BY-NC-SA協議。已編入eMule官網簡體中文版幫助與支持《如何恢復損壞的下載文件》。

4條評論隱藏

  1. #1 half unselfish sharer
    2011年3月19日 周六 23:32 | 回復

    太複雜。真正丟失文件再說吧。

  2. #2 ae6ytb
    2011年3月25日 周五 13:47 | 回復

    其實不用這麼複雜,有些mod有個「將零散部分導入文件」功能,首先下載一個hush相同的文件(忘記這個文件是什麼的話就把曾經下載過的文件重新下載一遍,顯示是百分之0的這個文件就是了),然後在下載傳播條上右鍵使用「將零散部分導入文件」,把損壞的臨時文件導進去,ok

    今天突然停電,《硬漢部隊》里有一個文件下載到百分之九十八損壞,用這個方法成功恢復,(*^__^*)

  3. #3 gg
    2011年3月25日 周五 14:53 | 回復

    @ae6ytb 是hash,兄弟。現在主流mod,xtreme系,morph系,以及其他什麼x-ray,neomule都有這個導入文件塊功能,叫法可能不同。

  4. #4 AA
    2011年12月21日 周三 23:17 | 回復

    用過xtreme的這個功能,不錯。

發表評論

您的Email將不會顯示出來。頭像請至Gravatar.com註冊上傳。*號標註項為必填。

*
*
*
標籤用法
字數:0