Stop Disk Check From Running On Every Boot
In dual-boot configurations, like Windows 7 and Windows 10, sometimes an interesting phenomena occurs: a full disk check is executed each time Windows 7 boots after Windows 10.
This erroneous disk check is caused by combination of two seemingly unrelated factors: hybrid boot of Windows 10 (enabled by default) and a new format of NTFS logfile introduced in between these OSes.
Unlike other websites suggesting to disable Windows 7 disk check at boot time, we fix this issue properly, so that disk check will run whenever necessary, but not on every reboot.
1. Symptoms of this problem
Each time you boot older operating system after using a new operating system in the dual-boot configuration, full disk check occurs (even if computer was shut down cleanly):
2. Cause of this problem
NTFS logfile format depends on Windows version
For a long time, there was no difference in NTFS logfile format between Windows versions. Then in Windows 8.1, logfile format was changed. Older versions of Windows are no longer able to recognize and replay NTFS integrity logfiles created by modern versions of Windows.
Effect of the hibernation on the volume dirty state
In Windows 8/8.1/10, default shutdown mode is hibernate-in-logoff-state (called hybrid boot).
Unlike proper full shutdown used by previous versions of Windows, hibernate-in-logoff-state leaves filesystem and registry in dirty state (i.e. with non-empty integrity logs).
Each time Windows 7 boots, it ensures that fixed volumes were unmounted cleanly.
If there are NTFS volumes which were not unmounted cleanly, Windows 7 applies NTFS logfile of each volume to restore its consistency.
If volume is both: (a) dirty; and (b) not recoverable to clean state by applying its NTFS logfile, then full disk check is executed.
So, why full disk check is executed each time in dual-boot configuration of Windows 7 and Windows 10?
This situation applies not just to Windows 7 and Windows 10, but to any pair of Microsoft Operating Systems in dual-boot configuration with following properties:
3. Wrong way to fix this problem
There are some articles on other websites suggesting to disable
Windows 7 autochk via registry
Proper fix must be proactive: nonempty NTFS logfile in 2.0 format should not even exist, so there will be no need to deal with the consequences.
4. Right way to fix this problem
1. Disable hybrid boot in Windows 10
Press Win+R, type powercfg.cpl, press Enter.
Click "Choose what power buttons does" left menu item:
Click "Change settings that are currently unavailable" link:
In the bottom of this page, uncheck first checkbox related to the fast startup:
2. Disable 2.0 logfile format in Windows 10
Disabling hybrid boot is nice, but not enough. Windows 7 will still do a full disk check if Windows 10 wasn't shut down properly. Let's fix that too, so Windows 7 could replay NTFS logfiles of Windows 10.
Windows 10 supports reading and writing both versions (1.1 and 2.0) of NTFS logfile. Let's force it into "always version 1.1" mode.
Press Win+R, type regedit.exe, press Enter.
Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSystem registry key:
Create a new REG_DWORD value named NtfsDisableLfsUpgrade and set it to 1.
Make sure that REG_DWORD value named NtfsDisableLfsDowngrade contains 0.
3. Reboot Windows 10 twice for new changes to take effect