It is actually fascinating to emulate another computer system within your own. It involves creating a virtual machine which acts as a duplicate/clone to the real system. In this article, we will get to know about virtual machines, how to create virtual machines and the best things you can achieve from it.
Virtual Machines: Introduction
Virtual machines (VMs) are sometimes thought of complete software emulation of hardware systems. Modern virtual machines are much more optimized, and use the latest hardware virtualization technologies to avoid emulating as much as possible.
In fact, virtual machines are more of a resource isolation mechanism these days, but the overall idea remains true: a VM acts like a physical computer from the point of view of the OS and apps that run on it. Virtual machines are run under a tool called a virtualization tool, which runs on your PC (the host computer).
Since a normal PC also needs access to physical things such as CD-ROMs, hard drives etc, the virtualization platform needs to provide those. Hard drives are emulated through the host PC but are in reality a large file on the PC running the VM. Optical discs can either be the real drive from the host PC, or a virtual CD which is in reality an ISO file on the host disk.
The networking can even be tweaked to seem like the VM is another computer on the same network – it is then accessible to other computers, like any other. Or it can run inside an internal network that only exists on the host PC. It’s up to you to choose.
Virtualization platforms are so sophisticated that even graphics acceleration works on high-end systems. Even workstations can be virtualized.
Since a VM is the equivalent of a “bares bones” computer, you can install many operating systems, such as Windows, Linux and even Mac OS. That’s how you can get Linux running inside Windows for testing and research purposes. It’s also possible to reproduce very specific software configurations without having to build a new PC from scratch.
Finally, since VMs are more or less configuration files and a virtual disk, they can be cloned for various purposes. They offer flexibility that is extremely expensive to match with physical systems.
Unfortunately, a virtual machine would fail to replicate the exact performance that you get on a physical machine because of layers of overhead, but comes with a lot of advantages which we would discuss further as you read on. It’s a trade-off between convenience, and performance.
Software required to create virtual machines
To create and manage VMs, you need a virtualization tool such as the ones mentioned below. Any of them will allow you to configure a virtual system that suits your need, and start it. Here’s a good list, although there may be more.
- VMware Workstation Player: Available for Windows and Linux, it is one the best free solutions available which proves to be a robust program as well. It also offers a pro version to it, which unlocks some of the advanced features needed by professionals.
- VirtualBox: Available for Windows, Linux, and Mac OS X, it is one of the popular choices to create virtual machines. It offers more advanced features and tweaks to the user. However, it does not work as expected all the time. It did not work well for me as well. If it does work for you properly, it would prove better than VMware in some of the aspects.
- Parallels Desktop: Available for Mac, it is one of the best premium solutions to create a VM. It costs you around 80 USD (basic edition).
- VMware Fusion: Available for Mac, it is a separate VMware product dedicated to working on Mac operating system.
Steps to create virtual machines
Step #1: First of all, you would need a software which offers a good GUI to create virtual machines. As mentioned above, VMware, VMware Fusion, or VirtualBox would be the ones you should get installed on your system first.
Step #2: Create a new VM, and configure the hardware to your specifications by choosing CPU cores, hard disk space, RAM and other key elements. Save the configuration, and the VM is ready to be run. Now it needs an OS.
Step #3: Simply download the ISO image file of the Operating System with which you want to create the virtual machine. There are many Linux distributions (like Ubuntu) available on the web, or you can download Windows 7 or Windows 10. Typically, it’s best to have the OS as an ISO file, then assign it as the optical drive. You can now start the VM.
Step #6: As the VM starts and read the operating system in the ISO file, you should be on familiar ground. Just install the OS as you normally do. Bravo! You now have a virtual computer up and running. Have fun!
VirtualBox Setup Tutorial
VMware Setup Tutorial
Best reasons to use virtual machines
What can be done using virtual machines? Will it help you anyway? Would it affect your computer’s performance? There might be several similar questions on the benefits of using a Virtual Machine in your mind. We’ll try to cover the most frequent ones
Try new OS or OS configurations easily
When you setup a virtual machine using VMware or VirtualBox. You do not need to know about stuff like disk partitioning, dual boot and so on. You just need a few of clicks in order to set it up. So, there would be no risk of losing data from your hard drive, so you should feel free to create any kind of virtual machine preferred.
If you want to switch to a new Operating System that you are not yet comfortable with, you can install it on a Virtual Machine and then decide whether you like it or not.
Maybe you would require knowing the basics of the popular Operating Systems present (Ubuntu, Fedora, Mint, Windows, etc.), but you do not have enough time to install each of them separately and trying it out on your real system (you probably need your system as-is too!). Virtual machines to the rescue! Simply, download the ISO files of the operating systems from their respective official sites and get it running as a virtual machine.
Getting an Idea
Not just the application part of the virtual machines matter, but it can also help you experiment to know the physical dependencies of an Operating System. For instance – you want to try Windows 10 and study whether it works well on a low-end system, you can surely do that with the help of virtual machines. Virtual Machine players like VMware or VirtualBox lets you tweak the “virtual” hardware specifications (to a point).
Reproducing a specific environment
What if you work on something that only crashes when an old version of a security update is installed. What if it’s a combination of factors, such as Japanese keyboard and a specific mouse driver that makes everything act weird? Now you can reproduce all of this in a VM. Once the system behaves in an expected way, you can send the package to a colleague or a client for testing. Heck, you could even run some weirdo old web browser from Windows XP if you need to.
Sandboxing / Isolation
Virtual machines are greatly isolated, which what people also call running in “sandboxed” mode. Sandboxing is simply a security measure to prevent software from accessing things outside of a specific area. So, even if you have installed a software (OS) which may be considered vulnerable to attacks, running in a VM adds a layer that’s remote from your main system. If the VM gets infected, the host machine will not be. However, if you enable sharing of folder, networks etc… between the host machine and the virtual machine, things would turn out to be different.
Filed in . Read more about Operating System.