拯救数据--fdisk恢复损坏的分区表
2005-04-03 02:00
746 查看
今天用qemu试试fdisk能否无损坏合并分区,不成功,不过到是对fdisk分区有了了解
发现可以用fdisk恢复分区表,效果不错,十分有用的功能。分区表是很重要地 ^_^
发现可以用fdisk恢复分区表,效果不错,十分有用的功能。分区表是很重要地 ^_^
今天用qemu创建个虚拟硬盘,使用LiveCD尝试fdisk无损坏合并分区,首先用fdisk创建了9个分区,3主分区+1逻辑分区,使用 reisefs,ext3,一个swap.
hda5(cylinder:792-992)hda6(cylinder:993-1193)
均为ext3, 装满东东,再fdisk删除掉,合并在一起(cylinder:792-1193),
重新挂载.结果原hda5数据全部保留,没有hda6的,使用df查看,仍然只是hda5大小,看来fdisk无损坏合并linux分区是不行的,因为
linux的FS中是用超级块记录分区信息的,虽然合并了两个分区,但超级块无法改变,使用hda5的超级块,当然就只会有hda5的数据了。:(
不过发现可以用fdisk恢复损坏的分区表,再没有软驱,U盘等东东很有用。 ^_^
经常在论坛看到有人不慎损坏分区表,丢失重要数据的教训,都是没有备份的后果阿。。
在没有软驱,U盘情况下要分区,就可以用这个办法备份分区表,以防万一 :)
首先使用fdisk -l 查看当前分区表信息 :
[root@LFS ~]#fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 834 6699073+ b W95 FAT32
/dev/hda2 835 9729 71449087+ f W95 Ext'd (LBA)
/dev/hda5 835 3559 21888531 83 Linux
/dev/hda6 3560 6767 25768228+ 7 HPFS/NTFS
/dev/hda7 6768 8072 10482381 83 Linux
/dev/hda8 8073 8085 104391 83 Linux
/dev/hda9 8086 8525 3534268+ fd Linux raid autodetect
/dev/hda10 8526 9403 7052503+ 83 Linux
/dev/hda11 9404 9468 522081 82 Linux swap / Solaris
/dev/hda12 9469 9729 2096451 fd Linux raid autodetect
Disk /dev/md0: 5765 MB, 5765660672 bytes
2 heads, 4 sectors/track, 1407632 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md0 doesn't contain a valid partition table
[root@LFS ~]#
记下每一个分区的Start cylinders---End cylinders
hda1 1-834 hda2 835-9729(extend) hda5 835-3559 (logical) .......
用什么记? 当然是纸啦。
如果很不幸分区失败,分区表被损坏,用fdisk按照记下的信息重写整个分区表就可以恢复了。
以前一直用cfdisk分区,今天发现fdisk基本操作也是很简单的,还比cfdisk快。
还不会用?快找个虚拟机练练吧!
这里我做了两个实验,如上所说,在虚拟硬盘上分了9个分区,然后又用PQ8.0删除掉所有分区,使用fat32重新格式化整个硬盘:
第一次在PQ进行其间退出qemu,再用fdisk -l查看分区表已经显示为fat32了
删除掉,按照记好的信息写回原先的分区表,hda5无法正常挂载,运行e2fsck,一路y后,就OK了。所有分区数据完全没有损坏。
第二次让PQ顺利完成操作,fdisk -l查看仍然显示为fat32,恢复后,除hda1,其余分区数据无任何损坏。
挂载hda1是以fat32挂载,df查看,hda1显示整个硬盘空间。e2fsck -b 8193 用hda1中备份的超级块恢复.
能检查出错误,一路y后仍然无效果。只能重新mke2fs -j /dev/hda1,恢复hda1正常分区信息
我想应该是因为第一次PQ还没有格式化成fat32,所以fdisk恢复后,数据无损坏
第二次格式化成fat32,结果hda1被损坏,但其他分区数据仍然完好。
可以看出,只有再没有创建文件系统(格式化)的情况下才可以使用fdisk恢复分区表。
实验完毕 ^_^
Good Luck !
hda5(cylinder:792-992)hda6(cylinder:993-1193)
均为ext3, 装满东东,再fdisk删除掉,合并在一起(cylinder:792-1193),
重新挂载.结果原hda5数据全部保留,没有hda6的,使用df查看,仍然只是hda5大小,看来fdisk无损坏合并linux分区是不行的,因为
linux的FS中是用超级块记录分区信息的,虽然合并了两个分区,但超级块无法改变,使用hda5的超级块,当然就只会有hda5的数据了。:(
不过发现可以用fdisk恢复损坏的分区表,再没有软驱,U盘等东东很有用。 ^_^
经常在论坛看到有人不慎损坏分区表,丢失重要数据的教训,都是没有备份的后果阿。。
在没有软驱,U盘情况下要分区,就可以用这个办法备份分区表,以防万一 :)
首先使用fdisk -l 查看当前分区表信息 :
[root@LFS ~]#fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 834 6699073+ b W95 FAT32
/dev/hda2 835 9729 71449087+ f W95 Ext'd (LBA)
/dev/hda5 835 3559 21888531 83 Linux
/dev/hda6 3560 6767 25768228+ 7 HPFS/NTFS
/dev/hda7 6768 8072 10482381 83 Linux
/dev/hda8 8073 8085 104391 83 Linux
/dev/hda9 8086 8525 3534268+ fd Linux raid autodetect
/dev/hda10 8526 9403 7052503+ 83 Linux
/dev/hda11 9404 9468 522081 82 Linux swap / Solaris
/dev/hda12 9469 9729 2096451 fd Linux raid autodetect
Disk /dev/md0: 5765 MB, 5765660672 bytes
2 heads, 4 sectors/track, 1407632 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk /dev/md0 doesn't contain a valid partition table
[root@LFS ~]#
记下每一个分区的Start cylinders---End cylinders
hda1 1-834 hda2 835-9729(extend) hda5 835-3559 (logical) .......
用什么记? 当然是纸啦。
如果很不幸分区失败,分区表被损坏,用fdisk按照记下的信息重写整个分区表就可以恢复了。
以前一直用cfdisk分区,今天发现fdisk基本操作也是很简单的,还比cfdisk快。
还不会用?快找个虚拟机练练吧!
这里我做了两个实验,如上所说,在虚拟硬盘上分了9个分区,然后又用PQ8.0删除掉所有分区,使用fat32重新格式化整个硬盘:
第一次在PQ进行其间退出qemu,再用fdisk -l查看分区表已经显示为fat32了
删除掉,按照记好的信息写回原先的分区表,hda5无法正常挂载,运行e2fsck,一路y后,就OK了。所有分区数据完全没有损坏。
第二次让PQ顺利完成操作,fdisk -l查看仍然显示为fat32,恢复后,除hda1,其余分区数据无任何损坏。
挂载hda1是以fat32挂载,df查看,hda1显示整个硬盘空间。e2fsck -b 8193 用hda1中备份的超级块恢复.
能检查出错误,一路y后仍然无效果。只能重新mke2fs -j /dev/hda1,恢复hda1正常分区信息
我想应该是因为第一次PQ还没有格式化成fat32,所以fdisk恢复后,数据无损坏
第二次格式化成fat32,结果hda1被损坏,但其他分区数据仍然完好。
可以看出,只有再没有创建文件系统(格式化)的情况下才可以使用fdisk恢复分区表。
实验完毕 ^_^
Good Luck !
相关文章推荐
- 怎么恢复损坏后U盘中的数据
- 拿什么拯救你,因硬盘故障丢失的数据!(内附恢复神器)
- usb, micro-usb card 损坏, 数据恢复
- 硬盘损坏数据还能恢复吗?
- 三星硬盘ST640LM001硬盘敲盘打盘不识别磁头ROM损坏开盘恢复数据
- thinkserer TD350 系统损坏后,数据恢复及系统重做过程
- 北亚V7000数据恢复案例_存储文件系统损坏
- oracle9i回滚段表空间数据文件损坏或丢失后的恢复方法
- 文件或目录损坏且无法读取 恢复数据方法 RAW
- 非系统数据文件损坏,rman备份恢复
- 数据库页已标记为 RestorePending,可能表明磁盘已损坏。要从此状态恢复,请执行还原操作。
- Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
- 归档模式下有备份数据文件损坏的完全恢复-1
- 系统损坏,移植Oracle(9.2.0.1)数据库(无备份数据文件进行恢复)
- ghost后分区丢失如何恢复数据-分区表医生!
- 恢复linux reiserfs文件系统损坏丢失的数据
- Sql Anywehre(ASA) .db数据库断电损坏数据恢复成功
- Mysql ibdata 丢失或损坏如何通过frm&ibd 恢复数据
- oracle数据恢复案例 - 控制文件损坏,无备份
- SQLServer2005数据库日志文件损坏的情况下如何恢复数据库