This is an old revision of the document!
This guide will walk you through setting up VMWare and optimizing Windows on a virtualized machine.
You have two versions of of VMWare to choose from.
Hardware Configuration
Software Configuration
The following VBScript file (.vbs) will give all your VM's high priority after they have been started. You'll need to run this command from an elevated command prompt.
Const HIGH_PRIORITY = 128 strComputer = “.” Set objWMIService = GetObject(“winmgmts:” _ & “{impersonationLevel=impersonate}!\\” & strComputer & “\root\cimv2”) Set colProcesses = objWMIService.ExecQuery _ (“Select * from Win32_Process Where Name = 'vmware-vmx.exe'”) For Each objProcess in colProcesses objProcess.SetPriority(HIGH_PRIORITY) Next
The following command line arguments should be specified in the Minion launcher, without the quotes.
“-dx9single -forwardrenderer -nosound -nomusic -shareArchive -fps 5”
The following batch file (.cmd) will prevent Windows from automatically rebooting after Windows Updates are applied. You'll need to run this batch file from an elevated command prompt.
@ECHO OFF
CD /D “C:\WINDOWS\System32\Tasks\Microsoft\Windows\UpdateOrchestrator”
:LOOP
DEL /S /Q Reboot
MD Reboot
IF NOT EXIST Reboot\NUL GOTO LOOP
The following batch file (.cmd) will uninstall a ton of bloatware programs that come with Windows. You'll need to run this batch file from an elevated command prompt.
powershell -c “Get-AppxPackage *3dbuilder* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *windowsalarms* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *windowscalculator* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *windowscommunicationsapps* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *windowscamera* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *officehub* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *skypeapp* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *getstarted* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *zunemusic* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *windowsmaps* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *solitairecollection* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *bing* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *zunevideo* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *bingnews* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *onenote* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *people* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *phone* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *photos* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *windowsstore* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *bingsports* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *soundrecorder* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *bingweather* | Remove-AppxPackage”
powershell -c “Get-AppxPackage *xboxapp* | Remove-AppxPackage”
The following registry file (.reg) modifies the compatibility flags for GW2, which can make it run better.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
“D:\\Guild Wars 2\\Gw2-64.exe”=“~ DISABLEDXMAXIMIZEDWINDOWEDMODE WIN7RTM DisableDWM HIGHDPIAWARE DISABLETHEMES”
The following registry files (.reg) will disable a ton of unnecessary processes.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\TextInputHost.exe]
“Debugger”=““
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GameBar.exe]
“Debugger”=”“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GameBarFT.exe]
“Debugger”=”“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GameBarFTServer.exe]
“Debugger”=”“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GameBarElevatedFT.exe]
“Debugger”=”“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GameBarElevatedFT_Alias.exe]
“Debugger”=”“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\GameBarPresenceWriter.exe]
“Debugger”=”“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\smartscreen.exe]
“Debugger”=”“
The following registry file (.reg) will disable a ton of unnecessary services.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\AudioEndpointBuilder]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Audiosrv]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ClipSVC]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DusmSvc]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DiagTrack]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DispBrokerDesktopSvc]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Power]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Themes]
“Start”=dword:00000004
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wuauserv]
“Start”=dword:00000004
The following registry file (.reg) will disable a lot of Windows Security that you may not need on an isolated VM.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
“MoveImages”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BFE]
“Start”=dword:00000004
Holding shift and restarting the Windows 10 VM will allow you to boot to a diagnostic command prompt, in which you can delete some apps that otherwise cannot be removed.
CD /D C:\
DEL /S /Q TextInputHost.exe
DEL /S /Q *gamebar*.exe
DEL /S /Q MsMpEng.exe
CD /D “C:\Program Files\Windows Defender”
:LOOP
DEL /Q MsMpEng.exe
MD MsMpEng.exe
IF NOT EXIST MsMpEng.exe\NUL GOTO LOOP