Fog Creek Software
Discussion Board




Virtual PC or Drive Image?

Thought the smart JoS community could educate me.

I'm confused as to the role virtual machines (VMWare or Virtual PC) can play for developers and testers. Do these products supplement or replace the use of imaging products like Ghost or Driveimage?

I'm about to reformat a machine that I'd like to be my "test" computer. It's got enough RAM, processor and HD. I was thinking of installing Windows Server 2003 on it as the base.

Then what? Would I use Virtual PC to install the other operating systems? Or use something like Drive Image to save that?

What if one of the operating systems I'd like occasional use of is Linux? Would that change the answer?

We have a license to both VPC and Drive Image, so cost isn't a factor. And the machine doesn't need to be screamingly fast, so it could survive a slowdown due to virtualization if that's the case.

I'd love a pointer to an article that describes the difference between these approaches and helps me choose.

Thanks in advance for advice, experiences, etc.

Jetguy
Thursday, June 03, 2004

I have never used VMWare or VPC but I believe they allow you to run say for example a Linux or Win 98 session under an OS like Win XP.

Contrast that with Ghost, DriveImage type software which simply makes a copy of your drive that be restored.

The benefits of VMWare or VPC is that you can easily switch to another OS in order to test your software.

The benefits of Ghosting your drive is that you don't have reinstall everything from scratch and can simply copy the image back to the drive.

Anon
Thursday, June 03, 2004

Maybe I should mention that with VMWare or VPC you can switch to another OS without rebooting or having another computer it is all done on the same PC thus eliminating huge testing labs with row after row of computers with different configurations of different OS's.

Anon
Thursday, June 03, 2004

Another thing to consider is that with VMWare you can purchase their GSK Server and run whatever you want, without having to install a base operating system. We used it for developing across several different platforms without having to have 5 seperate servers. Worked great (we did have quite a beefy box with it).

We also use VMWare for testing our current application against various setups. It is great because, like Ghost, you can capture and rebuild the machine quickly. Unlike Ghost, it also captures the state of the machine at the time it is run, so you can tweak a lot more settings.

As far as OSs, VMWare has a page of the OSs they support:

http://www.vmware.com/products/server/gsx_specs.html

I'm not sure about VirtualPC, but I do know we had a bugger of a time trying to get Linux to work properly, and access to devices seemed to be buggy. But that might have just been our configuration, and I don't have enough experience to know if that is a true problem.

CF
Thursday, June 03, 2004

Note that Virtual PC won't run on Windows Server 2003.

Basically the benefit of the VM solutions is that you get multiple OSs simultaneously on a single machine, so you can, for example, test an app under a bunch of different environments without rebooting or using multiple machines.

Ghost and its ilk are useful if you want to be able to store a system's current condition and restore it to that condition later. You could install and configure your test machine in a known state, and then Ghost it. Do a bunch of stuff that messes it up (maybe you're testing your installer, or some dicey beta software, or whatever), and when you're ready to return to the original configuration you just restore from the image.

You can, of course, maintain multiple images, so you could have configs like Windows XP with SP1 but otherwise bare, Windows XP with SP1 and MS Office, Windows XP with SP 2, etc. But just as with your regular old PC, only one of these is active at a time, and the image basically just recreates the way things were at the time you took the snapshot.

John C.
Thursday, June 03, 2004

VMWare/VPC is definately faster to restore back to your consistent base state than Ghost.  With ghost, you have to reformat and reinstall the whole system from the image.  But with a VMW/VPC virtual disk, you just hit the "off" button and tell it not to save the state.

Plus, using ghost will require you to have secondary storage for your images -- either a separate partition or data drive, or cd/dvd -- because you can't keep them on the drive you'll be wiping...

Ghost is great for sysadmins who need a standard setup for new PC's, and as a general system backup tool, but I would definately recommend the VMW/VPC route for application testing and most other scenarios where RAM is plentiful and reduced speed isn't an issue.

Joe
Thursday, June 03, 2004

"Note that Virtual PC won't run on Windows Server 2003."

That's not true. Windows Server 2003 is not a SUPPORTED host OS, but it works just fine. And, of course, Windows Server 2003 is a fully supported guest OS.

Brad Wilson (dotnetguy.techieswithcats.com)
Thursday, June 03, 2004

You can run multiple instances of VPC at once, if you have a bunch of RAM...

As others have said here - the benefit is having multiple machines available without multiple machines. I have a library of VPC's - Win2k3 bare, Win2k3 w/SQL Server, Win2k3 w/SharePoint, WinXP bare, WinXP w/VS.Net, etc.

When I want to try something funky, I pull a copy of the VPC, run it, and play with it until I break it. In addition, since the image is running as a virtual machine, I've got instant network capability and can share to local folders easily to move files in and out.

In addition, Virtual PC's make demos very, very easy - I just carry the server with me. No need for a network or internet connection in the room I'm giving the demo from.

Philo

Philo
Friday, June 04, 2004

Brad, thanks for the clarification. I tried to install VPC on WS2003 the other night and I guess I was too brain-dead to comprehend the difference between "not supported" and "won't work at all".

Using VPC for Ghost-like rollbacks, as Joe suggests, is an interesting idea. I've always had someplace to store the drive images and reinstallation hasn't seemed that slow, but I'll have to give that a try.

Incidentally, has anyone here attempted -- better yet, succeeded -- in running Longhorn within VPC (or VPC on top of Longhorn)? I haven't had time to even try, but it would be nice...

John C.
Friday, June 04, 2004

http://www.joelonsoftware.com/articles/fog0000000306.html

http://www.joelonsoftware.com/news/fog0000000103.html

Alex
Friday, June 04, 2004

I have been running Win2k3 in VPC on Win2k3 in test for the last few months without any problem.

Just me (Sir to you)
Friday, June 04, 2004

I couldn't install Windows XP in VPC on my XP Pro system for some reason... got a BSOD in the VPC when trying to boot up. Probably some hardware issue.

Windows 2000 installed and worked fine but I noticed that VPC is a good deal slower than the real thing. I used it to try out the latest Whidbey prerelease version. Technically it worked but it was so slow that I quickly ditched the idea of using Whidbey for any real work.

Chris Nahr
Friday, June 04, 2004

I've run Longhorn as a guest OS within VPC on a WinXP SP1 host w/ almost no problems...there are some articles out there if you google for it.  The biggest things were a very strong recommendation to install the "additional tools" into the guest OS, and a warning that the new side-docked task bar causes a nasty explorer memory leak.  I also found the VPC file sharing support to be buggy (sometimes it worked, sometimes it didn't).

As an aside, I can't say I'm particularly fond of the new Longhorn UI chrome...especially the new bits on top of File Explorer and Internet Explorer windows, and the side-docked task bar thingy.  What a waste of screen real estate...blech!

Joe
Friday, June 04, 2004

Virtual PC creates a virtual pc, and you can install dos, windows 2003, longhorn, or Linix or whatever.

I have little, or no idea why some comments here refer to some software and some OS not working with virtual pc. If it don’t work with VPC,then it likely will NOT work.

I have even installed VPC on windows XP HOME edition. I then installed a copy of windows xp in the VPC.

On Wednesday was the traveling Tech Ed show, and all demos of win 2003 server were ALL running on VPC. The same of course was observed at the MVP summit I attended in Redmond in April. In other words, every MSFT person I meet and looked at any demo they are running is using VPC.

I mean, how do you demonstrate to a audience how Small Business server can “push” installs of popular software to each client on the network? The demo on how to use SBS and have clients log on and get software installed on the client pc was a snap to demo to the audience. The MSFT presenter had a notebook with  1.6 gigs of ram, and a 60 gig drive. He had at least 30+ virtual pcs in the list. Most, if not all were win 2003 server. (the notebook was running 2003). There is not a MSFT person I KNOW that is not eating, breathing and using VPC as a general tool.

As for software testing? My gosh..how could/did one get along before?

I ran VPC all day yesterday testing my install (using the office developer edition and the MSI installer).

Wham…install test program…..wham install test update.

Wham shut down vpc…DISCARD changes (that means VPC will re-start with all changes DUMPED to the hard disk since the last start. In my case, we are talking about a clean windows xp with sp1 installed).

I was going wham, wham, wham all day long. I must have testing 20 to 30+ installs then simply restarted  VPC each time clean copy of windows xp.

I mean, tweak the msi install..test it again. I was like compiling software over an over!

How the hell can you even come close to using ghost to do this?

I sure as the heck can’t test 30 installs and tweaks to the install options in less then a hour with ghost, or a image system. Heck, shutting down VPC and discarding changes is much quicker then trying to un-install the software crap I just installed!

With VPC..you simply shutdown..and tell it to discard ANY changes to the virtual hard disk.

You got a windows XP box, but tomorrow you need to setup, test, and run  5 computers and configure Small Business Server. What do you do here?? You think you actually go to a clients site and play with a live system to screw the whole job you have up?

With VPC…you got the 5 computers all running, and all networked right in front of your face! And, you can test any setup scenario you want. Each of the clients can connect, and even run the web server on the sbs box. Want to test a web server…go ahead. Want to test creating some new group polices and security stuff…go ahead. You got  5 computers and can do whatever you want. This is really a true simulation…much like the Matrix. You can create and test virtual worlds. Of course, this all being done on a laptop while you enjoy a coffee at the local shop!

Want to test some remote software…or setup Terminal Services…go ahead.

Anyone who has to develop, and wants to test/learn/play with new software systems will instantly fall in love with VPC. And, once you try it…you will be so hooked as to wondering why you have not used it all the time.

To me, the real kicker is the speed at which you can lean, and test, and try new software, and new software systems.

I had a full MSDN subscription will zillions of cool server software stuff like SBS (small business server). I could not test, or use any of that software without a HUGE amount of effort to setup a test mule pc. And, then I am tied up and not mobile. Now, I can test and play with anything.

Want to learn, and try out SMS? Go ahead!

SMS = software management server = a system to push software installs to client pc’s on your network. You folks don’t actually walk around to each pc in the office and install software anymore. do you?

On the other hand, you do need to sit down and learn SMS..and you can’t really do that on a live system. Who has got a test network of 5 clean pc's at home? So, just setup a few pc’s with VPC, network them together on your virtual playground. and them play with sms. So, you need one sbs server, and 5 xp clients…good..done!...lets play!


What word processing is to writing, is what vpc is to software testing and developing and learning. Word processing lets you write more, and play more. Vpc does the same thing for any system you want to learn….

Really….if you are not running VPC..then I have to assume you are missing out some something really big here…..

Albert D. Kallal
Edmonton, Alberta Canada
kallal@msn.com
http://www.attcanada.net/~kallal.msn

Albert D. Kallal
Saturday, June 05, 2004

*  Recent Topics

*  Fog Creek Home