Hard-Drive

使用 DDRescue 恢復無法完成(寫入錯誤:只讀文件系統)

  • December 20, 2012

我正在嘗試恢復損壞vdfuse的 VDI,用於掛載 VDI 並dd_rescue用於挽救損壞的分區。

dd_rescue似乎工作正常,但一旦達到大約一半的分區,它就會停止並給出以下錯誤:

ddrescue: write error: Read-only file system

等等……什麼?它突然將正在寫入已恢復分區的 FS 轉換為只讀文件系統。嗯……為什麼?我永遠無法完成這件事嗎?這是怎麼回事?

更新 - 2012 年 12 月 2 日

我的電腦在斷電時正在執行 VBox,當我重新啟動它並嘗試執行 vbox 實例時,它告訴我硬碟沒有作業系統。

因此,在檢查了該配置文件的 BIOS 選項和 VBox 設置後,我使用該 VDI 創建了一個新配置文件並得到了相同的錯誤,證明 VDI 確實不可讀,並且配置文件不僅僅是搞砸了。

VDI 是一個 500GB 的磁碟,上面有 4 個分區。當我使用vdfuse將 VDI 掛載到文件夾時,它包含 4 個分區作為環回設備(Partition1、、Partition2等)

當我嘗試掛載第一個分區時,它工作正常。它是引導分區,因此它沒有任何用處。但是當我嘗試掛載Partition4我的使用者主分區時,它會說Bad superblock at offset ######幾次並且無法掛載。

所以,我執行ddrescue Partition4 ../partition4_restore.img並且工作正常,直到它達到(“救援”)大約 260 GB,當它停止並給出“只讀文件系統”錯誤時。

放置 img 文件的位置有 660GB 可用空間。

使用掛載後vdfuse,我使用testdisk它可以查看和復製文件中的Partition4文件列表。

1. 錯誤排查ddrescue

您的寫入因據稱與目標卷有關的錯誤而失敗。我建議驗證是否真的可以將這麼大的文件寫入目標卷:

`dd if=/dev/zero of=testfile bs=32M count=15000`

如果該操作成功,您可以有理由相信該問題是您的ddrescue操作所特有的。如果失敗,您就知道問題出在目標卷上。

2.修復原問題:

當然,從您選擇的策略中退後一步,簡單地嘗試使用fsck -b恢復備用超級塊會很有意義。

引用自:https://serverfault.com/questions/448049