Installing Windows 10X (emulator image) on real hardware
Here's some quick notes on installing Windows 10X on real hardware. For this example, we're assuming a system with no other critical disks installed, and a helpful host system being around to set up the initial image.
Prerequisites
Host
- Windows 10 Manganese build (195xx).
- Utility USB flash drive of ~32GB+.
Target
- CPU with Hyper-V support for VAIL.
- Graphics card with DCHU drivers available.
- UEFI system firmware.
- Preferred: 4Kn boot drive. We'll provide steps a bit later for converting the image.
Host work
Fetch and mount the emulator image
Make sure you have a clean Flash.vhdx
from the W10X emulator. Copy it someplace, and preferably keep another backup as well.
Mount it using PowerShell (as administrator):
Mount-VHD "X:\WCOS\Flash.vhdxvhdx"
Check if the emulator image is mounted correctly:
Get-StoragePool -FriendlyName OSPool
This should look like the following:
FriendlyName OperationalStatus HealthStatus IsPrimordial IsReadOnly Size AllocatedSize
------------ ----------------- ------------ ------------ ---------- ---- -------------
OSPool OK Healthy False False 127.9 GB 21.81 GB
Gather UpdateApp and verify it works
Start diskpart
so you can mount MainOS:
list volume
# select the volume called MainOS
select volume 42
# assuming M: is free
assign letter=m
exit
From the MainOS partition, go and hunt down the following files and drop them in a standalone folder (for example, X:\WCOS\Tools
):
\Windows\Servicing
- UpdateApp.exe
- CbsApi.dll
- CbsMsg.dll
\Windows\System32
- CbsCore.dll
- DrvServicing.dll
- IUSpaces.dll
- IUSpaces_vb.dll (copy and rename IUSpaces.dll)
- UpdateAPI.dll
- cimfs.dll
- cmiadapter.dll
- cmiaisupport.dll
- cmintegrator.dll
- dpx.dll
- drvstore.dll
- msdelta.dll
- mspatcha.dll
- mspatchc.dll
- turbostack.dll
- wcp.dll
- wdscore.dll
Run cmd.exe
as administrator, go to the tool directory, and try getting the installed packages on the image:
cd /d X:\WCOS\Tools
updateapp getinstalledpackages
The result should look a lot like the following:
UpdateApp - Update Application for Windows Mobile
[00:00:00] Loaded servicing stack from X:\wcos\tools with session name IUPackageInfoSession_EFIESP
[00:00:00] External storage staging directory is: (null)
[00:00:00] Closing session IUPackageInfoSession_EFIESP
[00:00:00] Loaded servicing stack from X:\wcos\tools with session name IUPackageInfoSession_MainOS
[00:00:00] External storage staging directory is: (null)
[00:00:01] Closing session IUPackageInfoSession_MainOS
164 packages:
Microsoft-OneCore-HyperV-Guest-UpdateOS-Package~31bf3856ad364e35~amd64~en-US~10.0.19563.1000, UpdateOS
Microsoft-OneCore-HyperV-Guest-UpdateOS-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, UpdateOS
Microsoft-OneCore-ServicingStack-UpdateOS-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-OneCore-ServicingStack-UpdateOS-UX-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-OneCoreUpdateOS-Product-Package~31bf3856ad364e35~amd64~en-US~10.0.19563.1000, updateos
Microsoft-OneCoreUpdateOS-Product-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-Windows-OneCoreUpdateOS-ImageCustomization-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, updateos
Microsoft-Composable-ModernPC-BootEnvironment-Core-CodeIntegrity-Sbcp-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, EFIESP
Microsoft-OneCore-BcdBootoption-Package~31bf3856ad364e35~amd64~~10.0.19563.1000, EFIESP
[...]
getinstalledpackages completed successfully
command took 7 seconds