Just out of curiosity, I wanted to try run a CHKDSK at boot time of a non-system disk.
The trick appears to be to ensure something locks the drive. An easy way to do that is have a command prompt open inside a directory on that drive.
The below example show just that: a regular command prompt locking the E: drive and an administrative command prompt scheduling the check at boot time:
In text
Regular command prompt:
Microsoft Windows [Version 10.0.15063] (c) 2017 Microsoft Corporation. All rights reserved. C:\Users\jeroenp>e: E:\>cd $RECYCLE.BIN E:\$RECYCLE.BIN>
Administrative command prompt:
C:\WINDOWS\system32>chkdsk /R /F E: The type of the file system is NTFS. Chkdsk cannot run because the volume is in use by another process. Chkdsk may run if this volume is dismounted first. ALL OPENED HANDLES TO THIS VOLUME WOULD THEN BE INVALID. Would you like to force a dismount on this volume? (Y/N) n Chkdsk cannot run because the volume is in use by another process. Would you like to schedule this volume to be checked the next time the system restarts? (Y/N) y This volume will be checked the next time the system restarts. C:\WINDOWS\system32>
–jeroen