How to turn off the beep sound in a virtual machine in Virtual Server 2005

I was getting really sick of hearing the beep sound that happens with a virtual server virtual machine every time any kind of OS event happened.  It was super super simple to fix this.  Below are the two commands and the link to the Microsoft KB article with the same steps. 

Step 1: On the host OS from the command prompt run sc config beep start= disabled

Step 2: On the host OS from the command prompt run net stop beep.

http://support.microsoft.com/?id=838671


Scripting automatic startup for virtual machines under Virtual Server

Virtual Server allows you to configure virtual machines to startup automatically when the host system boots.  However in order to enable this feature you need to configure a user account to run the virtual machine under first (as when the host system boots there is no available user session to run the virtual machine under).  Below is a script that will configure a virtual machine to start automatically when the host system boots - if it was running when the host system shutdown:

Set objVS = CreateObject("VirtualServer.Application")
Set objVM = objVS.FindVirtualMachine("VM Name")
objVM.RunAsDefinedAccount = True
result = objVM.SetAccountNameAndPassword("DOMAIN\Username","Password")
objVM.AutoStartAtLaunch = 2

If you want the virtual machine to always start (whether it was running before or not) you should set AutoStartAtLaunch to 1.

source: http://blogs.msdn.com/virtual_pc_guy/archive/2006/03/16/550717.aspx (external)


Consolidated Virtual PC Tips

I decided to consolidate the Virtual PC tips post that I have made lately.

Differencing Disk:

  • Will greatly save on disk space.
  • Remember to make base image read-only as making changes to it, may/most likely will render any child images unusable.

Performance Tuning

  • Tell WinXp/2003 to tune for best performance instead of letting windows decide.
  • It is best to have the virtual hard disk on a 2nd hard drive, this way the host OS and guest OS are not fighting for disk I/O.
  • Defrag both the host OS and guest OS.
  • Close as many applications on the host os as possible when running the virtual pc.  If you don’t need Outlook open or SQL Server running on the host OS, then close outlook and turn off SQL Server.
  • Don't allocate too much memory to the virtual pc.  a 50/50 split on the laptop seems to work pretty good.
  • You will want at least 1 gig of memory on the host computer to get a decent performance from Virtual PC.
  • Turn off the Virtual PC sound, serial ports, floppy disk, and any other device that you are not going to be using. 

Image Sizing

Virus Scan

  • Virus Scan engines are not able to actually scan the virtual hard disk for virus.  Therefore it is best to install a virus scanner on the guest OS and tell the host OS virus scanner to ignore the Virtual PC files. http://blogs.msdn.com/virtual_pc_guy/archive/2005/09/14/466291
  • The one change from the web site I would make it to specify the exact files to ignore instead of just the extensions.  If is safer that way.

Virtual Machine Additions

  • Make to always install the additions.  They include stability and performance enhancements that greatly increase the usability of virtual pc.
    Service Packs
  • There is a sevice pack 1 for both Virtual Pc and Virtual Server.  You will want to install both of these service packs.

Additional Links:


Virtualization Licensing Changes with Windows Server 2003

Microsoft announced some significant licensing changes with regards to virtualization and Windows Server 2003:

(1)  Starting with Windows Server 2003 R2 Enterprise Edition - customers can run up to 4 virtual instances of Windows Server 2003 (any edition) with no additional licensing costs.  Zero, nil.  Additionally, If you purchase Datacenter Edition of Windows Server, you can have unlimited virtual machines - still at no additional cost.  Pretty cool, huh?

(2)  Some of the Windows Server System products are licensed by the processor. (BizTalk, SQL, Etc)  When these technologies are run in a virtual machine, you only need to license for the virtual processors being used rather than for the physical processors in the host computer.

(3)  You can move active instances of a virtual instance from one computer to another without limitation.  This will allow, for example, a virtual image that is stored on a SAN to be deployed to any server with available resources and licenses.

(4)  To compliment the above scenario, licensing only counts towards the number of actually running virtual instances that are running.  This will allow customers to store as many dormant images as needed.

So why is Microsoft doing all of this?  Customer Ease. They wanted their licensing regarding virtualization to remove any potential barriers to customers using Virtual Server 2005. The best way they found to do this was to remove the licensing confusion and limitations and change the licensing to reflect how their customers actually use Virtualization Technologies.

Does these licensing changes apply only to Virtual Server 2005. No - you can use any virtualization technology that you want.

You can ready the full announcement here


Shrinking VPC Hard Drive Sizes

For those that have used Virtual PC before, you know how the vhd size can get pretty big in size.  I had one development image that we almost 8 gigs in size and it made it hard for remote developers to download the image.  You have been able to compact the virtual hard disk for sometime now but until the sp1 release, it did not shrink the vhd very far.  With the sp1 release, Microsoft included a precompact command line program.  Using the instructions below, I was able to shrink an XP development image from 7.7 gigs to 4.7 gigs.  One thing I did not do which may shrink it even more is to defrag the vpc hard drive before running precompat.

Instructions:

  • To use the precompact command line, you need to install the virtual machine additions first. 
  • Once that is done, you will need to capture the precompact iso (Virtual Disk Precompactor.iso) so that the precompat iso is mount to the cd drive.  The iso is located in c:\C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions. 
  • The precompact application runs inside of the vpc.  The run it, open a command line, navigate to the cd-rom drive (d:) and type precompact to compact all of the vhd files. 
  • After this is done, you will need to run the vpc virtual disk wizard,  select edit an existing virtual hard disk, then select compact it.

 


Virtual PC Links

Here is a bunch of VPC links that I have run across.  A lot of them deal with performance related issues or the size of the vhd.

Scripting launch dependencies under Virtual Server
http://blogs.msdn.com/virtual_pc_guy/archive/2005/09/29/473898.aspx

Securely configuring virtual machines
http://blogs.msdn.com/virtual_pc_guy/archive/2005/09/26/473890.aspx

Sizing memory for virtual machines appropriately
http://blogs.msdn.com/virtual_pc_guy/archive/2005/09/22/473045.aspx

Virtual PC / Virtual Server and Antivirus programs on the host computer
http://blogs.msdn.com/virtual_pc_guy/archive/2005/09/14/466291.aspx

Tweaking the performance of Virtual PC 2004
http://blogs.msdn.com/virtual_pc_guy/archive/2005/08/18/453174.aspx

Tips for compacting virtual hard disks
http://blogs.msdn.com/virtual_pc_guy/archive/2005/07/07/436216.aspx

Improving the performance of Virtual PC over Remote Desktop
http://blogs.msdn.com/virtual_pc_guy/archive/2005/05/02/414187.aspx

Creating LEAN_AND_MEAN Virtual Hard Disk (.vhd) Files
http://blogs.msdn.com/guowu/archive/2005/05/17/418457.aspx

Displaying a virtual machine in a PowerPoint presentation
http://blogs.technet.com/megand/archive/2005/05/25/405384.aspx

Dealing with a VHD that grew too large
http://blogs.technet.com/megand/archive/2005/05/13/404890.aspx

Good VPC Blog
http://blogs.technet.com/megand/default.aspx


Mini Hard Drive

I have been wanting a small external usb 2.0 hard drive for quite awhile.  Today I finally find one at http://www.iomagic.com/gigabank/giga.asp . 

Update: I actually ended up getting a portable drive from seagate (http://www.seagate.com/products/personal/portable/index.html).  I got to the store and they had this drive right next to the iogear.  Since seagate is a well-known brand I thought I would at least look at it.  The thing that sold me on the seagate besides the brand name was that it has an 8mb buffer and was a 100 GB instead of 80GB for only 30 dollars more.  I am going to be testing the drive over the next week or so.  My main goal is to use this drive to run my virtual server images plus I was tired of the size/weight of my external maxtor drive.


Virtual Server 2005

So I have been playing with virtual server for the last couple of weeks and absolutely love it.  I was never a big fan of virtual pc because of the slowness of it and it lacked the ability allow the host pc to communicate into the virtual pc.  With virtual server, I can easily configure and run multiple instances at once and it treats them each like a completely seperate server.  I can even remote into the virtual server which is handy as I am running it on my dev box but do most of my daily work on my laptop.  I have not noticed any slowness but I do have a pretty beefy dev box.  I could see myself using virtual server to do mock installs, emulate an nlbs environment for testing, pathfinding for stuff like whidbey/yukon, etc..

http://www.microsoft.com/windowsserversystem/virtualserver/default.mspx

There is also a migration toolkit that is in beta right now and looks promising.  This kit is suppose to allow you to take a physical machine and convert it into a virtual server image.  You can get more info at: http://www.microsoft.com/windowsserversystem/virtualserver/evaluation/vsmtbeta.mspx