Windows 8 build 7985 (fbl_core1_kernel_cptx.110419-1745)
Build of Windows 8 | |
![]() | |
Architecture | x86 |
---|---|
Compiled | 2011-04-19 |
Timebomb | 2012-03-15 (+331 days) |
About | |
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 is one of the first to fix the issue with window borders not displaying correctly while Desktop Window Manager is enabled and also features a new wallpaper with an updated wordoku puzzle. It was compiled 14 days earlier than the Computex 2011 build.
Editions and keys[edit | edit source]
Edition / SKU | Key |
---|---|
Starter | 7Q28W-FT9PC-CMMYT-WHMY2-89M6G |
Home Basic | YGFVB-QTFXQ-3H233-PTWTJ-YRYRV |
Home Premium | RHPQ2-RMFJH-74XYM-BH4JX-XM76F |
Professional | HYF8J-CVRMY-CM74G-RPHKF-PW487 |
Ultimate | D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV |
Redpill[edit | edit source]
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, becoming more resemblant with the current state of the Windows Basic theme. The ability to modify the Start screen's accent has been implemented, although its functionality is only available through the use of a registry hack and there are only two color choices available. To change the start screen's accent color to blue, merge the following entry into the registry:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Accent]
"ColorSet"=dword:00000001
Changes[edit | edit source]
- The Windows Basic theme is now used within the Windows Preinstallation Environment, replacing the older Classic visual style.
- The boot screen's status message size has been slightly increased.
- The boot entry has been updated to say Windows 8.
Bugs[edit | edit source]
Advanced Vector Extensions CPU bug[edit | edit source]
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.
This problem can also present itself as three bugchecks occurring one after the other, with different error codes overwriting each other on the screen.
Start screen[edit | edit source]
The desktop application tile is treated as if were a native Metro application despite it not being one. As a result, it is possible to "uninstall" the desktop, although nothing will happen if attempted.
Windows Setup[edit | edit source]
- This build must be installed on either an IDE or a SATA hard drive as SCSI disk devices will not be detected properly.
- On some machines, this build may take a significant amount of time to boot.
Boot manager[edit | edit source]
As the kernel/boot loader does not call any code to clear the video buffer early within the boot process, any graphics that are displayed in the boot screen may overlay themselves on top of the last frame sent by the boot manager. This problem is easily observed when loading into a ramdisk boot image or while loading into setup.
Compiler[edit | edit source]
This is one of the first builds to be produced 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.
Patching winload.exe to run on Intel processors with AVX[edit | edit source]
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:
mov eax, cr4 ; 0f20e0
or eax, 20h ; 83c820 -- Turn on 5th bit, PAE (Physical Address Extension)
mov cr4, eax ; 0f22e0 -- Store it in CR4
mov eax, cr0 ; 0f20c0
or eax, 80000000h ; 0d00000080 -- Enable paging
mov cr0, eax ; 0f22c0
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:
mov eax,620h ; b820060000
mov cr4,eax ; 0f22e0
mov eax,80000013h ; b813000080
mov cr0,eax ; 0f22c0
nop ; 90
nop ; 90
nop ; 90
nop ; 90
As a disclaimer, patching winload.exe with these changes will invalidate integrity checks and thus requires Test Mode to be enabled (by setting NoIntegrityChecks
in the BCD to on) in order to boot with the patched winload.exe, as well as ownership of the file in both %systemroot%\System32
and %systemroot%\System32\Boot
need to be altered in case file replacement was not possible.
Compatibility[edit | edit source]
VMware Workstation[edit | edit source]
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:
cpuid.0.ebx = "0110:1000:0111:0100:0111:0101:0100:0001"
cpuid.0.ecx = "0100:0100:0100:1101:0100:0001:0110:0011"
cpuid.0.edx = "0110:1001:0111:0100:0110:1110:0110:0101"
cpuid.1.eax = "0000:0000:0000:0001:0000:0110:0111:0001"
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.