1

I have a system with multiple partitions, both Windows and Linux. The problem is, during startup windows tries to run autochk on every partition possible (including ext4 and such, those it sees as RAW).

I know, that one may exclude disk/partition from autochk by modifying registry value BootExecute, yet all the solutions I've seen require to specify excluded partition letter. While this is appropriate for FAT and NTFS partitions, Linux partitions do not have any letter assigned to them, which means, I cannot specify them as autochk exclusions.

So, the question is, how one may disable autochk for all drives in the system altogether? Or, in case autochk cannot be turned off completely, disable it for partitions with no drive letters.

Update: Actually, one may just remove autocheck autochk * from BootExecute without any problem. In case of multiple Linux partitions it will drastically speed up boot time (especially if OS is located on SSD). In that case, though, manual checkups should be performed from time to time.

2
  • In case of removing autocheck autochk *, it is still recommended to increase AutoChkTimeout value from default 1 to, say, 5 as it gives the opportunity to cancel disk checking.
    – GCRaistlin
    Nov 23, 2021 at 7:18
  • Also, instead of removing autocheck autochk * from BootExecute in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager one may just remove this registry value at all. It won't prevent to force disk checking by chkdsk c: /f.
    – GCRaistlin
    Nov 23, 2021 at 7:30

2 Answers 2

0

The proper way to stop chkdsk from running on startup is to use chkntfs:

chkntfs /x c:

Where c: is the drive you're excluding from the disk check. You can use multiple drives as arguments like so:

chkntfs /x c: d:

Explanation of the various switches:

C:\Documents and Settings\Administrator>chkntfs /?
Displays or modifies the checking of disk at boot time.

CHKNTFS volume [...]
CHKNTFS /D
CHKNTFS /T[:time]
CHKNTFS /X volume [...]
CHKNTFS /C volume [...]

  volume         Specifies the drive letter (followed by a colon),
                 mount point, or volume name.
  /D             Restores the machine to the default behavior; all drives are
                 checked at boot time and chkdsk is run on those that are
                 dirty.
  /T:time        Changes the AUTOCHK initiation countdown time to the
                 specified amount of time in seconds.  If time is not
                 specified, displays the current setting.
  /X             Excludes a drive from the default boot-time check.  Excluded
                 drives are not accumulated between command invocations.
  /C             Schedules a drive to be checked at boot time; chkdsk will run
                 if the drive is dirty.

If no switches are specified, CHKNTFS will display if the specified drive is
dirty or scheduled to be checked on next reboot.

Refer this same here:-

Why does CHKDSK run everytime I boot my Windows 7 machine?

3
  • 1
    OK, but what should I specify as a drive letter?
    – Xifax
    Oct 29, 2011 at 9:33
  • 1
    c: OR d: this way for all required drives. Oct 29, 2011 at 9:44
  • But partitions I want to exclude do not have drive letters at all.
    – Xifax
    Oct 29, 2011 at 9:44
0

Had the same problem and was able to solve it by running the command Siva Charan suggested, but instead of using a drive letter (since none exists and none can be assigned) one must use the GUID that is displayed on boot (the message on boot says for example "Scanning and repairing drive (\\?\Volume{000012ab-0000-0000-005d-123456789012})").

So instead of:

chkntfs /x c:

one must run this in an elevated command prompt or windows powershell:

chkntfs /x "\\?\Volume{000012ab-0000-0000-005d-123456789012}"

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .