免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3090 | 回复: 0
打印 上一主题 下一主题

[RAID与磁盘阵列] TestDisk 找回丢失的硬盘分区表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-03 14:09 |只看该作者 |倒序浏览

分区表丢失
早晨启动笔记本,被告知未找到操作系统,有点心惊,用Linux 启动U盘引导系统,查看我的主硬盘设备:fdisk -l /dev/sda ,找不到任何分区,应该是分区表丢了,原因不知道。
从前使用Windows 软件FinalData 恢复过被快速格式化甚至重新分过区的硬盘数据,于是把硬盘拆下,装在第二块硬盘托架内,借了台thinkpad,装了FanalData,但发现它只能恢复文件,不能恢复分区表,而且对Linux 分区数据也无能为力。
恢复分区表
在尝试易我分区表医生未果之后,Google到这篇文章:
介绍一个 GPL 的分区表修复工具 TestDisk | BT的花
,找到
TestDisk
,下载了Windows 版,先读了一遍Using TestDisk 下面的文档,然后开始对故障硬盘进行Analyse ,但经过Deeper Search 之后,仅仅找前三个主分区,位于Windows 扩展分区内的两个对我而言最重要的逻辑分区未找到。记起帮助文档中介绍
Geometry
下面可以调整柱面(C)、磁道(H)、扇区(S)、扇区size(SS)等参数,目前设定为:9730、255、63、512,将Head修改为240 (柱面数没有进行修改,TestDisk会自动读取剩余的柱面,如果需要计算的话,SS 不变,应该满足:new_C=9730*255/240),再次执行Analyse,TestDisk读出了所有的分区信息!
使用p 命令可以列出每个分区上的文件,经过仔细确认,分区信息无误之后,执行写入分区表。
修复MBR grub
装回硬盘,启动,屏幕左上角出现了几个字母后停住,估计是MBR grub 损坏,从U盘引导,mount 主硬盘的/boot 分区,进入/boot/grub 目录,执行grub,重新写入主硬盘MBR:
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

再次硬盘启动成功,进入系统,所有分区数据访问正常。
后记
如果有分区表备份,在这种情况下,可以使用Linux fdisk 按照原来的起止柱面,直接建立原类型分区,数据也同样可以找到。
看来备份分区表很重要,可以添加这样一条命令到crontab,来备份最近7天的分区表信息(还应该有机制自动将备份文件mail 出去或者同步到移动存储器,也可以scp 到本地硬盘以外的主机):
00 12 * * * fdisk -l > ~/.pt_backup_$(date '+%Y%m%d'); find ~ -name ".pt_backup_*" -mtime +7 -exec rm -f {} \;
TestDisk Windows 版本在系统安装有cygwin 的情况下,启动出错,大概是因为系统中的cygwin1.dll 版本更新,删除了TestDisk 解压目录中的cygwin1.dll 之后可正常启动TestDisk。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93831/showart_2044745.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP