I often get questions on how I have set up the virtual test environment on my laptop. As I recently repaved it completely, the time was there to record all the steps. This first post discusses the general setup and all the tweaks I make to my virtual machines.
Platform & Software
My laptop is a Fujitsu Lifebook E780 with a Core i5 processor and 8 GB of RAM. My primary disk is 120 GB SSD from Crucial, my second disk a 500 GB 7200 RPM drive. I only use external drives to store my ISO files and software - I don’t run VM’s off them.
I’m using VMware Workstation exclusively and I recently upgraded to version 8. Once Windows 8 RTM’s I might consider using Hyper-V in the future but hadn’t enough time to test it out yet.
I have 3 base images for creating my virtual machines in a consistent manner:
- BASE1 – Windows Server 2008 R2 Enterprise
- BASE2 – Windows Server 2008 R2 Enterprise Core
- BASE3 – Windows 7 Enterprise
These base images use a preallocated virtual harddrive and a minimum of virtual hardware components:
I have a checklist that I use to setup these machines. It basically goes like this:
- Install the VMware tools
- Enable remote desktop & remote management (use sconfig on Server Core)
- Install CoreConfig on Server Core
- Enable the telnet client and .NET 3.5 on all machines (using CoreConfig on Server Core)
- Enable the WOW64 modules for PowerShell and .NET on Server Core to enable 32 bit (using CoreConfig)
- Install .NET 4.0 on all machines (Server Core setup file available here)
- Install Notepad2 and MyDefrag on all machines, even on Server Core
- Install IE9, Silverlight 5 and 7-Zip on the non-Server Core machines
- Disable the IE ESC mode
- Set the administrator password to never expire. Here’s how to do that in PowerShell:
$user = [adsi]"WinNT://./administrator" $user.UserFlags.value = $user.UserFlags.value -bor 0x10000 $user.CommitChanges()
- Set the PowerShell execution policy to ByPass:
- Disable LoopBackCheck in the registry
- Disable IPv6 in the registry
- Disable User Account Control
- Disable Certificate Revocation List checking by modifying the 4 machine.config files
- Disable the firewall. Here’s how that’s done in the command prompt:
netsh advfirewall set allprofiles state off
- Activate the machine
- Run WindowsUpdate (or Microsoft Update) and install all fixes
- Run a few disk defrags with MyDefrag
- Shutdown the machine
- Create a “Baseline” snapshot
- Create an additional snapshot that is sysprepped to clone from
When I first install a machine, I create a Baseline snapshot that is activated and not sysprepped. I then create another snapshot that is sysprepped to be cloned for my virtual machines.
Whenever I feel like updating my base image with new software or the latest fixes, I just revert to the Baseline image to keep it up to date:
When I updated the BaseLine I create a new snapshot that I use for future virtual machines:
Then when I want to create a new virtual machine, I clone from the latest snapshot I took:
In Part 2 I will show you how I set up my virtual network, virtual machines and domain infrastructure.