LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: apostle

紧急求助!关于恢复MBR(好几个高手都说没办法,急死人了)

[复制链接]
 楼主| 发表于 2005-6-19 17:52:36 | 显示全部楼层
Post by ross
只要真的没有用其他软件倒腾过

恢复的希望还是很大的


除了用了fdisk /mbr 外,其他的软件都没用过
pqmagic用来看了一下,但是没有真的使用
回复 支持 反对

使用道具 举报

发表于 2005-6-19 17:56:25 | 显示全部楼层

只要数据和分区信息没丢,绝对修得回来

硬盘得数据结构实质是个单向链表,每个逻辑分区都是其上得一个节点,mbr只不过是头节点而已,损坏后完全可以通过其他方式重建,再填入下一个节点得指针就oK了(当年王江民得硬盘炸弹就是把尾节点指针指向头节点头指针,导致系统自举时陷入死循环)
回复 支持 反对

使用道具 举报

发表于 2005-6-19 17:57:02 | 显示全部楼层
那就用别人机器上的 final data 来恢复吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-19 18:14:23 | 显示全部楼层
Post by bb_sun
diskgen有个 重建分区表的功能,我以前用过,很不错,在重建前最好先备份分区表。


刚刚尝试了,没有效果啊
回复 支持 反对

使用道具 举报

发表于 2005-6-19 18:14:33 | 显示全部楼层

看来有必要在这儿扫扫盲了

硬盘mbr=code + 四个指针
一号指针就是C:(也就是主分区)
二号指针是扩展分区(指向一个链表)
三号指针备用(linux主分区指针)
四号指针备用(swap分区指针)


dos意义下得硬盘分区除C盘外,其余全部包容与扩展分区内,每个分区又叫逻辑分区,通过每个分区前得分区表结构串成一个链表
你既然已经用fdisk/mbr了,就意味着mbr已经重建好,所要作得只是把主分区得指针填入,D:得首扇区填入,就可以修复,哪里用的着那么麻烦
推荐用nu8得diskedit,手动修复很块得
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-19 18:20:04 | 显示全部楼层
Post by hys
硬盘mbr=code + 四个指针
一号指针就是C:(也就是主分区)
二号指针是扩展分区(指向一个链表)
三号指针备用(linux主分区指针)
四号指针备用(swap分区指针)


dos意义下得硬盘分区除C盘外,其余全部包容与扩展分区内,每个分区又叫逻辑分区,通过每个分区前得分区表结构串成一个链表,所以该怎么修复看了之后应该就能明白


俺,俺,还是不知道怎么做啊,已经吓坏了
还是请哥哥详细说说好吗
回复 支持 反对

使用道具 举报

发表于 2005-6-19 18:24:16 | 显示全部楼层
hys说的是你自己的分区表吧。
回复 支持 反对

使用道具 举报

发表于 2005-6-19 18:27:09 | 显示全部楼层

你现在首要得就是先用ghost搞个bit 2 bit得备份,免得乱搞搞坏了

接着就先找C:和D:得首扇区在哪儿,找出后直接填入mbr就成
但这个要花点时间,我当时是自己写代码,但有种笨方法,你可以依照原先得分区比例重新分区(每个分区大小必须与原先绝对相同),只要重新分区后那两个指针得值就ok了
回复 支持 反对

使用道具 举报

发表于 2005-6-19 18:28:44 | 显示全部楼层

基于dos系统得分区表

Post by flowing
hys说的是你自己的分区表吧。



基于dos系统得分区表
回复 支持 反对

使用道具 举报

发表于 2005-6-19 18:29:18 | 显示全部楼层
Post by apostle
俺,俺,还是不知道怎么做啊,已经吓坏了
还是请哥哥详细说说好吗



小妹妹别理他,现在外面坏人好多的 :p

你的 finaldata 用得怎么样啦? 应该不会这么快吧

如果出错的化,告诉哥哥出了什么错
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表