Is there a way to improve chkdsk performance in HDD?

0

1

I have a system which has 8 GB of RAM. While running chkdsk it takes quite a bit of time to complete. This is for external HDD. I know there are two options -

  1. Have an SSD, that should improve performance but with a weak/strong possibility of lesser read and write cycles at least on the lower end of the SSD range.

  2. Get more memory. This should improve the performance but I don't know how much as chkdsk appears to be a single threaded app which works serially. The only option might be have a large block size but don't know if it's possible, at least in Windows 10.

  3. There is also possibility of defragging the filesystem which should help chkdsk as well but dunno how good or bad this will be?

The reason to improve chkdsk is mani-fold. I know if it starts happening too often, its probable that the HDD is prone to failure more .

The performance I am seeking for is more for external HDD's than internal HDD's at this moment in time.

The options I use are chkdsk g: /f /x /r on a Windows 10 box. The external HDD is a Seagate Slim BUP 2 TB HDD with support for only USB 2.0.

Currently, it takes anywhere between 7-10 hours or even more to check the whole HDD. I dunno if it should take that much time.

shirish

Posted 2019-01-02T20:09:12.627

Reputation: 369

Why do you even need to run the full chkdsk so often, especially with Win10's NTFS having online scans and repairs? Daily scandisk used to be normal in the Win98 era, but definitely not these days. – user1686 – 2019-01-02T20:14:11.993

Why are you trying to improve the performance of CHKDSK? Are you wanting to do so for any disk you run checks on, or only a specific disk? What CHKDSK options are you using? Please don't reply in the comments. [Edit] your question with this information. – I say Reinstate Monica – 2019-01-02T20:31:47.647

@TwistyImpersonator done, updated. – shirish – 2019-01-02T20:34:41.557

Good, but please also answer my first question. – I say Reinstate Monica – 2019-01-02T20:36:10.880

I did, updated it again. – shirish – 2019-01-02T20:40:44.757

>

  • /r includes /f, so you don't need /f if you use /r. 2. It sounds like "performance" refers only to speed? You might want to add a clarification to the question because performance could also refer to how good a job it does. 3. The run time is affected by how bad the drive is. Corruption or bad sectors can require many rereads before it gives up on the area. That can add significant time if the drive is in bad shape.
  • < – fixer1234 – 2019-01-05T23:41:07.330

    Answers

    2

    It's about /r. This is what it means:

    /r Locates bad sectors and recovers readable information.

    (source)

    With this option chkdsk reads (tries to read) the entire space assigned to the filesystem (or the entire partition, I'm not sure, usually there's no difference). It's somewhat similar to badblocks in Linux. This takes time. Yes, it takes about 10 hours to read 2TB via USB 2.0 (which maximum speed is 60 MB/s; 2TB HDD is 2000000 MB, do the math).

    This option is useful when you suspect there may be bad sectors on the device. They are a hardware issue. If you run chkdsk only to fix/check filesystem inconsistency (i.e. invalid data on a healthy hardware) then you don't need /r.

    However if you're experiencing bad sectors (what does S.M.A.R.T. say?) and you do need /r so often then your HDD is probably dying.

    To make chkdsk take less time run it without /r or connect the disk via an interface that provides more bandwidth (if you can).

    Switching to SSD connected via the same USB 2.0 bottleneck will speed things up only because the SSD will probably be smaller. More RAM won't help you at all.

    Kamil Maciorowski

    Posted 2019-01-02T20:09:12.627

    Reputation: 38 429