我昨天的ex3文件系统修复经历!

新手涉及到的教学或入门贴,推荐新手必看,版主维护
回复
suizong
帖子: 96
注册时间: 2007-05-24 0:45

我昨天的ex3文件系统修复经历!

#1

帖子 suizong » 2008-06-23 9:14

昨天去帮朋友修电脑。几下搞定后鬼迷心窍得想溜一下我的移动版的ubuntu结果就在朋友那台256M拨了8m做显存的老机器开搞了!选择USB-hd启动后,顺利进去Grub,然后选择我的USB 8.04引导,会出现装载时读秒阿,家里一般是40s多,在这里是130多,顺利进入登录界面,选择用户名输入密码,出现一个警告,大意是放弃了某某脚本,然后约1分钟出现了墙纸,然后就不动了!,移动鼠标有反应,但是又是约30s后鼠标也没有反应了!再过了20s键盘灯也不甩我了!,再耐心等5分钟,虽然移动硬盘上的灯一直狂闪还是狠心reset了!重启后再次进grub,选择引导8.04报partition错误,进入grub命令行,发觉tab不出目录和文件了!我晕!

回家开始决定修复!有人可能会问,干嘛不用fsck或者重新安装,我回家后立即通过liveCD fsck过了,系统提示非文件系统分区问我是否mkfs,重装,呵呵!我家里不能上网,这个系统我是用公司的电脑抽空配置的,应用软件和桌面配置全部弄好了的,花了我四天多,我可不想从头搞!反正下午在家也是闲着我决定手动修复!
前几天我曾经发帖问如何修改分区的UUID,不知道有人看过那帖子没有,后来我用我最喜欢的hex编辑器成功修改了UUID,使用的就是winhex的磁盘编辑功能!这次我也决定用它!

我这里工作时间不固定,等会儿续写!
suizong
帖子: 96
注册时间: 2007-05-24 0:45

#2

帖子 suizong » 2008-06-23 16:05

没人沙发,我就自己坐了,继续了哦!
在winhex里面打开磁盘,我那个不能读取的分区根本不显示为有文件系统的,直接告诉我是否格式化它!我哪敢!
取消,然后搜索我那个分区的UUID,发现了十多处!不能确认原始的是哪一个,据我理解ext3中的超级块索引应该有很多镜像。于是我打开没有破坏的Home分区查看分区表结构,想要对照修改,但是这里也是一样几乎是毫无规律!无奈,我就在电脑的本机硬盘上腾了两个小分区出来,格式化为ext3分区,然后也用winhex开来分析,有了三个正常标本后我就发现规律了!正常的ext3分区的第一个超级块索引的相对偏移始终是Hex400(1024)处,大小全是512字节,其他的若干超级块索引的内容总是与400偏移位置的这个超级块完全相同,回头看我那个不能读取的分区,在400偏移处是一些乱码,于是我把这个乱码区域复制保存为dat文件备份到本机硬盘上后,大胆的从该分区的其它复制了一个过来覆盖乱码区域,覆盖后,我还不放心,又提取了本分区所有可读的超级块索引文件共八个来比较,最后发现其中5个完全相同,其它三个又互不相同但是与我这5个都有7个字节的不同,我就提取了相同值出现最多的这5个中的一个重新写回了400偏移处!写入保存到磁盘后,用PTDD和Winpm分别打开,ptdd显示正常,winpm仍然显示未格式化,但是分区ID是83却没有错,用R-STUDIONE打开时,已能显示正常认出了ext3分区,但是不能遍历目录!再次用winhex打开该分区,显示出了该分区格式,可用空间,但是也不能遍历目录和文件名,不过我知道ext3是有
journal的,而且从可用的超级块索引处里面我看见指出了journal的六处位置。赶紧重启动windows进入liveCD,在sudo fscd -a /dev/sdd8
后,系统提示某某索引项已损害,是否修复,按了Y,再次提示另一处损坏,又Y,连按了7、8处,正打算ctrl+ C 然后
sudo fscd -y /dev/sdd8
一下的,突然跳出个 /dev/sdd8 已经 CLean,接着在迅雷不及掩耳盗铃之势中gnome自动把这4G的分区给我挂载起来了,浏览了一下自动挂载好的分区,文件都没有问题了!哈哈哈哈!!
我就这样修复了我的移动版本的Ubuntu!
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#3

帖子 冲浪板 » 2008-06-23 16:53

强烈建议把你看到的盘上的咚咚贴个出来,因我没你用的那软件。
就是数据啦,你在Hex400处写的。

btw:为什么才坏的?
suizong
帖子: 96
注册时间: 2007-05-24 0:45

#4

帖子 suizong » 2008-06-25 8:53

冲浪板 写了:强烈建议把你看到的盘上的咚咚贴个出来,因我没你用的那软件。
就是数据啦,你在Hex400处写的。

btw:为什么才坏的?
呵呵,就是开机时停止响应,在硬盘还在狂读的情况下强制重开机了阿!!
在ubuntu下我还不知道如何进行16进制编辑,就把我写入的文件打包发上来大家研究吧
附件
.zip
(2.1 KiB) 已下载 49 次
回复