The disadvantages off the top of my head:
- Setup time
- Each VM running Windows requires a Windows license
- Take a lot of hard disk space
- VM software may cost money although some are free
- Slower
Now throw that all out because there are so many advantages that they vastly outweigh the disadvantages. Several comments have already been made on the pros and cons. But here are a couple advantage scenarios:
- Some software cannot coexist on the same computer. For example, Rockwell's FactoryTalk only allows me to install one version. But I might need an older version for a customer. I can have multiple VMs each with different versions. You can even run them simultaneously.
- I might need to support an older installation that requires older software like Windows XP. A virtual machine can run a completely different operating system from your physical computer. I can launch a VM running XP while my physical computer is running Windows 10.
- Imagine if your computer is stolen or the hard drive fails and has to be replaced. All the time it would take to download and reinstall all of the various software tools that you use. This can easily take several days. With a VM, keep your VM backed up to an external drive. Simply copy it to the new computer or hard drive. You can be back up in running in minutes.
- You need to load a software utility or tool onto your PC. But it turns out that tool breaks other software. Or worse yet, installs a virus or malware. VMs allow you to create a snapshot. This is a point in time that you can go back to at any time. Before I install or upgrade anything, I create a snapshot. Then after installing the software, I determine it doesn't help or causes a problem. I click a couple buttons to restore my snapshot and my virtual computer is restored to that point in time before I installed that tool. The install never happened.
- Snapshots also allow you to create a timeline and move forward and backward through that timeline. I can revert to a snapshot from last year before I installed a whole bunch of software. Then I can move back to a recent snapshot. You can even take a snapshot and create a separate virtual machine from that snapshot.
Just to clear up some terminology, the physical computer is known as the "host" and the operating system on the host is referred to as the host operating system. The virtual machine is referred to as the "guest" and the operating system on the guest is known as, you guessed it, the guest operating system. My host is running Windows 10, but my VMs range from XP up through Windows 10 and even a few Windows Server operating systems. But the host can be pretty much anything these days. Windows, Mac, Linux. And the guest can be any mix of Windows and Linux. It is a great way to try out something new. Like a new version of Windows (hello Windows 11) or to dip your toe in the Linux pool.
OG