How to easily find disks with read / write errors in Windows
Last updated
Last updated
If you suspect a hard drive in your computer may be failing with disk read/write errors, these errors are usually logged in the Windows Event Viewer. Here the common Event IDs we see related to failing disks:
To speed up the process of locating disks with bad blocks or other issues, you can use PowerShell to quickly filter all events, displaying only the ones we want.
We can use the Get-WinEvent cmdlet to dump all the Event Viewer events with ID 7, 11, and 51 that are level 2 or higher (error and critical)
Open PowerShell and run the command: Get-WinEvent -FilterHashtable @{LogName='System'; ID=@(7,11,51); Level=1,2} | Format-List -Property *
If there are any events with the ID 7, 11, 51 of level 2 or higher they will be printed on the screen.
Another common method of identifying disk read errors in Windows is to use the Performance Monitor.
Open Performance Monitor by typing "perfmon
" in the Start menu search bar, and then click on "Performance Monitor" in the search results.
Click on the "+" button to add a new counter, select the "PhysicalDisk
" performance object, choose the disk you want to monitor, and select the "Disk Read Bytes/sec
" and "Disk Reads/sec
" counters.
Run a backup and watch the counters, If either of these counters show consistently high values, it could indicate disk read errors.
You can use the chkdsk
command with the /r
option to check for disk errors during boot time. The /r
option tells chkdsk
to locate bad sectors and recover readable information, which can help fix disk errors. Run ChkDsk at your own risk.
chkdsk
command:Open the Command Prompt as an administrator by right-clicking on the Start menu and selecting "Command Prompt (Admin)".
In the Command Prompt window, type the following command and press Enter:
chkdsk C: /r
Note: Replace "C:" with the drive letter of the disk you want to check.
You will be prompted to schedule the check for the next time you restart your computer. Type "Y" and press Enter.
Restart your computer to initiate the boot-time chkdsk
scan. The scan will run before Windows starts up.
During the scan, chkdsk
will check for disk errors and attempt to repair any that it finds. The scan may take a while to complete, depending on the size and health of the disk.
Once the scan is complete, Windows will start up as normal. You can check the Event Viewer or the chkdsk
log file to see if any disk errors were detected and fixed.
You use the Get-WinEvent
cmdlet in PowerShell to quicky check for any disk errors that were detected and fixed during the chkdsk
scan.
Command:Get-WinEvent -FilterHashtable @{LogName='Application', 'System'; ID=26214,26215,26228,26229,1001,1002} -MaxEvents 10 | Format-List -Property *
This will retrieve the 10 most recent events from both the Application and System logs with the specified event IDs. The example event IDs used in this command are what we normally see for disk errors generated during a chkdsk
scan. It may not be a complete list.
There are some third-party disk diagnostic tools available that can check for disk read errors, such as CrystalDiskInfo, HD Tune, and SeaTools. One of these tools could be installed an run to check for disk errors.