linux下超帅的分区表修复软件.以前用过n多的windows的分区表修复软件,没想到linux中有这么好用这么方便的修复软件,速度那叫一个快啊..没有见到这个分区表修复软件以前我都白活了….. wget http://www.cgsecurity.org/testdisk-6.13.linux26.tar.bz2 tar -xjvf testdisk-6.13.linux26.tar.bz2 cd testdisk-6.13 ./testdisk_static 好了,这个软件叫testdisk.很帅的.. 如果你是使用修复光碟,就下载一个这个软件到电脑中,如果是恢复usb的disk直接 #sudo apt-get install testdisk 使用的话先sudo testdisk 1.选择Create来进行分析 Use arrow keys to select, then press Enter key: [ Create ] Create a new log file [ Append ] Append information to log file [ No Log ] Don’t record anything 2.然后选择testdisk中你要修复的硬盘,回车 Select a media (use Arrow keys, then press Enter): Disk /dev/sda – 160 GB / 149 GiB – ATA HITACHI HTS54251 Disk /dev/sdb – 3272 MB / 3121 MiB – SM324BC USB DISK 3.选择testdisk修复的平台,我们是Intel的,所以选择他 Please select the partition table type, press Enter when done. [Intel ] Intel/PC partition [EFI GPT] EFI GPT partition map (Mac i386, some x86_64…) [Mac ] Apple partition map [None ] Non partitioned media [Sun ] Sun Solaris partition [XBox ] XBox partition [Return ] Return to disk selection 4.使用testdisk分析,现在选择Analyse进行分析 [ Analyse ] Analyse current partition structure and search for lost partitions [ Advanced ] Filesystem Utils [ Geometry ] Change disk geometry [ Options ] Modify options [ MBR Code ] Write TestDisk MBR code to first sector [ Delete ] Delete all data in the partition table [ Quit ] Return to disk selection 5.见到了没,基本所有的分区都出来了,直接回车就好了,默认直接回车是快速扫描. *=Primary bootable P=Primary L=Logical E=Extended D=Deleted [Quick Search] [ Backup ] 然后因为没用vista,所以选择n. Should TestDisk search for partition created under Vista ? [Y/N] (answer Yes if unsure) N 6.进入,见到你的表区表了吧. Disk /dev/sda – 160 GB / 149 GiB – CHS 19457 255 63 Partition Start End Size in sectors * HPFS – NTFS 0 1 1 1567 254 63 25189857 L FAT32 LBA 1568 2 1 5097 254 63 56709324 [NO NAME] L Linux Swap 5098 1 1 5221 254 63 1991997 L Linux 5222 1 1 7298 254 63 33366942 L Linux 7299 1 1 19456 254 63 195318207 Structure: Ok. Use Up/Down Arrow keys to select partition. Use Left/Right Arrow keys to CHANGE partition characteristics: *=Primary bootable P=Primary L=Logical E=Extended D=Deleted Keys A: add partition, L: load backup, T: change type, P: list files, Enter: to continue NTFS, 12 GB / 12 GiB 你还可以按p进入一下,看看文件是不是你想要的那些,然后下面会显示文件系统多大,什么系统. 我进入到这个地方时,基本找出来了,不需要在修改什么了,如果和你的分区不一样,那可能还需要使用Deeper search的功能.我的成功修复了,所以直接按write直接进行写到分区表中修复.

ext3grep工具恢复删除数据

twin0532 机器,由于开发rm -rf /*导致所有数据丢失,经使用ext3grep工具恢复,测试ext3文件系统环境下:

早上机器信息,得知os 版本as5.2 Linux twin0532 2.6.18-128.7.1.el5PAE #1 SMP Wed Aug 19 04:07:32 EDT 2009 i686 i686 i386 GNU/Linux ,分区信息:

Filesystem Size Used Avail Use% Mounted on /dev/sda1 67G 58G 5.8G 91% / /dev/sda3 186G 54G 123G 31% /usr/local tmpfs 2.0G 0 2.0G 0% /dev/shm /dev/sdb1 133G 74G 53G 59% /data Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda1 17924096 233549 17690547 2% / /dev/sda3 50102272 30140 50072132 1% /usr/local tmpfs 218344 1 218343 1% /dev/shm /dev/sdb1 35848192 1306 35846886 1% /data 

于是

yum -y install e2fsprogs-libs e2fsprogs-devel e2fsprogs

wget https://ext3grep.googlecode.com/files/ext3grep-0.10.2.tar.gz

tar -xzvf ext3grep-0.10.2.tar.gz

cd ext3grep-0.10.2 && ./configure 

make && make install

ext3grep /dev/sde1 --ls --inode 2

于是检索出当前能够识别的目录

恢复全部分区文件,恢复文件自动保存在当前目录的RESTORED_FILES下面

ext3grep /dev/sde1 -restore-all

ext3grep /dev/sde3 -restore-all

cd /data1/RESTORED_FILES

 ext3grep /dev/sdf1  --restore-all 经测试并不能够恢复部分数据

sda数据全部在/data1/RESTORED_FILES 目录

sdb 数据能够恢复的在/data2/RESTORED_FILES目录

ext3grep /dev/sdf1 --ls --inode 2|tee -a sdf1_filename.txt 可以扫描当前能够识别的文件 及目录

注:

1.数据不能够保证100%能够恢复,ext3grep工具原来只在ext3系统中测试过恢复过,有原来的目录结构

2.testdisk能够恢复硬盘分区表,但对于文件来说,恢复出来的文件名称都不一样,没有原来的目录结构

恢复的前提是删除数据及删除分区表后没有再重写文件或者新写入分区信息等,如大家在数据恢复中,有其它经验请再完善,谢谢!