您的位置:首页 > 其它

拯救数据--fdisk恢复损坏的分区表

2005-04-03 02:00 746 查看
今天用qemu试试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 !
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: