Cheap VPS & Xen Server


Residential Proxy Network - Hourly & Monthly Packages

Data Recovery With TestDisk


TestDisk is a powerful free data recovery software which was primarily designed to help recover lost partitions and/or make non-booting disks bootable again when these symptoms are caused by faulty software, certain types of viruses or human error (such as accidentally deleting your partition table). TestDisk is available for lots of operating systems, including Linux, Windows, and MacOS, and supports lots of filesystems.

This article is meant as a short introduction to TestDisk; if you want to learn more about TestDisk and what it can do for you, you should refer to the TestDisk documentation.

I do not issue any guarantee that this will work for you!

 

1 Getting TestDisk

TestDisk is available as a package for lots of Linux distributions, e.g. Debian/Ubuntu, Fedora, Mandriva, etc (a full list can be found on http://www.cgsecurity.org/wiki/TestDisk_Livecd). On Debian/Ubuntu you’d run

apt-get install testdisk

to install it.

If there’s no package for your distribution, you can download TestDisk from http://www.cgsecurity.org/wiki/TestDisk_Download.

A better way to use TestDisk is to download a Linux Live-CD that contains TestDisk, such as GParted or Knoppix (a full list of Live-CDs can again be found on http://www.cgsecurity.org/wiki/TestDisk_Livecd), because it doesn’t help if TestDisk is installed on a system that doesn’t boot anymore due to partition errors…

 

2 Using TestDisk

TestDisk can be run from the command line.

testdisk /list

gives you a list of your partitions:

server1:~# testdisk /list
TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Please wait…
Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63, sector size=512

Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63
Partition                  Start        End    Size in sectors
1 * Linux                    0   1  1  3869 254 63   62171487
2 E extended              3870   0  1  3915 254 63     738990
5 L Linux Swap            3870   1  1  3915 254 63     738927

Now let’s assume we have lost our partition table and want to restore it. To use TestDisk, just run

testdisk

It is a menu-driven tool, so this is what you’ll see (I’ll mark my selections in red):

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

TestDisk is a data recovery designed to help recover lost partitions
and/or make non-booting disks bootable again when these symptoms
are caused by faulty software, certain types of viruses or human error.
It can also be used to repair some filesystem errors.

Information gathered during TestDisk use can be recorded for later
review. If you choose to create the text file, testdisk.log , it
will contain TestDisk options, technical information and various
outputs; including any folder/file names TestDisk was used to find and
list onscreen.

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

<– Create

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

TestDisk is free software, and
comes with ABSOLUTELY NO WARRANTY.

Select a media (use Arrow keys, then press Enter):
Disk /dev/sda – 32 GB / 29 GiB

[Proceed ]  [  Quit  ]

Note: Disk capacity must be correctly detected for a successful recovery.
If a disk listed above has incorrect size, check HD jumper settings, BIOS
detection, and install the latest OS patches and disk drivers.

<– Proceed

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda – 32 GB / 29 GiB

Please select the partition table type, press Enter when done.
[Intel  ]  Intel/PC partition
[Mac    ]  Apple partition map
[None   ]  Non partioned media
[Sun    ]  Sun Solaris partition
[XBox   ]  XBox partition
[Return ]  Return to disk selection

Note: Do NOT select ‘None’ for media with only a single partition. It’s very
rare for a drive to be ‘Non-partitioned’.

<– Intel

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63

[ 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

Note: Correct disk geometry is required for a successful recovery. ‘Analyse’
process may give some warnings if it thinks the logical geometry is mismatched.

<– Analyse

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63
Current partition structure:
Partition                  Start        End    Size in sectors
No partition is bootable

*=Primary bootable  P=Primary  L=Logical  E=Extended  D=Deleted

[Proceed ]
Try to locate partition

As you see, no bootable partitions have been found. Select

<– Proceed

to continue. On the next screen TestDisk will show you the partitions it has found:

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63
Partition               Start        End    Size in sectors
* Linux                    0   1  1  3869 254 63   62171487
L Linux Swap            3870   1  1  3915 254 63     738927

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
EXT3 Large file Sparse superblock Recover, 31 GB / 29 GiB

<– ENTER

On the next screen we select Write to write our new partition table (computed by TestDisk from the partitions it has just found) to the hard drive:

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63

Partition                  Start        End    Size in sectors
1 * Linux                    0   1  1  3869 254 63   62171487
2 E extended LBA          3870   0  1  3915 254 63     738990
5 L Linux Swap            3870   1  1  3915 254 63     738927

[  Quit  ]  [Search! ]  [ Write  ]
Write partition structure to disk

<– Write

Confirm by typing in Y:

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Write partition table, confirm ? (Y/N)

<– Y

TestDisk tells you that you must reboot for the changes to take effect:

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

You will have to reboot for the change to take effect.

[Ok]

<– Ok

Select Quit on the next screen:

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda – 32 GB / 29 GiB – CHS 3916 255 63

[ 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

Note: Correct disk geometry is required for a successful recovery. ‘Analyse’
process may give some warnings if it thinks the logical geometry is mismatched.

<– Quit

Select Quit again to finally leave TestDisk:

TestDisk 6.5, Data Recovery Utility, October 2006
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

TestDisk is free software, and
comes with ABSOLUTELY NO WARRANTY.

Select a media (use Arrow keys, then press Enter):
Disk /dev/sda – 32 GB / 29 GiB

[Proceed ]  [  Quit  ]

Note: Disk capacity must be correctly detected for a successful recovery.
If a disk listed above has incorrect size, check HD jumper settings, BIOS
detection, and install the latest OS patches and disk drivers.

Quit program

<– Quit

We have now left TestDisk and are back on the shell. All we have to do now is reboot the system (remove any CDs/DVDs from the CD/DVD drive), and if everything goes well, the original system should boot thanks to our new partition table.

 

  • TestDisk: http://www.cgsecurity.org/wiki/TestDisk

 

Comments

comments