Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Scan disk for bad or near failure sectors, performs disk diagnostics
C C++ Python Other

DiskScan -- Scan HDD/SSD for failed and near failed sectors

Build Status

DiskScan is a Unix/Linux tool to scan a block device and check if there are unreadable sectors, in addition it uses read latency times as an assessment for a near failure as sectors that are problematic to read usually entail many retries. This can be used to assess the state of the disk and maybe decide on a replacement in advance to its imminent failure. The disk self test may or may not pick up on such clues depending on the disk vendor decision making logic.

diskscan vs. badblocks

badblocks is intended for a simple task, to find bad blocks in the media. diskscan is trying to say a lot more about the media, specifically it is trying not just to say where is a bad block but also what blocks are already deteriorated but still readable and also give information on the latency of reading each block which should help to give an overall assessment of the disk media.

In essence badblocks looks for fatal issues already happening and diskscan is for upcoming issues that can be fixed.

Also, badblocks is essentially obsolete in this day and age since the disks themselves will reallocate the data and there is no real need to map the bad blocks in the filesystem level anymore.


This project is using ninja-build you need to get ninja-build for your system, on Debian/Ubuntu it is as simple as: apt-get install ninja-build

A Makefile is provided to avoid learning the ninja commands and do the non-build stuff (install, etc.)


make install

You can control the DESTDIR when building packages and PREFIX if /usr is not right.


DiskScan is licensed under the GPL version 3 or later.

Something went wrong with that request. Please try again.