Take the 2-minute tour ×

I'm running badblocks (or rather "e2fsck -c") on a 1TB drive and if the progress indicator is any indication (no pun intended), it's going to take almost forever to complete.

Right now it says 0.01% done, 30:20 elapsed which would mean the thing would take 17 weeks or so to complete, which seems rather excessive in my book.

Is that a normal amount of time for such a check to take or it simply that my suspicions are correct in that the drive is failing, thus causing the check to take only slightly shorter than eternity?

I found this question here, but that pertains to the amount of passes done.

share|improve this question
It almost certainly depends on the interface, the drive, and how bad the drive is, if there is actually any failures. I can tell you on one of my computers a badblocks scan took ~70 hours for a 1.5TB drive attached through SATA. If you where connected via USB2.0, or 1.0 it would be far longer. –  Zoredache Feb 2 '11 at 0:38
It is attached using e-SATA. I suppose I'll just give it a while and see how far along it is after a good night's sleep. –  Steven Don Feb 2 '11 at 0:43
@Zoredache - I think your comment should be an answer instead. –  Nifle Feb 2 '11 at 6:02
In addition to Zoredache's comment above, different switches to badblocks cause it to perform different tasks, which will also affect runtimes, for example the -w switch. –  JeffG Mar 7 '11 at 17:58
The time required would (also) depend on the mode badblocks is running in: read-only, non-destructive read-write or destructive read-write. Having said that, 30 minutes for 0.1% does seem long. –  SabreWolfy Jun 22 '12 at 14:10

3 Answers 3

Badblocks makes 4 runs. On a 1 TB external HD it usually takes around 70 hours.

share|improve this answer
For completeness, badblocks (only) defaults to four runs with the -w destructive-write flag. –  SabreWolfy Jun 22 '12 at 14:09

To answer you question, the closest I can offer is with a 3TB I tested for this. Here are the 3 timed tests I did, only changing the paramater values for -c and only doing them up to 10% since they took A LOT of time. Each was done 3 times to get an average.

badblocks -svn /dev/sdb

To get to 1%: 1 Hour
To get to 10%: 8 hours 40 minutes

badblocks -svn -b 512 -c 32768 /dev/sda

To get to 1%: 35 Minutes
To get to 10%: 4 hours 10 minutes

badblocks -svn -b 512 -c 65536 /dev/sda

To get to 1%: 16 Minutes
To get to 10%: 2 hours 35 minutes

So yes, the -c parameter has a very big influence on the time it takes to check the drive. I would guess that for a 1 TB Hard drive, assuming it maintains the same time frame as the 3TB, it would be 1/3 of the time mentioned here, so to get to 10% with -c 65536 on the 1 TB HDD it would be about 50 minutes.

share|improve this answer

Try increasing amount of blocks processed together, like in badblocks -svn -b 512 -c 65536 /dev/sda. In this way, I can get a 1 TB hard disk drive checked in 8 hours.

share|improve this answer

Your Answer


