Once your Virtual PC is up and running, you may want to tweak a few of it’s settings. Let’s go over the menu options available to you.
This menu is fairly straight forward, and lets you initiate certain actions.
Full Screen Mode: Just what it says, shifts your OS into full screen mode.
Ctrl+Alt+Del: Sends the Ctrl+Alt+Delete sequence to the virtual OS instead of the host OS.
Pause: This places your OS into a stasis mode. This can be useful if your host system gets overloaded and you need to free up some resources. Note that it doesn’t close the window, merely suspends it.
Reset: This is the equivalent of yanking the power plug, then plugging it back in. You should only use this in extreme cases where your virtual OS is locked up.
Close: This brings up a small dialog window that asks if you wish to Save State or Turn Off. Turn Off is similar to Reset, in that it just stops whatever was going on and dumps the VPC from memory. Like Reset, you should only use this in extreme cases. Save State is very similar to the Hibernate mode in Windows, it puts the virtual OS into a suspended state.
Install or Update Virtual Machine Additions: This will install some very useful tools into your Virtual OS. These additions will make it easier to use the mouse (no more having to hit Right Alt to get your mouse out of the window). It will also allow you to share your host computers hard disks with the virtual computer. To the virtual computer they will appear as a network drive. If you use windows as a virtual OS, you’ll definitely want these additions. Be aware though that virtual additions also exist for many Linux distros.
Properties: Displays a four tabbed dialog that will give you info about your running virtual computer.
Most of the items on the edit menu are pretty obvious. Copy, Paste, and Select All do just what they say. The real gem is Settings, which lets you tweak your VPC settings. I will focus on it shortly.
Your CD menu will vary depending on how many CD/DVD drives you have in your machine. All will start with Use Physical Drive… and let you access your computers CD/DVD drive to do common tasks like load software or listen to your favorite tunes.
Also on the menu will be a Release Physical Drive… for each drive you are using. When you no longer need the drive, you can click Release to free it up. There’s also an Eject CD option to pop the CD out without releasing use of the drive.
Capture ISO Image will let you take an ISO file, and treat it as if it were a real CD or DVD. This is quite useful for all those ISO images you wind up downloading from your MSDN subscription. (For those unfamiliar, an ISO is a CD or DVD disk image. You can use software such as Nero, Sonic, etc. to take the ISO and turn it into a CD full of files. )
BUG ALERT!!!! VPC has an issue with this Capture ISO Image command. There is a size limit of approximately 2 gig. If the ISO is bigger than that, VPC will fail but give you some really odd errors.
To get around this, in the host OS you can first mount the ISO like I describe in my September 13th blog post (http://arcanecode.wordpress.com/2006/09/13/virtualization/) then, using the machine additions, share the drive.
The commands under Floppy are almost identical to those in CD. I can’t recall the last time I used a Floppy, heck my last two computers don’t even have floppies, so I suspect this isn’t a command you’ll use much. But just in case, it’s there.
The Help menu has three commands, Virtual PC Help brings up the help file. Virtual PC Online takes you to the Microsoft site for VPC. Finally, About Virtual PC brings up a dialog displaying the version number and other info about the virtual environment.
That wraps up the menus, now let’s talk about Settings.
Accessible from either Edit, Settings or the Settings button on the Virtual PC Console, this dialog is where the real power resides to tweak your VPC. Let’s take a look at some of the more useful options.
File Name: Lets you rename the virtual machine. Sort of useless since you can do it from the OS, but what the heck.
Memory: This can be useful, in various ways. First, you can test your application to see how it performs under various memory conditions. Second, you may discover you’ve set your VPC too low. Finally, you may shift your VPC from one host computer to another, and the new host may not have as much ram (or more!).
Hard Disk 1..3: These will let you assign a virtual hard drive to a virtual computer. When you copy an existing VPC to create a new one, you’ll want to open up the settings and point to the new VHD, otherwise you’ll wind up still accessing the old one, which more than likely isn’t what you want.
Undo Disks: When enabled, this will write all changes you make to a VPC to an undo disk. When the session is over (i.e. you turn it off or reboot) you are asked if you want to commit your changes or discard. If you commit, your changes are placed into the VHD as you normally would without undo disks.
However, if you elect to discard, then the changes are thrown away. Your VPC is reset to the same condition it was when you first started. This is quite useful if you want to test install programs, to make sure everything installed correctly but don’t care about it after that. It’s also useful for training environments.
Networking: Under networking you can select which network card in your real, host computer to give the virtual machine access to. For example, my laptop has both wireless and wired networking, and through this option I can select which one to use (or I can select both). This mode is known as Virtual Networking.
In addition to Virtual Networking VPC also supports three other modes. Not Connected is pretty obvious, you are not allowing any network access. Local Only is used when you want to communicate with other virtual machines on the same host machine. This can be useful when you need a virtual pc to act as a client talking to a virtual server.
Finally, VPC has a mode called Shared networking (NAT). This is useful when you are using a dial up connection. Each VPC gets it’s address from a temporary, internal DHCP server. It then communicates to the internet via the host computer, which handles the network address translation. This is very similar to the way your home router talks to all of the computers on your home network.
Mouse: Once you install the machine additions, by default the mouse has pointer integration turned on. This is pretty simple, when you drag the mouse into the area of the window occupied by the VPC the mouse automatically is captured and used in the VPC. When you drag it out, it releases it.
There are a few cases where you may want to turn it off, such as when you are using a software KVM such as MaxiVista with it.
Shared Folders: Through shared folders you can access physical drives on your host computers environment. While this may seem quite convenient, you need to be careful. Opening up your host system to the virtual environment can present a security risk. If your virtual environment should get infected, that infection can spread to your host OS via the shared folders.
If you do choose to share folders (and sometimes you do need to), it will appear to your virtual OS to be a network drive. Normally this is no biggie, but be aware it can cause some trust issues with Visual Studio when attempting to open projects. I’ll post a fix for this later…
Hopefully now you have a good understanding of not only how to setup a Virtual Computer, but how to tweak the settings in VPC to make it do what you need. Don’t be afraid to experiment, change some settings and see what effect it has! (Just be sure to back up first!)