TestDisk is a free and opensource, command-line data recovery tool that is used to recover data from deleted or lost partitions. Further, you can use it to revive non-bootable partitions which can be caused by factors such as accidental deletion of partition tables, and malware attacks to mention a few.
The command-line software was written in C programming languages by Christophe Granier and licensed under the GNU/GPLv2 license. TestDisk is a cross-platform tool and runs on almost any desktop operating system: Linux, Windows, macOS, FreeBSD, OpenBSD, and even NetBSD.
What Can TestDisk do?
TestDisk is a powerful, and lightweight software tool that comes with a myriad of data recovery applications as outlined below:
- TestDisk is able to repair a corrupt or damaged partition table.
- It can seamlessly recover a deleted disk partition.
- It restores files from Windows filesystems such as NTFS, FAT, FAT32, exFAT and ext2 Linux filesystem.
- It can copy files from deleted or corrupt Windows filesystems such as NTFS, FAT32, and exFAT and Linux partitions (ext2, ext3, and ext4).
- TestDisk can recover and rebuild the NTFS, FAT32 and FAT16 boot sectors from their backups.
- TestDisk can also repair corrupt FAT32 tables as well as the MFT by riding with the help of the MFT mirror.
In this article, we will show you how to install the TestDisk data recovery utility to recover an unbootable partition on Linux.
How to Install TestDisk on Linux
The package TestDisk is available to install from the default system repositories in most Linux distribution using the default package manager as shown.
Install TestDisk on Debian and Ubuntu
To start off, update the system packages and install TestDisk as shown.
$ sudo apt update $ sudo apt install testdisk
To verify that Testdisk is installed and display more information by running the following dpkg command.
$ sudo dpkg -l testdisk
Install TestDisk on RHEL and CentOS
To install TestDisk, first, enable EPEL repository and then install TestDisk as shown.
------------ On RHEL/CentOS 7 ------------ # yum install epel-release # yum update # yum install testdisk ------------ On RHEL/CentOS 8 ------------ # yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm # yum update # yum install testdisk
To verify that Testdisk is installed and display more information about the TestDisk tool run the following rpm command.
# rpm -qi testdisk
Install TestDisk on Fedora and Arch Linux
For Fedora systems run.
$ sudo dnf install testdisk
For Arch Linux run:
$ sudo pacman -S testdisk
If no suitable package is found for your Linux distribution, download TestDisk from its official site.
How to Run and Use TestDisk in Linux
Since testdisk is run from the command line, run the command below to display the partitions on your system.
# testdisk /list
Now, assume your Linux partition table is lost or corrupt. To restore the Linux partition using TestDisk first run.
# testdisk
Select ‘Create‘ and hit ENTER. This will display a list of partitions to choose from. In your case, your partitions will be different from what is displayed below.
Next, select the ‘Proceed‘ at the bottom to go on to the next options.
Your system will automatically detect the partition table type you are using. In my case, it is ‘Intel‘. Hit ENTER to continue.
In the next section, select the ‘Analyse‘ option for the testdisk utility to probe your partition structure.
If No bootable partition is found on the Disk, the error below will be printed.
Partition Start End Size in sectors No partition is bootable *=Primary bootable P=Primary L=Logical E=Extended D=Deleted [Proceed ]
Select ‘Proceed‘ option.
A list of available partitions will be displayed on the next screen. Hit ‘ENTER‘ to continue to the next screen.
Select the ‘write‘ option on the next screen. This option will trigger TestDisk to write on the partition table.
Next, press Y to confirm as shown below.
Write partition table, confirm ? (Y/N)
TestDsk will prompt you to reboot your system for the changes to take effect.
You will have to reboot for the change to take effect.
Select the OK option.
On the next screen select ‘Quit‘ to leave the menu and finally select ‘Quit‘ again to exit the TestDisk program.
All you have to do now is to reboot your system. If all went well, the new partition table should allow the system to boot normally.
Read Also: How to Recover Deleted Files Using TestDisk in Linux
Conclusion
TeskDisk is an ideal tool when you want to unerase data from corrupt partitions or revive unbootable partitions and get them to boot as expected. It supports a vast range of file systems and can work in any operating system: from Windows to Linux.
In this guide we illustrated how to recover an unbootable partition using TestDisk, however, the tool can be used for so much more!
What do I do when I install testdisk and see this at the end?
Running `brew cleanup testdisk`…
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`
I installed it on MacBook Apple Silicone.
I screwed up!
I intended to work exclusively with /dev/sdb (the second drive attached to my MSI PC which has a complicated layout with GRUB2 installed) and I was using “fdisk“. I think it might be a great idea to have a lock option on “fdisk” to restrict the write/save things to a specific drive unless you know for sure where you are writing the new partition layout.
I had been working on a recovery operation for several hours – when I made my mistake. So I removed the USB disk drive and plugged in a spare device – 256 GB SAMSUNG.
I was able to install the PenDrive software on it. The PenDrive installation software only runs under Windows but the resulting PenDrive is then bootable and supports whatever you have installed (by a selection tree).
There is a wide selection of things you can install from the internet. So I installed “Hirens” and “LXLE” and I am now writing this using the LINUX LXLE installed on my PenDrive
I did the install using the “apt” admin toolset as LXLE supports the “apt” command set. The system was able to download the “universe” if it was not installed earlier.
It needed to run ‘apt update‘ before you could run ‘apt install testdisk‘.
Right now I’m using SeaMonkey to browse the internet. The terminal service is called “Sakura“. Testdisk is running Analysis and is up to about 20% in its search. If I lose the whole drive due to this big MISTAKE I will learn from it, and backup ALL the drives partition layouts before I start FIXING things.
In SUMMARY – it was my mistake on my machine while working on producing a PenDrive on that USB3.1 SAMSUNG 256GB.
The USB backup solution would have been “so easy” to recover – I lost time and I lost my pride, but I keep learning.
Small Typo.
To verify that Testdisk is installed and display more information by running the following dpkg command.
You need a space between dpkg and
-l
.@Bob,
Thanks, corrected the command in the article..
Using “Synaptic Package Manager,” Testdisk installed very easily onto Debian 9. It was in the database.
If it “requires no installation whatsoever”, why all the installation instructions? Your article “How to Recover Deleted Files Using TestDisk in Linux” specifically instructs the user to use this article as a guide to INSTALL TestDisk before attempting to undelete lost files.
@Dragonmouth,
Check this article: How to Recover Deleted Files Using TestDisk in Linux
A quote directly from your article “How to Recover Deleted Files Using TestDisk in Linux”. Emphasis is mine.
“To use testdisk, you MUST have TestDisk installed on your Linux system using our article: How to Install and Use TestDisk Data Recovery Tool in Linux.”
A quote from the last line of the second paragraph in this article, again with my emphasis:
“It’s easy to use and REQUIRES NO installation whatsoever.”
There definitely is a contradiction between the two quotes. Which quote represents the true state of affairs?
@Dragonmouth,
Sorry, that was not correct, it was a mistake from author, corrected the article.
It seems to me it is a limited recovery tool as it needed to be installed in the faulty computer in order to recover data. Probably it would be better that this software was created to be installed in an external bootable device, such as a dvd or flash drive.
You ca always install TestDisk utility ahead of time just in case you lose a file and need to recover it. It does not take much disk space and may come in handy when you least expect it.