热门文章
· 硬盘坏道的发现与修复
· 不要担心 文件无法删除的解
· 电脑黑屏怎么处理
· 电脑蓝屏的解决方法
· 硬盘维护知识
· 硬盘的盘面、磁道、柱面和扇
· 硬盘坏道怎么修复
· 数据丢失后注意事项
· 硬盘的主要构成部分
· 文档修复的正确理解
· 为什么硬盘不认盘?
· 造成数据丢失的硬盘故障
· 良好习惯使用U盘保护U盘数
· 丢失数据后应该注意什么?
· 硬盘故障检测维修常识
· C盘几种重要文件的完全备份
· 解析硬盘技术--接口技术
· 硬盘接口与发展
· 硬盘不能承受的误操作
· 镜像磁盘的概念是什么
数据恢复首页 > 技术文章 > Linux下恢复硬盘分区数据 无锡维数数据恢复

Linux下恢复硬盘分区数据 无锡维数数据恢复


发布时间: 2011-11-9 12:46:59 来源:

在Linux下删除操作,想安装oracle数据库,整理硬盘的时候用fdisk重新划分分区,我的硬盘分区表是这样的:

  QUOTE:# fdisk -l /dev/hda

  Disk /dev/hda: 82.3 GB, 82348277760 bytes 255 heads, 63 sectors/track, 10011 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot StartEnd BlocksId System /dev/hda1 * 1 10448385898+7 HPFS/NTFS C:/dev/hda2 1045 1057104422+83 Linux /boot /dev/hda3 1058 1249  154224082 Linux swap /dev/hda4 1250 10011 70380765f W95 Ext'd (LBA)

  /dev/hda8 1250 20326289384+83 Linux /usr /dev/hda9 2033 2293209645183 Linux /tmp /dev/hda10 2294 2554209645183 Linux /var /dev/hda11 2555 27461542208+83 Linux / /dev/hda12 2747 30462409718+83 Linux /home /dev/hda5 3047 31891025860+83 Linux not used /dev/hda6 3190 33802048108+83 Linux not used /dev/hda7 3381 36702048108+83 Linux not used /dev/hda13 36716287 21021021b W95 FAT32 D:/dev/hda14 62881001129912998+b W95 FAT32 E:

  想把第5、6、7分区删除然后重新建立两个分区,分别安装oracle数据库程序文件和数据库文件,我用fdisk是这样操作的:

  QUOTE:# fdisk /dev/hda

  The number of cylinders for this disk is set to 10011. There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)

  2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)

  Command (m for help): d Partition number (1-13): 5

  Command (m for help): d Partition number (1-12): 6

  Command (m for help): d Partition number (1-11): 7

  Command (m for help): w

  退出fdisk后才发现删错了,竟然把第5、7、9分区删除了!其中hda9共28G,里面存了好多有价值的东西,难受死我了!这才想起来fdisk在每一次删除分区后都会自动把后面的分区重新排序,即:删除第5分区时,第6分区变成5,第7分区成为6……

  天无绝人之路:刚刚把hda的分区表备份了,并且放到了其它分区!也没有细想,把那个备份拿过来就开始恢复硬盘分区:

  QUOTE:#dd if=hda-2006-03-21.mbr of=/dev/hda bs=512 count=1 #reboot

  重启电脑用fdisk再看分区表——没有效果!

  怎么回事?从分区表开始想——太简单了——分区表只有512字节,其中只有64字节存储分区信息,开始的时候硬盘容量很小,64字节够用了,后来随着硬盘空间增大显得不够了,因此开始有了扩展分区,而我删除的分区正好都在扩展分区内!恢复mbr肯定是不行的了!

  从硬件管理器盯着我的hda看,发现我删除的分区都是几个独立的空间,就想能不能重新建立我的逻辑分区表来恢复分区内容呢

  QUOTE:# fdisk /dev/hda

  The number of cylinders for this disk is set to 10011. There is nothing wrong with that, but this is larger than 1024,and could in certain setups cause problems with:1) software that runs at boot time (e.g., old versions of LILO)

  2) booting and partitioning software from other OSs(e.g., DOS FDISK, OS/2 FDISK)

  Command (m for help): n First cylinder (3047-10011, default 3047):Using default value 3047 Last cylinder or +size or +sizeM or +sizeK (3047-3189, default 3047):Using default value 3047

  Command (m for help): n First cylinder (3381-10011, default 3670):Using default value 3670 Last cylinder or +size or +sizeM or +sizeK (3381-3670, default 3670):Using default value 3670

  Command (m for help): n First cylinder (6288-10011, default 628:Using default value 6288 Last cylinder or +size or +sizeM or +sizeK (6288-10011, default 10011):Using default value 10011

  Command (m for help): t Partition number (1-14): 14 Hex code (type L to list codes): b

  Command (m for help): w

  接下来该干什么呢?按照常规应该是mkfs.vfat啦!可是为什么呢?如果只是建立分区表来恢复数据,那么这么做不就是重新建立文件分配表了吗?!绝对不行!

  QUOTE:#mount -t vfat -o iocharset=utf8 /dev/hda14 /mnt/tmp/ #cd /mnt/tmp/ #ls

  重新看到文件。

  重新启动电脑进入windows也看到了分区E:,里面的东西也是完好无损的!

 
电话:0510-82732158 13812019989(24小时客服)     地址:无锡市人民西路45号梦之岛数码港金惠大厦17楼1715室
© 2012 All Rights Reserved by 无锡维数数据恢复中心