Virtual machines allow you to run an operating system in an app window on your desktop that behaves like a full, separate computer. You can use them play around with different operating systems, run software your main operating system can’t, and try out apps in a safe, sandboxed environment.
There are several good free virtual machine (VM) apps out there, which makes setting up a virtual machine something anybody can do. You’ll need to install a VM app, and have access to installation media for the operating system you want to install.
What’s a Virtual Machine?
A virtual machine app creates a virtualized environment—called, simply enough, a virtual machine—that behaves like a separate computer system, complete with virtual hardware devices. The VM runs as a process in a window on your current operating system. You can boot an operating system installer disc (or live CD) inside the virtual machine, and the operating system will be “tricked” into thinking it’s running on a real computer. It will install and run just as it would on a real, physical machine. Whenever you want to use the operating system, you can open the virtual machine program and use it in a window on your current desktop.
In the VM world, the operating system actually running on your computer is called the host and any operating systems running inside VMs are called guests. It helps keep things from getting too confusing.
In a particular VM, the guest OS is stored on a virtual hard drive—a big, multi-gigabyte file stored on your real hard drive. The VM app presents this file the guest OS as a real hard drive. This means you won’t have to mess around with partitioning or doing anything else complicated with your real hard drive.
Virtualization does add some overhead, so don’t expect them to be as fast as if you had installed the operating system on real hardware. Demanding games or other apps that require serious graphics and CPU power don’t really do so well, so virtual machines aren’t the ideal way to play Windows PC games on Linux or Mac OS X—at least, not unless those games are much older or aren’t graphically demanding.
The limit to how many VMs you can have are really just limited by the amount of hard drive space. Here’s a peek at some of the VMs we use when testing things out while writing articles. As you can see, we’ve got full VMs with several versions of Windows and Ubuntu installed.
You can also run multiple VMs at the same time, but you’ll find yourself somewhat limited by your system resources. Each VM eats up some CPU time, RAM, and other resources.
Why You’d Want to Create a Virtual Machine
Aside from being good geeky fun to play around with, VMs offer a number of serious uses. They allow you to experiment with another OS without having to install it on your physical hardware. For example, they are a great way to mess around with Linux—or a new Linux distribution—and see if it feels right for you. When you’re done playing with an OS, you can just delete the VM.
VMs also provide a way to run another OS’ software. For example, as a Linux or Mac user, you could install Windows in a VM to run Windows apps you might not otherwise have access to. If you want to run a later version of Windows—like Windows 10—but have older apps that only run on XP, you could install Windows XP into a VM.
Another advantage VMs provide is that they are “sandboxed” from the rest of your system. Software inside a VM can’t escape the VM to tamper with the rest of your system. This makes VMs a safe place to test apps—or websites—you don’t trust and see what they do.
For example, when the “Hi, we’re from Windows” scammers came calling, we ran their software in a VM to see what they would actually do—the VM prevented the scammers from accessing our computer’s real operating system and files.
Sandboxing also allows you to run insecure OSes more safely. If you still need Windows XP for older apps, you could run it in a VM where at least the harm of running an old, unsupported OS is mitigated.
Virtual Machine Apps
There are several different virtual machine programs you can choose from:
- VirtualBox: (Windows, Linux, Mac OS X): VirtualBox is very popular because it’s open-source and completely free. There’s no paid version of VirtualBox, so you don’t have to deal with the usual “upgrade to get more features” upsells and nags. VirtualBox works very well, particularly on Windows and Linux where there’s less competition, making it a good place to start with VMs.
- VMware Player: (Windows, Linux): VMware has their own line of virtual machine programs. You can use VMware Player on Windows or Linux as a free, basic virtual machine tool. More advanced features—many of which are found in VirtualBox for free—require upgrading to the paid VMware Workstation program. We recommend starting out with VirtualBox, but if it doesn’t work properly you may want to try VMware Player.
- VMware Fusion: (Mac OS X): Mac users must buy VMware Fusion to use a VMware product, since the free VMware Player isn’t available on a Mac. However, VMware Fusion is more polished.
- Parallels Desktop: (Mac OS X): Macs also have Parallels Desktop available. Both Parallels Desktop and VMware Fusion for Mac are more polished than the virtual machine programs on other platforms, since they’re marketed to average Mac users who might want to run Windows software.
While VirtualBox works very well on Windows and Linux, Mac users may want to buy a more polished, integrated Parallels Desktop or VMware Fusion program. Windows and Linux tools like VirtualBox and VMware Player tend to be targeted to a geekier audience.
There are many more VM options, of course. Linux includes KVM, an integrated virtualization solution. Professional and Enterprise version of Windows 8 and 10—but not Windows 7—include Microsoft’s Hyper-V, another integrated virtual machine solution. These solutions can work well, but they don’t have the most user-friendly interfaces.
Setting Up a Virtual Machine
Once you’ve decided on a VM app and gotten it installed, setting up a VM is actually pretty easy. We’re going to run through the basic process in VirtualBox, but most apps handle creating a VM the same way.
Open up your VM app and click the button to create a new virtual machine.
You’ll be guided through the process by a wizard that first asks which OS you’ll be installing. If you type the name of the OS in the “Name” box, the app will most likely automatically select the type and version for the OS. If it doesn’t—or it guesses wrong—select those items yourself from the dropdown menus. When you’re done, click “Next.”
Based on the OS you plan to install, the wizard will preselect some default settings for you, but you can change them over the screens that follow. You’ll be asked how much memory to allocate to the VM. If you want something other than the default, select it here. Otherwise, just click “Next.” And don’t worry, you’ll be able to change this value later if you need to.
The wizard will also create the virtual hard disk file to be used by the VM. Unless you already have a virtual hard disk file you want to use, just select the option to create a new one.
You’ll also be asked whether to create a dynamically allocated or fixed size disk. With a dynamically allocated disk, you’ll set a maximum disk size, but the file will only grow to that size as it needs to. With a fixed size disk, you’ll also set a size, but the file created will be that large from its creation.
We recommend creating fixed size disks because, while they eat up a little more disk space, they also perform better—making your VM feel a bit more responsive. Plus, you’ll know how much disk space you’ve used and won’t get surprised when your VM files start growing.
You’ll then be able to set the size of the virtual disk. You’re free to go with the default setting or change the size to suit your needs. Once you click “Create,” the virtual hard disk is created.
After that, you’re dumped back into the main VM app window, where your new VM should show up. Make sure the installation media you need is available to the machine—usually this involves pointing to an ISO file or real disc through the VM’s settings. You can run your new VM by selecting it and hitting “Start.”
Of course, we’ve just touched on the basics of using VMs here. If you’re interested in more reading, check out some of our other guides:
- The Complete Guide to Speeding Up Your Virtual Machines
- How to Create and Run Virtual Machines with Hyper-V
- How to Install Android in VirtualBox
- How to Share Your Computer’s Files With a Virtual Machine
- Use Portable VirtualBox to Take Virtual Machines With You Everywhere
- 10 VirtualBox Tricks and Advanced Features You Should Know About
Have any other uses or tips for using VMs we didn’t touch on? Let us know in the comments!