The Secret Windows You Couldn't Actually Use Until Now
Five months ago we called Microsoft Validation OS a dead end. We got it booting, we got it stripped down to almost nothing, and then we hit a wall: nothing useful would actually run on it. That article ended with a workaround we were not happy with.
This one does not. Validation OS now runs Cinebench, FurMark and full GPU stress testing from a USB stick, on real hardware, with no Windows installed and nothing written to the target drive.
Here is exactly how, including the two failures that cost us the most time.
What Microsoft Validation OS actually is
Validation OS is the lightweight operating system PC manufacturers use to test hardware on the factory line, before Windows is ever installed. It boots from USB in seconds, runs entirely in RAM, touches nothing on the target drive, and it is a free download from Microsoft.
It is not a community project, a debloated fork, or somebody's custom ISO. It is Microsoft's own build, which is exactly what makes it interesting compared to the usual lightweight Windows options.
The catch, and the reason our first attempt stalled, is that the stock image is almost completely empty. Nothing tells you that, and nothing tells you how to fix it.
New here? Start with our first Validation OS guide for the basics of getting it booting at all. This article picks up where that one gave up.
Why Microsoft Validation OS benchmarking is worth the effort
If you build, repair, or resell PCs, you have probably hit this problem. You want to benchmark or stress test a machine, but installing Windows first takes an hour, consumes a license, and puts a load of background services between you and your measurements.
A USB stick that boots any machine, loads in RAM, and runs a full CPU and GPU benchmark sequence solves that completely. New build validation, used hardware verification, repair shop diagnostics, thermal testing before an OS goes anywhere near the drive.
That is precisely what manufacturers do on the production line. The components to do it yourself are free.
Credit where it is due. The route to a properly usable image came from a viewer, @liliya_aseeva, who pointed out that the official ISO ships with ValidationOSImageBuilder.exe, and that you can select the packages you need rather than applying the default image. That comment is what made this build possible.
What you need
- The latest Validation OS ISO, free from Microsoft. Grab it from the official Validation OS page on Microsoft Learn, where the download sits under "Get started using Validation OS". Use the current release, not an older download. Earlier versions do not include the benchmarking packages at all, and no amount of digging through the cabs folder will turn them up.
- A Windows 11 machine to build on, with the Windows ADK installed for DISM.
- A minimal Windows 11 ISO to use as the boot shell.
- An ISO editor such as AnyBurn, and Ventoy or Rufus for the USB.
- A USB stick, 16 GB or larger.
- Your benchmarking tools in portable form: Cinebench, FurMark, HWMonitor.
- The GPU driver package for the card you intend to test. Extracting it is covered in Step 1b.
Step 1: Build the base image with Image Builder
Mount the Validation OS ISO. In the root you will find ValidationOSImageBuilder.exe. This is the tool that turns the stock image into something usable, and it is the step most people never find. It requires the .NET Desktop Runtime before it will launch.
Run it and select the components you need. The stock image is extremely bare, so at minimum include:
- USB support, or you will not see your own USB stick
- Wi-Fi support if you want network access
- Graphical application support, which is what allows GUI tools to launch at all
- DISM components
- PowerShell
- DISKPART
- Graphics and DirectX support
With those in place, the image becomes genuinely usable. Notepad opens, the interface is responsive, and it feels like a real desktop rather than a recovery console.
The build itself takes roughly 30 to 40 minutes and outputs a WIM file.
Do not build yet. Image Builder has a driver section, and your GPU drivers need to go in here, at build time. We skipped it on our first pass and it cost us a complete rebuild. Step 1b covers how to extract them. Do that first, then come back and build once.
Step 1b: Extract your GPU drivers before you build
Microsoft's own Image Builder documentation is explicit about why this matters: Validation OS does not ship with inbox drivers, so you have to add drivers before you apply your image. There is no supported path that adds a working graphics driver after the fact.
Boot into a normal Windows installation on the same machine, or any machine with the same GPU, and open Command Prompt as administrator.
Find the driver
pnputil /enum-devices /class Display /drivers
This lists every display device and the driver package bound to it. You are looking for the oemXX.inf published name. On our test machine, running an AMD Radeon RX 580, the output gave us:
Instance ID: PCI\VEN_1002&DEV_67DF&...
Device Description: AMD Radeon RX 580 Series
Driver Name: oem35.inf
Class Name: Display
Class GUID: {4d36e968-e325-11ce-bfc1-08002be10318}
So oem35.inf is what we need. Yours will almost certainly be a different number. It is assigned by Windows in install order and means nothing outside that machine, so do not copy ours.
Export the driver
pnputil /export-driver oem35.inf C:\Drivers\RX580
Create the destination folder first if it does not exist. The command pulls the full driver package out of the Windows driver store into a folder you can actually use.
Check what came out
For our RX 580, the export produced three items:
C:\Drivers\RX580\
u0417877.inf the driver definition
u0417877.cat the signing catalogue
b417004\ the driver binaries, roughly 1 GB
All three are required. The .inf alone will not install, and without the .cat the package fails signature validation.
Point Image Builder's driver section at C:\Drivers\RX580, and Validation OS boots with real graphics acceleration rather than the Microsoft Basic Display Adapter.
Exporting for a different machine? Run these commands on any Windows install that already has the correct driver for the target GPU. The export is just a copy out of the driver store, so it does not have to be the machine you intend to test.
Step 2: Why benchmarking tools still will not launch
Here is the wall. With all of the above selected, the image looks ready. Notepad runs. Diskpart runs. The GUI works. Then you launch a portable benchmark and nothing happens. No error dialog, no window, no process. Just a new command prompt line, as if the command never ran.
The reason is in Microsoft's documentation. Cinebench, FurMark, Geekbench 6 and BurnInTest require a specific package:
Microsoft-WinVOS-BenchMarkingToolsSupport-Package
Graphics and DirectX support is a dependency for these tools, not a substitute for the benchmarking package. You need both. And per Microsoft's own release notes, no feature in Image Builder contains the benchmarking package, so it has to be added manually.
Step 3: Inject the benchmarking packages with DISM
Mount the WIM from your built image and add the packages by hand. In the commands below, P: is the mounted Validation OS ISO, and the folder name under C:\ValidationOS\ is your Validation OS version build number.
Create a mount point:
mkdir C:\MountVOS
Mount the image:
Dism /Mount-Image /ImageFile:"C:\ValidationOS\260908-1754\ValidationOS.wim" /Index:1 /MountDir:"C:\MountVOS"
Add the benchmarking tools support package:
Dism /Image:"C:\MountVOS" /Add-Package ^
/PackagePath:"P:\cabs\Extra\neutral\Microsoft-WinVOS-BenchMarkingToolsSupport-Package.cab" ^
/PackagePath:"P:\cabs\Extra\en-us\Microsoft-WinVOS-BenchMarkingToolsSupport-Package.cab"
Add the WOW64 variant, which is what allows 32 bit tools to run:
Dism /Image:"C:\MountVOS" /Add-Package ^
/PackagePath:"P:\cabs\Extra\neutral\Microsoft-WinVOS-BenchMarkingToolsSupport-WOW64-Package.cab" ^
/PackagePath:"P:\cabs\Extra\en-us\Microsoft-WinVOS-BenchMarkingToolsSupport-WOW64-Package.cab"
Commit and unmount:
Dism /Unmount-Image /MountDir:"C:\MountVOS" /Commit
All four cabs are required. Both the neutral and en-us versions, of both the base and WOW64 packages. Adding only some of them leaves tools that still refuse to launch, with the same silent failure as before.
Step 4: Build the bootable ISO
Take the resulting WIM, rename it to boot.wim, and open your minimal Windows 11 ISO in AnyBurn. Navigate to the sources folder, delete the existing boot.wim, and drag yours into the same path.
Validation OS does not ship as something conveniently bootable, so you are borrowing the Windows installer's boot shell and putting your own payload inside it.
Save as a new ISO and write it to your USB stick. Ventoy lets you keep several images on one drive, but Rufus does the same job.
Boot the target machine from it. Cinebench should now launch.
Step 5: Automate the benchmark run
Once the tools launch, a small batch file makes the whole sequence repeatable. Drop this in the root of the USB stick alongside folders named hwmonitor, furmark and cinebench.
@echo off
setlocal
:: Automatically get the drive letter and path of where this script is located
set "USB_ROOT=%~dp0"
echo ========================================
echo Starting Validation OS Test Sequence
echo ========================================
:: Step 1: Run HWMonitor (Using 'start' so it opens but the script continues)
echo.
echo [1/3] Launching HWMonitor...
start "" "%USB_ROOT%hwmonitor\HWMonitor_x64.exe"
:: Step 2: Run FurMark (Without 'start' so the script PAUSES until closed)
echo.
echo [2/3] Launching FurMark...
echo Please run your test. The script will wait until you close FurMark.
"%USB_ROOT%furmark\furmark_gui.exe"
:: Step 3: Run Cinebench (Starts only after FurMark is closed)
echo.
echo [3/3] Launching Cinebench...
echo Please run your test.
"%USB_ROOT%cinebench\cinebench.exe"
echo.
echo ========================================
echo All tests are finished!
echo ========================================
pause
HWMonitor opens first and stays running for temperature logging. FurMark runs next and the script waits for you to close it. Cinebench follows. One double click, full sequence.
Because the script and the tools live on the USB rather than inside the image, you can add more tests later without rebuilding anything.
Step 6: Extending the suite with more tools
The script above is deliberately simple so you can grow it. Because the tools and the script live on the USB stick rather than inside the image, adding a new test never requires rebuilding anything. Copy a folder, add three lines, done.
The pattern
There are only two forms you need. Use start "" when a tool should launch and let the script carry on immediately, typically for monitoring tools that need to run alongside everything else:
start "" "%USB_ROOT%toolfolder\tool.exe"
Omit start when the script should stop and wait until you close that tool before moving on, which is what you want for each sequential test:
"%USB_ROOT%toolfolder\tool.exe"
That is the whole mechanism. %USB_ROOT% resolves automatically to wherever the script is sitting, so the drive letter never matters and the stick works in any machine.
Adding a memory test
Drop a portable memory tester into a memtest folder on the stick, then add a stage before the GPU test:
echo.
echo [2/4] Launching memory test...
echo Close the window when the test completes.
"%USB_ROOT%memtest\memtest.exe"
Renumber the stage labels so the progress readout stays accurate.
Candidates worth trying
Anything that runs as a self contained portable executable is a candidate. Tools we would look at next:
| Purpose | Notes |
|---|---|
| Memory testing | Portable Windows memory testers. Note that boot level testers like MemTest86 are their own boot environment and cannot run inside Validation OS. |
| Storage benchmarking | Portable disk benchmark tools. Useful for validating a drive before an OS goes on it. |
| Drive health | SMART reporting utilities, ideal for verifying used hardware. |
| GPU identification | Portable GPU info tools, a fast way to confirm your injected driver is actually loaded. |
| CPU stress | Portable stress testing tools for sustained thermal load. |
| Archive benchmark | The 7-Zip benchmark is a quick, dependency free CPU check. |
Test each tool individually before adding it to the script. Validation OS is minimal, and anything expecting an installer, a service, a .NET runtime you have not included, or a component you did not select in Image Builder will fail the same silent way the benchmarking tools did at first. Launch it manually from the command prompt, confirm it opens, and only then add it to the sequence.
Making the results portable
Because the stick is writable, you can have tools write their output back to it and keep a record per machine. Add a results folder and point each tool's export or screenshot function at it, and one stick becomes a complete validation record for every machine you test.
Troubleshooting
Benchmarking tools do nothing when launched
No error, no window, no process. This is the missing Microsoft-WinVOS-BenchMarkingToolsSupport-Package. Graphics and DirectX support alone is not enough. Add all four cabs as shown in Step 3, including the WOW64 variants.
Also check your ISO version. Older Validation OS releases do not contain these packages at all, so no amount of searching the cabs folder will turn them up. Download the current release.
FurMark reports no compatible GPU, or you see "Microsoft Basic Display Adapter"
The image has no real GPU driver. Validation OS falls back to the basic Microsoft display driver, which cannot run graphics benchmarks.
The fix is to inject your GPU drivers at image build time, in the driver selection step of ValidationOSImageBuilder.exe, as covered in Step 1b. A rebuild is required. The next section explains why there is no shortcut.
Why you cannot just install the driver after booting
The obvious shortcut is to skip the rebuild, copy the driver folder onto your USB stick, boot Validation OS, and install it live:
pnputil /add-driver "H:\Drivers\RX580\u0417877.inf" /install
We tried it. It does not work, and it fails in two separate ways that are worth understanding, because the error messages point you in completely the wrong direction.
Failure one: "not enough space"
The command fails claiming insufficient space. The obvious response is to clear the USB stick and retry, which changes nothing, because the USB stick was never the problem.
Validation OS runs entirely in RAM. Its %TEMP% resolves to a RAM backed scratch volume mounted as X:, and that volume does not appear in the DISKPART volume list at all, which is what makes this so difficult to diagnose. You look at your drives, see plenty of free space everywhere, and the error makes no sense.
That scratch space has a small fixed default size. Unpacking a roughly 1 GB driver package into it is never going to fit.
You can redirect the temp folders to your USB stick before running pnputil:
mkdir H:\Temp
set TEMP=H:\Temp
set TMP=H:\Temp
Replace H: with your USB drive letter. Do this in the same command prompt session you then run pnputil from, since the variables do not persist.
There is also a supported way to enlarge the RAM disk itself. Recent Validation OS releases added DISM.exe /Image: /Set-ScratchSpace, which configures the RAM-DISK size when booting from USB, via the Microsoft-WinVOS-Provisioning package. That is the proper fix for the space error if you need the scratch space for other reasons.
Failure two: the driver installs but never loads
Here is the part that cost us the most time. With temp redirected, pnputil reports success. The driver is added. It looks like it worked.
Then you launch FurMark and it still reports no compatible GPU. Check the display adapter and it is still Microsoft Basic Display Adapter.
The driver package was staged into the driver store, but the graphics stack was never built to load a third party display driver in this session. Validation OS ships with no inbox drivers by design, and Microsoft's documentation states that drivers must be added before the image is applied. Adding one to a running RAM resident session puts the files in place but does not give you an accelerated display path.
So there is no shortcut. Extract the driver as shown in Step 1b, inject it at build time through Image Builder, and rebuild the image. It is a full rebuild cycle, but it is the only route that actually works.
You cannot find the benchmarking cabs in the ISO
You are almost certainly on an older Validation OS release. The benchmarking packages were added in a later version. Download the current ISO from Microsoft and look under the cabs\Extra path.
What you end up with
A USB stick that boots any machine into a clean, RAM resident Windows environment with working GPU drivers, and runs a full CPU and GPU benchmark sequence without touching the target drive or installing anything.
FurMark runs under both OpenGL and Vulkan at full resolution. Cinebench R20 returns real multi threaded scores. HWMonitor reports genuine sensor telemetry throughout.
Five months ago we said this was not possible. It is.
Running Windows 11 IoT Enterprise LTSC 2024 on the machines you validate? Same philosophy, no telemetry and no forced updates, but as a licensed daily driver rather than a diagnostic tool.
Frequently asked questions
What is Microsoft Validation OS?
It is a lightweight, RAM resident Windows environment published by Microsoft for hardware validation and manufacturing line testing. It boots from USB, runs in memory, and is a free download.
Where do I download Validation OS?
From Microsoft Learn, on the Microsoft Validation OS overview page, under the "Get started using Validation OS" heading. It is free. Make sure you take the current release, since older builds do not contain the benchmarking packages.
Can you really run Cinebench and FurMark without installing Windows?
Yes, once the Microsoft-WinVOS-BenchMarkingToolsSupport packages are injected and real GPU drivers are included at image build time. Microsoft documents Cinebench, FurMark, Geekbench 6 and BurnInTest as supported with that package.
Why do benchmarking tools launch with no error and no window?
The benchmarking tools support package is missing. Graphics and DirectX support is a dependency for these tools, not a replacement for the benchmarking package. Both are required, and all four cab files must be added.
Why does pnputil say there is not enough space?
Because %TEMP% resolves to a RAM backed scratch volume mounted as X:, which does not appear in the DISKPART volume list and is too small for a driver package. You can redirect TEMP and TMP to your USB drive, or enlarge the RAM disk with DISM Set-ScratchSpace.
Can I add GPU drivers after booting instead of at build time?
No. Even after resolving the space error, pnputil reports success but the system stays on the Microsoft Basic Display Adapter and graphics benchmarks will not run. Validation OS ships with no inbox drivers, and Microsoft's documentation states drivers must be added before the image is applied. Injecting them in Image Builder is the only route that works.
How do I add more tools like a memory test to the suite?
Copy the portable tool into a folder on the USB stick and add a line to the batch script pointing at it. Use start with empty quotes if it should run alongside everything else, or call it directly if the script should wait for you to close it. No image rebuild is needed.
How is this different from tiny11, AtlasOS or other lightweight Windows builds?
Those are community modified versions of retail Windows. Validation OS is Microsoft's own build, published by Microsoft, designed from the start to be minimal and RAM resident. It is not a daily driver, but for diagnostics and benchmarking it is purpose built.
Does this touch the hard drive of the machine being tested?
No. Validation OS runs entirely in RAM and boots from USB, so the target machine's storage is left untouched.
Do I need a Windows license to use Validation OS?
Validation OS is distributed by Microsoft for hardware validation purposes. Review Microsoft's licensing terms for your intended use, particularly for commercial deployment.



