Microsoft Virtual PC 2007 SP1 and Sun xVM VirtualBox are both free hardware virtualization tools that can be used for testing purposes. If you plan to try Windows 7 or Windows Server 2008 R2, you should consider using a virtualization tool. Testing in a virtual environment has many advantages even if you have PCs for testing purposes. I guess most Windows admins tend to use Virtual PC simply because it is from Microsoft. However, VirtualBox is by the far the better tool, which is the topic of this article. VMware Workstation is certainly an even better choice if you are willing to spend $189.00. But for occasional testers, VirtualBox is sufficient.
- Poll: How reliable are ChatGPT and Bing Chat? - Tue, May 23 2023
- Pip install Boto3 - Thu, Mar 24 2022
- Install Boto3 (AWS SDK for Python) in Visual Studio Code (VS Code) on Windows - Wed, Feb 23 2022
When I first tried VirtualBox I thought it was not much different than Virtual PC. Only when I used it for a while did I find out that it has some essential features that Virtual PC lacks, as described below:
One of the biggest advantages of running software tests in a virtual environment is that you can create a snapshot of a stable configuration which allows you to go back to that point in time if you mess up your system. Virtual PC 2007 SP1 has an undo function which can be considered as a single snapshot. VirtualBox supports multiple snapshots. This way, you can save states of your virtual machines the same way you store different versions of a text document. You can also create snapshots while the virtual machine is running. Virtualbox's snapshot feature is as powerful as VMware Workstation's.
64-bit guest support
It is hard to believe but Virtual PC 2007 SP1 doesn't support 64-bit guest operating systems. You can run it on a 64-bit host, though. VirtualBox supports 64-bit hosts and guests. You probably know that there is no 32-bit version of Windows Server 2008 R2. Thus, Virtual PC is no option if you want to try Microsoft's latest server operating system. I ran Windows Server 2008 R2 on VirtualBox and it worked fine; just the virtual machine additions are not yet supported. This also applies for Windows 7. Basically, this means that there is no clipboard support (you can't use copy and paste text between host and guest) and there is no seamless mouse integration (you have to press STRG to leave the VM with the mouse pointer). You might also recognize slower video output without the guest additions. I hope the next release will bring this feature.
Support for Linux, Mac OS X, FreeBSD, OpenBSD and Solaris as guest OS
Virtual PC supports only Windows as guest OS. There is an emulation for the PowerPC-based Mac OS X, but as far as I know you can't run the x86 edition. You might be able to get Linux running on Virtual PC if you are a geek. But many report problems and it is not officially supported. VirtualBox on the other hand isn't that choosy about the guest OS. If you like to look beyond the Windows horizon every now and then, then VirtualBox is certainly the better choice. Moreover, VirtualBox can be installed on Windows, Apple OS X, Linux, and Solaris.
I didn't measure the performance difference between Virtual PC and VirtualBox myself. However, I have read several times that VirtualBox is faster. Tim Anderson compared the performance of VirtualBox 1.5.5 and Virtual PC using the PassMark suite and found that VirtualBox is about 50% faster than Virtual PC. The current edition of VirtualBox is 2.1.0. It is possible that the difference is even bigger now. Especially when you run multiple guests performance is an important factor even if you are only testing. (The Mars Box has a comprehensive performance comparison between VirtualBox and VMware Workstation.)
Remote Virtual Machines (RDP support)
If you have your virtual test environment on a remote server, then you will like the VirtualBox's VRDP feature. VirtualBox has a built-in RDP server (VRDP) which allows you to connect to virtual machines with any RDP client. This is especially useful if your test environment uses private IPs and NAT because you can use the host's IP for the RDP connection. To avoid conflicts with the RDP server of the host it is advisable to change the RDP port of the virtual machine. Each VM can have its own unique RDP port which allows you to connect to multiple VMs simultaneously. Note that the guest's RDP server doesn't have to be running. This should work even if the guest OS is Linux. I didn't try this, though. Another cool VRDP feature is that you can access local USB devices within the virtual machine that runs on a remote server.
VHD and VMDK support
VirtualBox has its own disk format VDI (Virtual Disk Image), but it can open Microsoft's VHD (Virtual Hard Disk) format and VMware's VMDK (Virtual Machine Disk File) format. You don’t have to import or convert virtual disks to load a third party virtual machine. This can be useful, if you already have virtual machines that you want to continue using with VirtualBox. Furthermore, it is possible to evaluate Microsoft software through its pre-configured VHDs . At least, this is the theory. I tried to launch two VHDs with VirtualBox on a Vista x64 host and it failed to open with the error message invalid pre-header. Sun already knows about this bug and it should be fixed in the next version. I was able to open a VMDK file that I created with VMware Workstation 6.5 in VirtualBox, but older VMware virtual machines did not boot up. I suppose there are ways to get these VMs running too. However, you probably have to invest some time.
I didn't discuss all the VirtualBox features that Virtual PC lacks (for example, multiple monitor support for the guest, or the ability to install VirtualBox on a GUI-less host), but it should be clear by now that VirtualBox is the more powerful virtualization solution.
Note that there are two editions of VirtualBox, an Open Source version and a commercial version. The commercial version is free of charge for personal and educational use. Commercial use for individuals within a company is also free if no more than one client connects to the host at a time.
The Open Source edition is released under the GNU General Public License (GPL) and lacks these features: RDP server, iSCSI support, Gigabit Ethernet Controller, and Serial ATA Controller.
Subscribe to 4sysops newsletter!
The only feature I really miss in VirtualBox is the ability to create linked clones. It is the only reason that I stick with VMware Workstation. Linked clones are copies of a virtual machine which only contain the changes made to the guest. This reduces the storage space significantly if you work with many virtual machines. However, if the decision is between Virtual PC and VirtualBox, the better choice is obvious.
Want to write for 4sysops? We are looking for new authors.
While I am generally a MS fan and against Sun, MS’s virtual machine progs are junk…in terms of speed and smooth operations. Compared to HyperV or VirtualPC, Virtual Box is like butter.
Just a comment about VirtualBox Guest Additions for Windows Server 2008 R2 and Windows 7 Betas. I have successfully installed Guest Additions on Windows 7 beta 7000. All you have to do is run the Guest Additions installer in Windows Vista Compatibility mode and it will install. YMMV because it is not officially supported. I haven’t tried this with Window 2008 R2 but I am guessing it will work also. If you would like to look at how to for Win 7 go here:
VirtualBox 2.1.2 has been released. It support Windows 7 Beta guests with Guest Additions now. Still no Server 2008 R2 support though.
Tom, I think Hyper-V is different topic because it is for server virtualization and not really useful testing purposes.
Jeff, thanks a lot for the hints!
Virtual PC 2007 has now reached rot status. MS only put in the effort in virtualization where the money is, that is the enterprise. End-user clients are screwed, VPC 2007 is the least full-featured of any x86 virtualization apps.
“Rot status” 😀 I like that expression. You are probably right.
On the same host (XP, E8400, 3 Gb ram), I’ve installed a basic Virtual Windows XP, incl. all latest updates on (under) both MS Virutal PC and Sun Virtualbox 2.2.
Then tried to run Crystalmark 2004R3 benchmark on both VM XP’s (not at the same time, because MS VPC and VirtualBox cannot run at the same time on the host).
The test went ok under MS VPC, but under VB it was impossible to execute the CPU, FPU, GDI and MEM tests.
It could indicate some incompatibilities affecting other applications executed under VB as well, or ?
However, as comment #7 says MS VPC 2007 is a dead end, making VB interessting – that is if you do not want to pay for VMWare’s desktop edition.