How to check disk health in Windows

For high level guidance on how to perform an overall hardware health check of a Windows machine, refer to the following KB article: https://stefanos.cloud/kb/how-to-perform-hardware-health-checks-in-windows/.

Case

You need to either proactively check the disk health and integrity in any Windows based computer as part of period maintenance or resolve disk-related issues.

Solution

The following tools can be used to check disk health in any Windows-based system.

  • chkdsk. Documentation is available at: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/chkdsk
  • sfc /scannow. Documentation is available at: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/sfc
  • DISM /Online /Cleanup-Image /ScanHealth. Documentation is available at: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/deployment-image-servicing-and-management–dism–command-line-options.
  • In case a restoration of the component store is required with DISM, then the following command can be used. This assumes that you have a healthy computer with same Windows operating system version, whose C:\Windows folder can be made accessible via SMB share.
    DISM /Online /Cleanup-Image /RestoreHealth /Source:\\UNCPathToWindowsCleanSystemFolder[C:\Windows] /LimitAccess

An alternative DISM restoration option is to run the following command. This assumes that you have generated the Windows iso image and that you have mounted the image to computer which is accessible by the computer having the issue (locally or via SMB share). You can create the ISO file by using the Microsoft media creation tool for Windows 10 or Windows 11.

#First get image info to ensure that you are using the correct wim image index for your DISM restore health operation. 
DISM /Get-ImageInfo /ImageFile:[ISO_FILE_PATH] [/Index:image_index]
DISM /Online /Cleanup-Image /RestoreHealth /Source:wim:E:\Sources\install.wim:1 /LimitAccess

Last but not least, always review the sfc.exe log file (CBS.log, which is located at %windir%\logs\cbs\cbs.log), to ensure that you understand the root cause of any errors found. You can review the whole file or run the command below to search for [SR] tags only.

findstr /c:"[SR]" %windir%\logs\cbs\cbs.log >sfcdetails.txt

There are known cases in which errors in the sfc.exe /scannow check do not necessarily mean there is an issue (false flags), such as the cases below:

Finally, there are more third party tools available for checking the health of your disk, either HDD or SSD. You should first refer to your disk manufacturer for any diagnostic and health check tools available by them. One generic disk health check tool example is CrystalDiskInfo: https://crystalmark.info/en/software/crystaldiskinfo/.

Was this article helpful?

Related Articles