Windows 8 build 7985 (fbl core1 kernel cptx.110419-1745)

Windows 8 build 7985 (fbl_core1_kernel_cptx.110419-1745) is a Milestone 3 build of Windows 8, which was shared on 28 June 2022. This build features a new wallpaper with an updated wordoku puzzle. It was compiled 14 days earlier than the Computex 2011 build.

Redpill
Continuing on with the evolution of Metro starting with build 7978, the unlocked features in this build are a middle ground between the early Milestone 2 Metro of builds 7927 to 7963 and the closer to final looks of builds 8032 and 8056. The Start screen now has the "Start" header, along with the Other Programs UI being replaced with the Applications list. The Charms bar now has a clock appear along with it, along with the Settings charm being redesigned, adding some non-functional toggles for the Power, keyboard, and a placeholder toggle called "VanUI", possibly standing for View Active Networks.

The Aero theme has also been updated to feature a flatter design, resembling the Windows Basic of this build. In this build, it is already possible to change the accent color of the start screen, however there are only two colors available. To do this, open regedit, go to  and create a DWORD named   and set its value to 1. When you logoff and logon again, the start screen will be a different blue gradient.

Changes

 * The Windows Preinstallation Environment of this build is the first to use the Windows Basic theme.
 * The "Welcome" text on the boot screen became larger, similar to build 7997.

Bugs

 * It appears that it is possible to "uninstall" the desktop. However, clicking Uninstall does nothing.
 * The Task Manager shows erratic values for the network usage.
 * This build has issues installing on SCSI drives, and needs to be installed on an IDE drive.

Advanced Vector Extensions CPU bug
This build will not boot on some CPUs with the Advanced Vector Extensions (AVX) instruction set due to a bug where a CPU triple fault occurs immediately after the boot screen is first displayed. A workaround is discussed later in the article.

Compiler
This is one of the first builds to be compiled using a new compiler. However, the problems surrounding it at that time resulted in the build becoming unbootable on certain hardware, as the boot loader does not properly function on modern x86 CPUs, namely Intel processors with the AVX instruction set and a select number of AMD CPUs. As a result, a CPU triple fault occurs resulting in either a crash on a hypervisor or a reboot on real hardware.

Most of the bugs found in this build are a side effect of the new compiler.

Patching winload.exe to run on Intel processors with AVX
In order to properly enable SSE instructions for machines using Intel processor with AVX, the 9th bit in Control Register 4 (CR4) must be turned on. The following code is executed and is located in winload.exe at offset A137:

By default the following bits are set in CR0: Protected Mode (PE) (0x00000001), Monitor co-processor (MP) (0x00000002) and Extension type (ET) (0x00000010), with no bits in CR4 set initially, so the need to turn on the 9th SSE bit (i.e. OR with 0x600) should be done, but due to limitation in this piece of code, a rewriting needs to be done and the following approach may be used instead:

As a disclaimer, patching winload.exe with these changes will invalidate integrity checks and thus requires Test Mode to be enabled (by setting  in the BCD to on) in order to boot with the patched winload.exe, as well as ownership of the file in both   and   need to be altered in case file replacement was not possible.

VMware Workstation
For another workaround on the Intel SSE bug that does not involve patching and disabling security checks, the compatibility level must be set to version 7.x or lower in order to boot this build. In addition, the following block of code must be added to the VMX (virtual machine configuration) file in order to allow this build to boot on modern Intel CPUs:

The above configuration is mostly not required if the host machine has an AMD processor, and as such only requires the compatibility version to be changed.