What are the pros and cons of using a virtual machine given that I have a decent 64-bit computer with 4GB RAM and 64-bit OS?
For example, why should I use a virtual machine instead of dual-booting? What are the downsides?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityPros
Cons
We love using virtual machines for our development environments. This way they can be archived, backed-up, and especially shared much easier than having all of our tools installed on to a non-virtual environment.
This has been particularly useful dealing with supporting some old projects that require a build environment hosted upon Windows XP and an old version of Visual Studio.
Rather than dealing with the cost of modernizing the legacy environment just to support the old client maintenance work, now we can just fire up a virtual machine that is dedicated to that one particular project.
We actually now maintain a virtual development environment for each of our clients, and this has worked out great!
Old abandonware software will not work on new operating systems. In order to run them you can use virtual machine. You can also check if particular new software is compatible to old OS using virtual machine. Though some browsers are secure and protect you from threats most of the time but to get more protection, it's always better to use browser from virtual machine. In fact Vmware has virtual appliance browsers which you can use for security.That's not all. I do like viewing the old interface of OS - be it windows or linux.
Another advantage not mentioned yet is security. If the OS residing in your virtual machine gets infected, the intruder will face an additional hurdle to compromise the host environment. If you notice your virtual OS to be infected, it is much easier to just replace the virtual machine with a clean backup than to do a physical reinstall. I heard of a researcher who had different virtual machines for different activities: One for sensitive data, one for normal browsing and a third one for games. The latter two were replaced with a known clean version every week.
Don't know who downvoted your question.. I kind of like it. Different images off the same base images is a bonus, snap shots can be really useful, portability is a plus, not having to reboot for different OSes is nice...the only downsides i see are speed and support for full direct3d/other hardware accelerations in hardware.
Virtual machines can be used for lots of reasons. In software development they are often used for testing. VMs make it simple to rollback to a previous state and resume testing. VMs also provide the capability to test a variety of operating systems without having to have a physical server dedicated to each.
We also use VMs for staging into a production cluster. New updates are installed to a new VM where it is added to the cluster and tested. One of the older VMs is shutdown. The process is repeated until all of the VMs in the cluster are replaced.