Virtual PC / Server
Disable hibernate in Vista/2008

If you're running Vista or Server 2008 in a virtual machine, you're unlikely to ever want to hibernate, however more virtual disk space might be useful.

powercfg -h off

Disables hibernation, removes hiberfil.sys, and gives you back a chunk of disk.

Enjoy.

Vista, Virtual PC, VMWare & Superfetch

Superfetch is a funky new service in Vista that tries to pre-cache all the files that you use on a regular basis to make your apps run faster and snappier.  While I'm sure this is a good idea in general, if you make heavy use of VMs on your machine you may have noticed a rather heavy load on the HDD.

On my laptop I've narrowed this down to Superfetch trying to pre-cache all of my .vhd and .vmdk files into memory as they're the files that I access the most.  Suffice to say a) they don't fit so it's a waste of time, and b) it does this at the expense of loading other apps. I guess it's logic is that I load Outlook once a week, but I nail the .vmdk files all day every day so that's what it spends the time loading.

Disabling Superfetch has transformed the system, and now the hard disk light goes out sometimes.  Try it out if you're seeing similar issues.

As always, YMMV,

Neil.

Installing Virtual Server 2005 R2 on Vista

You might not need this information at the moment, but if Vista ships before another release of Virtual Server (if Vista ever ships...) you may be glad of it.

First off, the Virtual Server install expects to be able to fiddle with IIS during it's install process and has a fright when it finds IIS7 installed.  You can install enough parts of IIS6 to make the install work however by issueing the following monster command:

start /w pkgmgr /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-ManagementScriptingTools;IIS-ManagementService;IIS-IIS6ManagementCompatibility;IIS-Metabase;IIS-WMICompatibility;IIS-LegacyScripts;IIS-LegacySnapIn;IIS-FTPPublishingService;IIS-FTPServer;IIS-FTPManagement;WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI

Twenty minutes later when that's finished you can run the Virtual Server install and it will work fine.  Now I've installed VS on Vista twice - the first time it just worked fine but the second time I couldn't administer it, the web interface just kept saying access denied when trying to connect to the Virtual Server service.  I also got this tell tale error message in the system eventlog from DCOM:

The application-specific permission settings do not grant Local Launch permission for the COM Server application with CLSID {DA3111BC-1BD7-4884-A535-8470D36028F7} to the user IMETA\Neil Rees SID (S-1-5-x-x-x-x-x)  from address LocalHost (Using LRPC). This security permission can be modified using the Component Services administrative tool.

Now there are many blogs on how to fix this, it the same as another bug that came up with WinXP SP2 and Win2003 SP1.  The "documented" fix is:

01. Open Component Services from the Administrative Tools folder of the Start menu.
02. Expand Component Services.
03. Expand Computers.
04. Expand My Computer.
05. Expand DCOM Config.
06. Right-click Virtual Server and press Properties.
07. Select the Security tab.
08. Press Customize in the Launch and Activation Permissions area.
09. Press Edit.
10. In the Group or user names list, press Authenticated Users.
11. Select the Allow box for Launch Permission in the Permissions for Authenticated Users list and press OK.
12. Press Customize in the Access Permissions area.
13. Press Edit.
14. In the Group or user names list, press Authenticated Users.
15. Select the Allow box for Access Permission in the Permissions for Authenticated Users list and press OK.
16. Press Apply.
17. Press OK.
18. Close Component Services.

Now this may work for you, however.... didn't work for me!

For me, the fix was to select "Use Default" for Launch Permissions and Access Permissions - and then REBOOT!!  It doesn't take effect otherwise.

Now it works.  Credit to numerous blogs for the material for this one!