[求助]reiserfs分区有坏块,用dd备份后救援出来的文件都有问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
c2
帖子: 70
注册时间: 2008-05-02 0:14

[求助]reiserfs分区有坏块,用dd备份后救援出来的文件都有问题

#1

帖子 c2 » 2010-03-25 16:55

reiserfs分区有坏块,用reiserfsck出现以下信息而无法继续:

bread: Cannot read the block (3349): (Input/output error).

google了这个网页《 ReiserFS 救援步驟(使用 dd 救援回復) 》http://plog.longwin.com.tw/news-unix/20 ... overy_2007 其原文:
先假設是壞 /dev/hdc1, 然後 /dev/hdc1 是 mount 在 /mnt/hdc1 上, 然後準備一顆大硬碟接備份資料的是 /dev/hdd1, mount 在 /mnt/hdd1 上, 然後假設之前還沒 umount, 然後下述都是用 root 執行.

1. umount /mnt/hdc1
2. cd /mnt/hdd1
3. dd if=/dev/hdc1 conv=noerror > ./hdc1.img # Partition copy, 會有很多錯誤(硬碟壞軌), 不要管他, 總之慢慢倒出來即可.
4. losetup /dev/loop0 hdc1.img # 設定 /dev/loop0 來控制 hdc1.img(partition), 此時 /dev/loop0 就可當做是原本的 /dev/hdc1 來用
5. reiserfsck --rebuild-tree -S -l recovery.log /dev/loop0 # 重新建立filesystem 結構, 如果有檔案已刪除, 不在 tree 的節點上, 就會跑到 lost+found(可由此做 undelete)

但是我的狀況是, 到第 5 點修復一樣失敗(可能是我之前已經將 super block 清掉過了), 於是還是照 system 重新 build 的方法, 讓它重頭開始 build 出 tree 來.

1. reiserfsck --rebuild-sb /dev/loop0 # 會問底下幾個問題
* Do you want to run this program?[N/Yes] Yes
* Did you use resizer(y/n)[n]:y
* 中間這些 Block, Blocksize 等照預設即可(除非之前有特別設定)...
* Set flags in SB: Is this ok ? (y/n)[n]: y
2. reiserfsck /dev/loop0 # check
3. reiserfsck --rebuild-tree -S -l recovery.log /dev/loop0 # rebuild tree
* 看到 0%....20%....40%....60%....80%....100% 就對了(看到這個好感動)..
4. 此步驟做完就已經算是搞定了, 要安全點可以再做一次 --fix-fixable, 不過剛建好的應該不會有問題才是.

到此 /dev/loop0 應該就是 /dev/hdc1(扣掉壞軌弄不出來的部份), 再來就可以 mount 起來囉, 如下述步驟:

1. mount /dev/loop0 /mnt/hdc1 # mount 回舊目錄
2. ls /mnt/hdc1 # 整個已經回來了, 再來就是看要把資料看要放(或備份)到哪邊去.
3. ls /mnt/hdc1/lost+found # 裡面有遺失的檔案(含 以前 delete 後 filesystem 還沒清掉的檔案), 但除了文字檔外, 其它都很難辨認.
4. 備份完後, umount /mnt/hdc1, 記得 losetup -d /dev/loop0 (-d delete), 這樣子空間才會 release 出來
参照其步骤,用dd备份后,救援出来的文件,所有文件名包括文件夹名都正常,文件大小也正常(看大小应该和原来一样),但都有问题,ms office的doc,以及openoffice的odt,打开都出现ASCII转换窗口,无论选择utf-8的字符集还是简体中文的字符集,都全部是乱码,而表格文件xls、ods打开,几乎全部都是空的(个别只有一两行的乱码);而pdf、jpg等文件也一样,打开都不能显示。

因为这些文件是工作用的文件,比较重要,请大家帮助指点一二,多谢!
c2
帖子: 70
注册时间: 2008-05-02 0:14

Re: [求助]reiserfs分区有坏块,用dd备份后救援出来的文件都有问题

#2

帖子 c2 » 2010-03-25 17:35

any1 please help。
c2
帖子: 70
注册时间: 2008-05-02 0:14

Re: [求助]reiserfs分区有坏块,用dd备份后救援出来的文件都有问题

#3

帖子 c2 » 2010-03-26 16:39

问题已解决,将该硬盘挂到另一ubuntu机子中,可以挂上,读写正常。初步怀疑原机SATA插槽有问题,导致一些I/O错误。

通过此次处理,再次感到资料备份的重要,一些工作用的资料,如果硬盘坏,要恢复/拯救,麻烦多多,顾忌多多(原盘不敢随便读写)。天气渐热,硬盘出现问题的机会增多,提请各位同学注意机箱通风和数据备份。 :em01
回复