Windows freezes due to incorrect BIOS date

""... Five hundred dollars in spare parts. Three and a half hours of my time, not including the time spent in emails and phone calls. All because the BIOS date was set wrong. That's it.""

- Carey Holzman

The Novel Holzman Y3K Windows Installation Bug is a purported bug in the Windows 10 family of operating systems that prevents installation and use of Windows 10 on Gigabyte or MSI systems, where the Complementary metal–oxide–semiconductor (CMOS) clock has been set to any year greater than 3001 AD. The extreme year is postulated to exploit a bug in Windows 10, preventing it from loading successfully after being installed.

Windows neither checks, nor warns the user of the extreme and irregular date value, making it hard to troubleshoot. Similar symptoms, for example, can occur due to power supply issues. The bug was discovered live on Youtube by a viewer of Carey Holzman who noticed that the date in the CMOS was irregular. All other system faults, including power supply issues, were eliminated by technician Carey Holzman. Replicating the problem confirmed that having such an irregular date causes Windows to lock-up and freeze on boot. The bug causes a secondary issue because Windows 10 syncs the CMOS clock with its own internal value, resulting in any attempt to change the CMOS clock in the Basic Input-Output System (BIOS) to be erroneously set to the wrong value, creating a boot loop.

Versions Affected
Ubuntu is not affected by this bug, but this is only because Ubuntu does not recognize the year 3001 AD. It merely sets the year to 2016 AD.

Earlier builds of Windows 10, such as Windows 10 1703 or 180x, seem less affected by this bug. Installing Windows onto Gigabyte systems with an irregular date set does not hang the computer. Windows boots successfully and runs smoothly, despite the irregular date being set. The irregular date also appears in the System Tray.

Virtual machines such as VMWare caps the BIOS entry to a limited sub-range between 2018 and 2040. Because of this, setting the CMOS clock to 3001 AD is not possible. Even though, the time/date can be set manually in Windows from the command line, the CMOS does not recognize such value. Instead, the CMOS clock is set to 2018. In Windows, the year 3001 AD appears. Since the CMOS clock is not synced with Windows in the case of VMWare, the system boots. However, immediately, the virtual machine performs very slow. When Task Manager is opened, the CPU usage is maxed out due to extreme CPU usage. The CPU usage gradually normalizes after the date is reset to a regular value.

Incorrect Clock Cause
There are three main ways in which a CMOS clock can be set to an irregular value: (1) Accidentally typing in the wrong value (human error); (2) Factory misconfiguration or motherboard faults and (3) Buggy software, which incorrectly sets the CMOS clock from Windows itself.

Human Error: Invalid Input
The most common cause of an incorrect CMOS clock tends to be human error, generally by mistyping the value on the keyboard. The Gigabyte BIOS may, for example, not restrict the entry of the year to more regular values (i.e. 2100 AD or sooner). This, in turn, could easily result in a manual and incorrect adjustment of the clock by a user.

Factory Faults
It is possible for the clock to be set incorrectly in the factory, or for the value to be changed due to electrical interference in the board that causes CMOS corruption.

Buggy Software / Malware
Windows or a program within Windows may also set the CMOS incorrectly (e.g. due to buggy software exploiting dynamic link libraries in Windows to change the clock). This is done for many ethical reasons, such as keeping a clock synced. However, if such software is buggy, it could set the value to an irregular value. When the clock in Windows is changed, Windows subsequently syncs that value with the CMOS. This, in turn, sets the CMOS clock to an irregular value. When this happens, a perfectly stable Windows system even six months after installation may hang due to this bug. This is because critical services that Windows relies on to start cannot start correctly because the irregular value seems to cause side affects in Windows. The Win32 subsystem, for instance, may not be able to handle the year 3002 AD or later.

Irreversible Damage
The changing of date does not seem to cause irreversible damage, but may create a boot loop, that prevents access to Windows once the system with the incorrect date is restarted.

CPU Usage
When a perfectly running Windows 10 has its time changed through the command line interface on Gigabyte systems to 3001 AD (or later), certain components within Windows seem to stop working. The notification and alerts disappear. Windows Defender reports to be out of date. The fans within the computer may then begin to spin noticeably loud due to the CPU working harder. Even 10 core systems may grind to a halt as resources are pushed to their limits as Windows tries to frantically start many services at once, presumably to update everything. The CPU soon returns to normal operating range once the CMOS year has been reset to a more regular value such as 2020 AD.

Services
Multiple services may appear in the list of services with numbers appended to end of the names. The original services without the numbers will not start due to an "unknown error". However, the services with numbers on the end will, indeed be started. When the CMOS clock is reset to a regular value, the services will the numbers at the end will no longer be visible. The normal services will also be started as they should be.

Step 1: Reset CMOS Clock
To overcome the bug, the technician must first reset the clock back to a more regular value. If the BIOS is accessible, then this should be done from the BIOS settings in accordance with the motherboard manual for setting the CMOS clock.

If not, users can boot from a Windows installation media which works even if the CMOS clock is irregular. Then, open a command prompt window by pressing Shift + F10 at the same time. In the command window, type date followed by the enter key. Type a regular date and accept the new value by pressing enter.

Step 2: Delete C:\Windows\bootstat.dat
Open a command prompt under a Windows installation environment by pressing SHIFT + F10:

a) Find the drive containing a folder called Windows e.g. C:\

b) Access the drive by typing: X:\Windows\System32> C: c) Change directory by typing: C:\> cd C:\Windows e) Delete bootstat.dat file from \Windows folder to stop Windows from updating the CMOS clock. C:\Windows> del bootstat.dat /a f) Reboot your computer

Step 3: Reboot into Windows 10
Windows should now boot successfully.

= References =