VMware
Conceptual illustration: a silver optical disc with a Windows-style four-pane tile, virtual machine cube and two small driver chips joined by blue installation arrows.

Create a Windows 11 ISO with VMware Tools and PVSCSI Drivers

A deployment pattern for authorized Windows 11 x64 installations on supported VMware platforms. Validate against your exact Windows, ADK, VMware Tools and virtual hardware versions before production use.

Custom Windows media can help Setup discover a PVSCSI disk and install VMware Tools consistently. Treat those as separate tasks: storage drivers must be available early enough for Setup, while the VMware Tools application is installed inside Windows. An answer file adds automation, but a small XML example is not a complete unattended installation.

Prepare supported media and a recovery plan

  • Use official Windows installation media, appropriate licensing and supported VM hardware. Configure the required UEFI, Secure Boot and virtual TPM capabilities; do not bypass Windows 11 hardware checks.
  • Install a compatible Windows ADK Deployment Tools component, including DISM, Windows System Image Manager and Oscdimg. Install the Windows PE add-on only if your workflow also needs it.
  • Obtain VMware Tools and the signed x64 PVSCSI driver package from approved vendor sources. Match the driver package to the guest OS and platform.
  • Work on a disposable build VM with ample space for source media, expanded images and the final ISO. Back up existing deployment assets and create a new output file.
  • Test in a disposable VM before replacing shared deployment media. Never use an unreviewed disk-wiping answer file against a machine with data.

Copy the media into a new workspace

The examples use C:\Win11Build\Media as a newly created media copy and separate empty mount directories under that workspace. Adjust every path to your own build. Copy all files from the mounted official ISO, including hidden files, into the media directory and clear read-only attributes on the copied files if necessary. Do not edit the original ISO.

Use an elevated Deployment and Imaging Tools environment. Inspect image indexes rather than assuming an edition number:

dism /Get-WimInfo /WimFile:C:\Win11Build\Media\sources\boot.wim
dism /Get-WimInfo /WimFile:C:\Win11Build\Media\sources\install.wim

Some media contains install.esd instead of install.wim. Inspect that file and export the required edition to a new WIM before servicing it. A single-image export usually becomes index 1; inspect the result again. Remove the copied ESD only after the new WIM has been verified. Keep the original source media intact.

Inject storage drivers into both setup and Windows

The Windows Setup image is commonly boot.wim index 2; verify its name in your media. Inject the signed PVSCSI driver into that image so Setup can see the target disk, then into the selected install image so the installed OS can boot from it. The paths below assume a verified single-edition install.wim at index 1 and a directory containing only the intended signed driver package:

dism /Mount-Image /ImageFile:C:\Win11Build\Media\sources\boot.wim /Index:2 /MountDir:C:\Win11Build\MountBoot
dism /Image:C:\Win11Build\MountBoot /Add-Driver /Driver:C:\Win11Build\Drivers\PVSCSI /Recurse
dism /Image:C:\Win11Build\MountBoot /Get-Drivers
dism /Unmount-Image /MountDir:C:\Win11Build\MountBoot /Commit

dism /Mount-Image /ImageFile:C:\Win11Build\Media\sources\install.wim /Index:1 /MountDir:C:\Win11Build\MountInstall
dism /Image:C:\Win11Build\MountInstall /Add-Driver /Driver:C:\Win11Build\Drivers\PVSCSI /Recurse
dism /Image:C:\Win11Build\MountInstall /Get-Drivers
dism /Unmount-Image /MountDir:C:\Win11Build\MountInstall /Commit

Create the two mount directories beforehand and ensure they are empty. Run each command separately and stop on an error; committing after a failed driver operation is not a valid success check. Do not use ForceUnsigned. If early network access requires VMXNET3, add the appropriate signed network driver to the relevant images too. Windows Recovery Environment has its own driver requirements and needs separate recovery testing.

If a servicing operation fails, inspect dism /Get-MountedImageInfo and the DISM log. Discard only the unfinished mount belonging to this build when that is the intended recovery. Do not run global mount cleanup or delete a directory that may contain another administratorโ€™s mounted image.

Stage the complete VMware Tools payload

Copy the approved Tools installer and all required companion files into Media\sources\$OEM$\$$\Setup\Scripts\VMwareTools. Windows Setup maps this location to %WINDIR%\Setup\Scripts\VMwareTools. This avoids assuming that installation media will be drive D:.

Create Media\sources\$OEM$\$$\Setup\Scripts\InstallVMwareTools.cmd with a wrapper appropriate to the supplied installer. This example supports the common setup64.exe and setup.exe names; verify the silent options against the actual Tools release:

@echo off
setlocal
set "ToolsDir=%~dp0VMwareTools"
set "Installer=%ToolsDir%\setup64.exe"
if not exist "%Installer%" set "Installer=%ToolsDir%\setup.exe"
if not exist "%Installer%" exit /b 2
pushd "%ToolsDir%" || exit /b 3
start "" /wait "%Installer%" /S /v"/qn REBOOT=R"
set "Result=%ERRORLEVEL%"
popd
if "%Result%"=="3010" exit /b 0
exit /b %Result%

Return code 3010 indicates that a reboot is required; the wrapper lets Windows Setup finish its own restart sequence. Record installation results in your deployment logging and confirm the required reboot occurred. A script returning success is not proof that every driver or Tools component is healthy.

Create and validate your answer file

Use Windows System Image Manager with the catalog for the exact selected Windows image. Configure the installation, edition selection and OOBE behavior you actually require, then validate the answer file. Do not copy fixed administrator passwords, automatic logon settings, product keys or destructive partition rules from a public example.

The following is only a specialize-pass fragment showing the Tools launch. Merge the component through Windows SIM into your own validated answer file; it is not a complete unattended answer file:

Example Tools setup component

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
  <settings pass="specialize">
    <component name="Microsoft-Windows-Deployment"
      processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35"
      language="neutral" versionScope="nonSxS"
      xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
      <RunSynchronous>
        <RunSynchronousCommand wcm:action="add">
          <Order>1</Order>
          <Description>Install approved VMware Tools</Description>
          <Path>cmd.exe /c "%WINDIR%\Setup\Scripts\InstallVMwareTools.cmd"</Path>
          <WillReboot>Never</WillReboot>
        </RunSynchronousCommand>
      </RunSynchronous>
    </component>
  </settings>
</unattend>

Place the final validated Autounattend.xml at the media root when using Windows Setupโ€™s removable-media discovery workflow. Protect any sensitive settings and restrict access to the build directory and ISO. Encoding a password in an answer file is not equivalent to encrypting it.

Build a new ISO with Oscdimg

Use Oscdimg from the compatible ADK and boot files from the copied source media. The following example keeps the source boot entries and writes a new ISO; verify every path and ensure the output does not already exist:

oscdimg -m -o -u2 -udfver102 -bootdata:2#p0,e,bC:\Win11Build\Media\boot\etfsboot.com#pEF,e,bC:\Win11Build\Media\efi\microsoft\boot\efisys.bin C:\Win11Build\Media C:\Win11Build\Windows11-VMware-Custom.iso

Including legacy and UEFI boot entries does not make an unsupported Windows 11 BIOS configuration supported. Use the intended UEFI VM configuration. Boot-file selection and media behavior must be tested with the exact source ISO; do not substitute an unrelated ADK boot image merely because its filename matches.

Test installation and retain the original media

  • Boot a new disposable VM with the intended UEFI, Secure Boot, vTPM, controller and network settings. Confirm Setup sees the intended PVSCSI disk before allowing installation.
  • Confirm the selected Windows edition, answer-file behavior and absence of unintended partition deletion or exposed credentials.
  • After Setup and its restart complete, check VMware Tools service/version, Device Manager, storage and network operation, and Windows activation requirements.
  • Check Setup and installer logs, reboot again and test Windows recovery where your deployment requires it.
  • Record source ISO and driver/Tools versions, checksums, build settings and test results. Retain the original media and previous approved ISO so the deployment change can be reversed.

These commands are a documented build pattern, not evidence that your particular image has passed deployment testing. Validate the resulting media in your environment before promoting it.

References

Leave a Reply

Your email address will not be published. Required fields are marked *