Windows 8 build 7867
Build of Windows 8 | |
OS family | Windows NT |
---|---|
Version number | 6.2 |
Build number | 7867 |
Build revision | 0 |
Architecture | ARM32 (ARMv7) |
Build lab | fbl_core1_kernel_npc_ext |
Compiled on | 2010-11-01 |
Expiration date | |
Timebomb | 2011-02-05 (+96 days) |
About dialog | |
Windows 8 build 7867 is an internal build of Windows 8. It was first shown running on an ARM-based Qualcomm Snapdragon QSD8660 SoC and NVIDIA Tegra 250 development kit at the CES 2011 trade show to demonstrate the capabilities of the then-evolving ARMv7 architecture, along with builds 7898 and 7900.[1][2] A low-quality camera recording of the build which showed the Paint application running on the same Qualcomm SoC prior to the event was later uploaded by former Windows division president Steven Sinofsky on 30 October 2022, along with video footage of builds 7792 and 8090 in issue 104 of their account of events during his time at Microsoft, titled Hardcore Software.[3][4]
The original partner drop for both the retail and debug client releases of this build's unstaged ARMv7 installation media and Preinstallation Environment, including software development kits and raw symbol sets intended for Nvidia were eventually uploaded on 8 September 2024.
Installation[edit | edit source]
QEMU installation guide:
Prerequisites[edit | edit source]
The following requirements used in order to install this build onto a virtual machine are listed below:
- The QEMU v6.1.0 Tegra 2 WoA fork that simulates a real-world Nvidia Tegra 250 development kit, modified to run early Windows on ARM builds
- As of 2024, continuous integration (CI) is currently only set up to automatically produce Windows builds. The fork must be manually compiled from source by using a different operating system like macOS or Linux.
- The required patched EFI firmware capsule images (originally from build 7822), to be placed in the QEMU installation directory in a new folder labeled
fw
- Two virtual hard disk images (for storing the installation media and the OS install)
Precautions[edit | edit source]
- The emulator may quit when a system reboot is initiated. This is an intentional design decision implemented by Microsoft as restarts are treated as full shutdowns by the Tegra 250 HAL, and cannot be worked around.
- In rare edge cases, Secure Digital MultiMediaCard (SDMMC) emulation may not be reliable and can possibly corrupt the main OS disk partition midway through image deployment or feature staging. Re-attempting the below instructions by first formatting the main OS partition and then modifying the setup BCD store to use one CPU core (located as
EFI\Microsoft\Boot\BCD
in the installation media) via the following command:bcdedit /offline /store M:\EFI\Microsoft\Boot\BCD /set {default} NUMPROC 1
- may help significantly improve the chances of a successful installation, at the expense of additional time due to the lack of multi-threading.
- USB HID device emulation is unstable and will occasionally result in devices failing to register any user inputs. To restore input, switch to the QEMU compatibility monitor (Ctrl+Alt+2) and run the following commands:
device_del kbd device_add usb-kbd,id=kbd
- For builds prior to 7957 (excluding builds 7792 and 7822), it is critical that the Windows Setup boot image be substituted with the Windows Preinstallation Environment image from the original partner drop (ordinarily located in the
winpe
orwoape
directories), as the Setup boot image does not contain the required hardware abstraction layer (HAL) extensions, and will therefore cause the operating system to immediately bugcheck with codeHAL_INITIALIZATION_FAILED
as soon as the boot sequence starts. - This guide is not for build 7915 due to the fact that this build does not run on the Tegra 2 QEMU as it is designed to run on Texas Instruments OMAP4. It is required to use QEMU-woa instead.
Instructions[edit | edit source]
These instructions assume that the user has an elevated command prompt window open.
Create the needed virtual disk images through the diskpart
utility by running the below script; they will be created under a directory in the C: drive named ARM8
. The INSTALL
, MainOS
and EFI system partitions will be respectively mounted under drive letters F and P.
create vdisk file="C:\ARM8\Setup.vhd" maximum=4096 type=expandable
select vdisk file="C:\ARM8\Setup.vhd"
attach vdisk
convert gpt
create partition primary
format quick fs=fat32 label=INSTALL
assign letter=M
create vdisk file="C:\ARM8\Main.vhd" maximum=65536 type=expandable
select vdisk file="C:\ARM8\Main.vhd"
attach vdisk
convert gpt
create partition efi size=100
format quick fs=fat32 label=EFIESP
create partition primary
format quick fs=ntfs label=MainOS
assign letter=P
exit
Depending on the users' desired build flavor (free or checked), copy the contents of the installation media over to the INSTALL
partition. Extract the needed EFI boot manager (\Windows\Boot\EFI\bootmgfw.efi
) from the Windows PE or Windows Setup boot image to INSTALL
, as EFI\Boot\bootarm.efi
.
Eject all currently attached virtual disks from the machine, and paste and run the contents of the below script onto a batch file within the QEMU installation directory, replacing FWType
with either the 78xx
variant firmware (for early builds up to 7898) or the multi
variant (for builds 7898 through build 7996):[a]
set BL=".\fw\HARMONY.fd.FWType"
set MAIN="C:\ARM8\Main.vhd"
set SETUP="C:\ARM8\Setup.vhd"
qemu-system-arm ^
-M tegra2-qemu -m 1G -accel tcg,thread=multi ^
-bootloader %BL% ^
-device usb-tablet,id=mouse -device usb-kbd,id=kbd ^
-drive if=sd,index=1,format=vpc,file=%SETUP% ^
-drive if=sd,index=0,file=%MAIN% ^
-serial null -nic none ^
-s ^
start D:\sources\setup.exe
Immediately after completing the first phase of setup, remove the SD slot for the installation media and boot into the operating system by using the below batch script configuration:[a]
set BL=".\fw\HARMONY.fd.FWTYPE"
set MAIN="C:\ARM8\Main.vhd"
qemu-system-arm ^
-M tegra2-qemu -m 1G -accel tcg,thread=multi ^
-bootloader %BL% ^
-device usb-tablet,id=mouse -device usb-kbd,id=kbd ^
-drive if=sd,index=0,file=%MAIN% ^
-serial null -nic none ^
-s ^
Continue installing the operating system through normal means.
Editions and keys[edit | edit source]
The following SKUs are installable in this build:
Edition / SKU Name | Key |
---|---|
Starter[b] | 7Q28W-FT9PC-CMMYT-WHMY2-89M6G |
Starter E[b] | BRQCV-K7HGQ-CKXP6-2XP7K-F233B |
Starter N[b] | D4C3G-38HGY-HGQCV-QCWR8-97FFR |
Home Basic | YGFVB-QTFXQ-3H233-PTWTJ-YRYRV |
Home Basic E | VTKM9-74GQY-K3W94-47DHV-FTXJY |
Home Basic N | MD83G-H98CG-DXPYQ-Q8GCR-HM8X2 |
Home Premium | RHPQ2-RMFJH-74XYM-BH4JX-XM76F |
Home Premium N | 76BRM-9Q4K3-QDJ48-FH4F3-9WT2R |
Professional | HYF8J-CVRMY-CM74G-RPHKF-PW487 |
Professional E | 3YHKG-DVQ27-RYRBX-JMPVM-WG38T |
Professional N | BKFRB-RTCT3-9HW44-FX3X8-M48M6 |
Enterprise | H7X92-3VPBB-Q799D-Y6JJ3-86WC6 |
Enterprise E | H3V6Q-JKQJG-GKVK3-FDDRF-TCKVR |
Enterprise N | BQ4TH-BWRRY-424Y9-7PQX2-B4WBD |
Ultimate | D4F6K-QK3RD-TMVMJ-BBMRX-3MBMV |
Ultimate E | TWMF7-M387V-XKW4Y-PVQQD-RK7C8 |
Ultimate N | HTJK6-DXX8T-TVCR6-KDG67-97J8Q |
New features and changes[edit | edit source]
HAL extension support[edit | edit source]
This is the earliest available build of Windows to support hardware abstraction layer extensions, which allow platform developers to quickly provide support for system-on-chip devices by adding interfaces for interrupt timers and controllers, as well as direct memory access (DMA) controllers.
Leak prevention[edit | edit source]
A near-final implementation of the Windows Fingerprinting Service has been added through the addition of a dedicated fingerprinting blob in the system, displayed on the desktop watermark and the Version Reporter Applet by shell library shell32.dll
. The fingerprint is directly appended at the end of the BuildLab
string (queried from registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
) in the form of a build hash (officially named the "EULA hash"), computed by splitting the WFS blob into 8 arrays of 16 bytes and XORing each of the 16 bytes together. The EULA hash can then be derived in order to source build leaks to existing Microsoft affiliates; the visibility of the EULA hash and the confidentiality warnings depend on the presence of certain compiler flags.
Fingerprinting data is now stored in the registry key HKLM\SYSTEM\WPA\478C035F-04BC-48C7-B324-2462D786DAD7-5P-9
. The registry key must exist in the Windows install, or the operating system will either refuse to boot or non-deterministically bugcheck with codes KERNEL_SECURITY_CHECK_FAILURE
(during boot) or CRITICAL_STRUCTURE_CORRUPTION
(if the periodic WFS check during runtime fails). Furthermore, most parts of the fingerprint data are now encrypted, and therefore require reverse engineering efforts to decode and extract the relevant information.
Driver management[edit | edit source]
System drivers now use a dedicated registry database located in the Windows\System32\config
directory (as DRIVERS
). It is used by the Windows servicing stack to facilitate driver installation, and contains a list of relevant driver components, hardware IDs, references to driver metadata (INFs) and definition data for each installed driver package.
CES 2011 demonstration differences[edit | edit source]
Various aspects of this build were either changed or disabled during the CES 2011 demonstration, two of which are likely a result of file replacement originating from later builds originating from shell development branches:
- The characteristic User Tile seen in builds 7785 through 7851 is disabled.
- The branding observed within the watermark was temporarily changed to "Microsoft Pre-release Windows Operating System", in a stark contrast to its predecessors' branding commonly seen in builds such as 7779 and 7850.
- The Windows Fingerprinting Service is disabled, as evidenced by the lack of the Microsoft Confidential leak warning in the watermark.
- The desktop background was changed to the one seen in the RTM build of Windows 7, in place of the blue-green gradient Milestone 1 wallpaper that was used since build 7762.
Bugs and quirks[edit | edit source]
ARMv7 port differences[edit | edit source]
Due to the earliness of the ARMv7 port, aspects of the operating system that exist in x86 do not exist on ARM:
- The older CMIv2-style component store (containing the binaries used to assemble the Windows Foundation base image) is present alongside the newer Windows side-by-side (SxS) component store.
- The .NET Framework is not present, despite components depending on the Common Language Runtime (such as PowerShell) being included.
- Most applications that rely on .NET Framework such as the Snipping Tool and Windows Media Center do not exist.
- The Warbird obfuscation layer was not yet ported at this stage in development - components relying on it, such as the Metro shell (provided by
twinui.dll
), security components (such as the Next-Generation Secure Computing Base (NGSCB) security processor drivers) and software licensing components are not obfuscated. - The Windows Search indexing engine does not exist at this stage in development.
Gallery[edit | edit source]
Setup[edit | edit source]
Internal recording[edit | edit source]
Snapdragon SoC running this build's Paint application
CES 2011 still frames[edit | edit source]
Ditto, without DWM
Notes[edit | edit source]
- ↑ 1.0 1.1 If utilizing the quad-core variant of the Tegra 2 WoA fork, the machine configuration in the batch script must be modified to address 2 GB of RAM, and the patched
2g
EFI firmware capsules must also be used to start up the virtual machine. Themulti2g
combination can be used to immediately boot into builds 8020 through late 81xx; if this combination is not being used, then necessary registry modifications against theSYSTEM
hive to load Tegra 2 HAL extension IDsVEN_ra2.&DEV_0002
(HalExtTegra2.dll
) andVEN_ra2.&DEV_0003
(HalExtTegra2Dma.dll
; in later builds,HalExtTegraDma.dll
) are required. - ↑ 2.0 2.1 2.2 The Starter edition (and its N and E counterparts), last included in Windows 7, had since been internally repurposed during Windows 8 development to act as a base for new and existing Windows client SKUs. The Web Server edition would also be identically repurposed during development of its server counterpart for both Desktop Experience and Core editions, although Standard Server would later take its place as the base for Server Core editions during the late development phases of Windows Server 2016, specifically during Redstone 1 development.
References[edit | edit source]
- ↑ Microsoft CES 2011 Windows OS Announcement - YouTube
- ↑ Microsoft shows off ARM processors running Windows - YouTube
- ↑ Sinofsky, Steven. 104. //build It and They Will Come (Hopefully), Hardcore Software: Inside the Rise and Fall of the PC Revolution. 30 October 2022.
- ↑ Various Authors. Windows 8 on NVIDIA Tegra running in Microsoft labs, Hardcore Software: Inside the Rise and Fall of the PC Revolution. Late 2010—20 August 2011.