Windows Research Kernel

5.2.3800.1807.WRKP1.2(daveprobert)
Build of Windows Server 2003
Screenshot
OS familyWindows NT
Version number5.2
Build number3800
Build revision1807
Architecturex86, x64
Build labWRKP1.2(daveprobert)
Compiled on2006-06-22
About dialog
Srv03-WRK-3800-Winver.png

The Windows Research Kernel (WRK, Microsoft Windows Academic Operating System) is a portion of the source code of Windows Server 2003 Service Pack 1 kernel, which was released publicly in 2009. It was used primarily in universities, academies and scientific centers for investigating and researching the Windows NT kernel structure and working principles.

WRK contains almost full realization of the Service Pack 1 kernel, with partially missing pieces (which can be recovered using the Windows Server 2003 RTM kernel). Also, internal preliminary definitions and grammar mistakes have been removed and fixed, along with support for IA-64 architectures. Specific build.exe scripts also have been removed, and building is accomplished with hard coded NMake rules instead.

Description[edit | edit source]

Besides kernel, WRK includes following:

  • Hardware Abstraction Layers (HAL) and their PDB debugging files for:
    • ACPI compatible EISA/ISA (halacpi.dll),
    • ACPI 1.0 - APIC platform (halmacpi.dll),
    • MPS 1.4 (halmps.dll),
  • Pre-compiled files, such as:
    • Library files for the HAL, VGA boot driver (bootvid.dll) and SDBPAINT,
    • Resource file for ntoskrnl.exe (ntoskrnl.res),
  • WRK specific libraries: ntoswrk.lib and ntosarch.lib,
  • Documentation for WRK compilation among with Windows Kernel internals,
  • Bat script to copy WRK at specific destination.

The resulting image has a build number of 3800.1807, while the included HAL images contain the likely canonical build number - 3790.1807. It also bears a specific build labWRKP1.2(daveprobert), assuming that the WRK is published by Microsoft employee Dave Probert, who was working at Microsoft’s NT kernel subdivision as of compilation.

Booting[edit | edit source]

To run the kernel, a Windows XP Professional x64 Edition or Windows Server 2003 SP1 machine is required, because of the boot loader and session manager incremental changes, which resemble only SP1 versions and newer. Additional patches are need to run it on Windows XP SP1 and Windows Server 2003 RTM.

To boot the target system with WRK, the compiled kernel file must be copied (wrkx86.exe for x86, or wrkamd64.exe for AMD64). For x86 systems, it is also needed to copy halacpim.dll or other HAL files included in the WRK (such as halmacpi.dll and halmps.dll) into C:\Windows\System32.

Then, a new boot record in boot.ini should be created.

boot.ini boot record

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="WRK" /kernel=wrkx86.exe /hal=halacpim.dll

After adding the boot record, restart the virtual machine and choose the WRK boot entry.