Virtual Machines and OS Virtualization How To – Full Tutorial Guide

In this detailed guide we will show you exactly what do you need to get started with virtual machines and virtualization in general, as well as what exactly do you need in terms of hardware and what software you have to use to create your very first VM.

What is an ISO image? Do you need to enable virtualization in your BIOS? Why is my virtual machine lagging so much and how to fix that? You’ll find answers to all these questions and much more in this article. Here is all you need to know about virtual machines in a quite interesting and easy to understand tutorial. Let’s begin!

  1. Virtual Machines, Virtualization – Definitions And Use Cases
  2. Things You Need To Get Started With VMs
  3. Hardware Requirements? – How Much Is Enough
  4. Virtual Machines – Recommended PC specs
  5. Is Virtualization On Low-end PCs Possible?
  6. What Is a Hypervisor? – VM Management Software
  7. Fantastic ISO Images And Where To Find Them
  8. Enabling Virtualization In BIOS – How To
  9. Are Virtual Machines Safe? – OS Level Isolation / Network Isolation
  10. Can Your Virtual Machines Communicate With Each Other? – VM Networks
  11. Virtual Machines In a Server Environment + In The Cloud
  12. Virtual Machine Running Slow / Lagging – Most Common Reasons
  13. What Are Some Modern Alternatives To Virtualization?
  14. The Conclusion – How To Quickly Get Started With Virtual Machines

Check out also: How To Install Windows XP in VirtualBox – Full Step-by-Step Tutorial

Virtual Machines, Virtualization – Definitions And Use Cases

With the help of virtualization you can, among other things, experience the old classic discontinued operating systems once again!
With the help of virtualization you can, among other things, experience the old classic discontinued operating systems once again!

First things first, here are the short definitions of both virtualization and virtual machines, explained in quite simple and easy to understand terms.

Virtualization is a process that enables a computer to distribute its hardware resources among several isolated digital environments. Each virtual environment operates within its own designated resources, including separately allocated storage, processing power, and memory.

Virtual Machine (VM) is a software-based representation of a physical machine that runs on top of a host operating system (OS) and provides an isolated environment for executing guest operating systems and their associated applications.

Virtual machine software, also known as a hypervisor, creates a virtualized environment that includes virtual hardware components, such as a virtual CPU, memory, storage, and network interface, that are presented to the guest operating system as if they were physical hardware.

The guest operating system and its applications run inside the VM and have no direct access to the physical hardware of the host machine, providing an additional layer of isolation and security. Multiple virtual machines can run concurrently on a single physical machine, each with its own operating system and applications, and can be managed independently of each other.

Now you might ask what are the most common use cases for virtual machines. Well, there are quite a few, as virtual machines are widely used in many different places and contexts. Here are at least some of them:

  • Software Testing and Development: Virtual machines are often used for testing and development purposes, as they can provide a safe and isolated environment where developers can test their applications and software without attempting to run them on their main host system. Containers are also often used in this context.
  • Legacy Application Support: Virtual machines can be used to support legacy applications that are no longer compatible with modern operating systems.
  • Cloud Computing: Many cloud service providers use virtual machines to provide their customers with on-demand access to various different virtualized resources, be it computational power, storage, or networking capabilities.
  • Server Consolidation: Virtual machines can be used to consolidate multiple physical servers onto a single host, thereby reducing hardware costs and improving resource utilization.
  • Security: Virtual machines can be used to provide secure sandboxed environments, where potentially harmful applications can be run safely without risking the underlying system.
  • Disaster Recovery: Virtual machines can be used to create backups and replicas of physical machines, providing a quick and efficient way to recover from system failures or disasters.

These are most of the common applications of virtual machines and virtualization in today’s computing landscape. Now let’s move on to the things you need to create your own virtual machines.

Things You Need To Get Started With VMs

First things first, if you want to begin setting up your very first virtual machine right away, you’ll need to prepare a few things.

Here are all the things you need to successfully deploy a fully functional virtual machine in around 10 minutes total:

  • A PC that can handle virtualization well – more about the exact recommended specs in a short while.
  • A motherboard that supports virtualization – some older motherboards might not support virtualization at all, although nowadays a chance that you’ll come across one of these is extremely low.
  • Virtualization enabled in your BIOS – on some motherboards, virtualization won’t be enabled by default – if that’s the case for you, you’ll need to enter the BIOS and find an appropriate setting to change that. We’ll show you how to do that later on.
  • An ISO image of the installation media of the operating system you want to virtualize – these can be found in various places online, depending on the OS in question (more on that later too).
  • Around 10-15 minutes of your time – for setting up your virtual machine and then going through the regular OS install process in the VM environment. After that you’re all done!

More on the recommended PC specs you need to get your VMs going at a decent speed in the next paragraph.

Hardware Requirements? – How Much Is Enough

Virtual machines make use of a part of your host hardware resources that you decide to allocate to them.
Virtual machines make use of a part of your host hardware resources that you decide to allocate to them.

The final hardware requirements for running virtual machines will largely depend on two things: first the OS (or multiple OSs) that you wish to virtualize, and second, the things you want to use your virtual machine for in the end.

An older operating system in a VM (such as Microsoft Windows XP) will require much less resources from your host system than say a virtualized instance of Windows 10 or 11.

A fun fact here is that you can actually run Windows XP in a virtual machine with only 192 Mb of RAM assigned to it. For Windows 10 and 11 however, you would need at least 8GB of RAM to attempt to use the system without major issues.

Another thing is the final use case of your virtual machine. If you plan to use your virtualized Windows 10 copy for casual tasks such as web browsing and opening default Windows 10 software, you can make it work with 8GB of RAM with no real trouble.

If however, you’d like to do more memory-demanding tasks on your Win 10 VM, you would need to increase the amount of RAM you assigned to the virtualized OS instance substantially. Same goes with assigned CPU cores, video memory and so on.

Here are the most important things to consider when talking about PC hardware requirements and system minimal specification for successfully creating and running virtual machines:

  • Sufficient amount of disk space – every virtual machine needs a virtual drive. Virtual drives take up storage space on your chosen physical drive. As a rule of thumb, during the installation process you should create a virtual drive large enough to fit the OS itself and the additional software you plan to install on your VM later on. The exact amount of space you need will largely depend on the particular operating system you’re attempting to virtualize. In general, older, retro OS’s will require much less space than the newer ones such as Windows 7, 8 and modern Linux distributions such as for example Debian or Ubuntu.
  • At least 8 GB of RAM – every virtual machine you create will use a portion of your host system RAM that you’ll decide to assign to it. If you plan to use more than a few virtual machines at the same time, or use memory-heavy software on your single VM, make sure you have the right amount of RAM to spare. In general, for utilizing more than one virtual machine at once (with a relatively modern OS installed on it) you might want to have at least 16 GB of RAM on hand, depending on the tasks you’re trying to accomplish.
  • At least a quad-core CPU – while virtualization it possible on certain CPUs featuring only 2 processor cores, in most cases it’s highly advised to have at least a 4-core CPU on the host system when attempting to run any kind of modern OS in a virtual machine. It becomes even more important as the number of VM’s launched in parallel rises.
  • Enabled virtualization in your BIOS – as we’ve already mentioned before, on many different motherboards the virtualization capabilities will be deactivated by default. Enabling them is simply a matter of finding and changing the right setting in the BIOS.

Is Virtualization On Low-end PCs Possible?

Well, depending on how “low-end” we’re really talking, it varies. In theory, you could attempt to run a VM hypervisor on a 10 year old Windows 7 PC with 8 GB of RAM, however the overall experience most likely wouldn’t be pleasant, and you could potentially come across many issues caused by the hardware limitations of the host system.

Whenever you’re wondering whether or not your computer is powerful enough for virtualization you need to take three things into account: one – your CPU and its number of CPU cores (that ideally should be 4 or above), second – the amount of RAM you can assign to your VM, third – whether or not your computer would be able to run your chosen virtualized system on its physical host hardware. If not, it most probably won’t be able to virtualize it properly.

What Is a Hypervisor? – VM Management Software

Oracle's VirtualBox is among of the most popular hypervisor software out there, here at techtactician.com we use it exclusively for all our VM-related business.
Oracle’s VirtualBox is among of the most popular hypervisor software out there, here at techtactician.com we use it exclusively for all our VM-related business.

A hypervisor is a piece of software capable of creating, editing managing and running multiple instances of virtual machines.

The hypervisor is installed on your computer – so on physical hardware (the host system), and it enables you to virtualize and run almost any operating system (a guest system) within it.

There are multiple different types of hypervisor software, but we will share with you the two most popular ones that are in our honest opinion the easiest to use for a beginner (and notably, are both available for free).

What is the best hypervisor software then, and which ones are free? Well, we’ll stick with the two most popular hypervisors available for free personal use, that is Oracle’s VirtualBox and VMware.

These two programs are able to host and run as many different virtual machines as your hardware can handle, edit their settings and manage their states, all while including some great additional tools and utilities such as machine state snapshots, which are essentially saved states of your virtual machine that you can quickly load and come back to. These work much like video game save points and are one of the best things about using a virtualized operating system of any kind!

For the tutorials on our site we use mostly Oracle’s VirtualBox which you can get for free on their official site right here!

Fantastic ISO Images And Where To Find Them

A plenty of different OS install media disc images are available over on archive.org - be careful however, as most of these come from 3rd party distributions and certainly not all of them can be trusted.
A plenty of different OS install media disc images are available over on archive.org – be careful however, as most of these come from 3rd party distributions and certainly not all of them can be trusted.

Sourcing ISO images of various operating system installation media is essential to get your desired OS to run on your newly created virtual machine.

The ISO images in VM contexts are essentially virtual copies of the original OS installation media such as installation CD’s. They contain all the files that are needed to do a full OS install both on real hardware and in a virtual machine environment.

ISO images come in the form of single files with .iso extensions and are used by importing them to the virtual optical drive of your VM, which in turn enables you to start the OS install process from your newly supplied boot media.

When it comes to free and open-source operating systems such as Ubuntu Linux or Debian, the ISO images for these are available from official sources. With many retro operating systems however, (like Windows 98 or Windows XP) sourcing the ISO images becomes a little bit more non-obvious.

In short, if a commercial operating system becomes obsolete and reaches its end of life, sourcing the images of its installation media may become increasingly difficult as the time passes if the manufacturer doesn’t supply the images via official channels. As it turns out, in some cases, obtaining such ISO image legally might be quite a challenge.

Sourcing ISO images for your virtual machines is outside of the scope of this tutorial, however we go a little bit more in detail on this in our article about Windows XP virtualization here. Check it out if you want to know more!

Enabling virtualization in BIOS – How To

Just as we mentioned in the introduction, when it comes to some motherboards, the virtualization capabilities won’t be enabled by default. If that’s the case for you, your virtual machines simply won’t work until you change your BIOS settings. Which setting should you change to enable virtualization on your motherboard? Well, there are a few options depending both on your CPU (Intel & AMD both use different terminology here), and your motherboard model.

Here is how the virtualization setting might be named in BIOS on your motherboard:

  • Intel(R) Virtualization Technology – Intel motherboards.
  • SVM (Secure Virtual Machine) mode – AMD motherboards.
  • VT-x, AMD-V, Vanderpool…
  • …plus other names variations on these in some rare cases.

When it comes to accessing BIOS, the process involves pressing a certain keyboard key during the boot process. This specific key will differ from motherboard to motherboard and it will most likely be displayed somewhere on the boot screen when your computer starts.

Are Virtual Machines Safe? – OS Level Isolation / Network Isolation

One of the greatest things about virtual machines is that they are able to create an virtualized OS environment that is almost completely separated from your host operating system (depending on the exact settings of your VM).

Can malware from a virtual machine pose a threat for your host system? While it’s pretty hard for malware to break from the constraints of a virtual machine and such cases are very rare, it’s certainly not impossible. If you’re dealing with suspicious files the best practice is to attempt to fully isolate your virtual machine from your host system and take additional precautions.

Consider disabling the shared folders, shared clipboard or drag-and-drop features and refrain from connecting your virtual machine with your host system via virtualized network or a network adapter bridge if you plan to attempt to execute suspicious files on your virtual machine. This way you’ll be able to minimize the risk of malicious files on your VM posing a threat for your host hardware.

It’s also somewhat interesting that some malware might actually detect that it’s run on a virtualized system and shut down some of its functionalities to prevent detection. This can happen if a piece of malware that is engineered in this way “assumes” that it’s been executed in a antivirus software initialized sandbox environment. While this is not a rule, it certainly can happen.

All this makes local network isolated virtual machines perfect for obsolete retro operating system emulation, as well as testing software you might not fully trust. As a general rule executing suspicious programs in a local network isolated VM will always be safer than doing so on your host system.

As always, remember that if you’re using virtual machines in a server environment utilizing outbound network connections and handling critical data you have to implement all standard means of OS protection and refrain from loading suspicious files on your virtualized systems.

Can Your Virtual Machines Communicate With Each Other? – VM Networks

Most if not all hypervisor software give you almost full control over various network related settings of your virtual machines.
Most if not all hypervisor software give you almost full control over various network related settings of your virtual machines.

Yes, you can create a virtual network between your newly created virtual machines, however this is outside of the scope of this article. The process is fairly easy and it involves changing certain network settings in your virtual machine hypervisor software so that it’s able to see your virtual machines as if they would’ve been connected together on the same shared physical network.

Configuring a local network between your VMs is really fun and it can be a nice base for creating your very own local network lab without busting a fortune on costly networking equipment.

Moreover, if you’re for example a cybersecurity student, you most likely will have to deal with creating a basic VM network somewhere along your education path. Being able to connect your virtual machines within a simulated network finds its uses in many fields of computer science, and in basic configuration it’s only a few minutes of work!

Check out also: How To Install Windows XP in VirtualBox – Full Tutorial

Virtual Machines In a Server Environment + In The Cloud

Virtual machines are widely used for many enterprise level infrastructure solutions. A single powerful server can easily run tens of active virtual machines in parallel, each serving different sets of clients.

Running virtual machines in the cloud is also perfectly possible and it’s a widespread practice. Be it Amazon AWS services or Microsoft Azure, you’ll always find a number of ways to configure multiple VMs utilizing the power of cloud computing services.

How do larger companies actually make use of virtual machines? There are various ways running multiple virtual machines on a single server might be beneficial in an enterprise environment. The simplest ones include running legacy software on older operating systems, software testing on contemporary operating systems with certain configurations, internal infrastructure segmentation, easier resource management for multiple pieces of software running at once and much more.

Virtual Machine Running Slow / Lagging – Most Common Reasons

There are more than a few reasons for which your virtual machine might be running slow. Here are some of the ones that we found to be the most common.
There are more than a few reasons for which your virtual machine might be running slow. Here are some of the ones that we found to be the most common. | Photo: Razvan Cristea

There are quite a few reasons why your virtual machine might be running slow, lagging or stuttering during use. Here are some of the most common ones to help you troubleshoot your VMs.

  • Insufficient host system resources – there is always a chance that your hardware just isn’t enough to handle the particular OS that you want to virtualize. Refer to our hardware requirements segment a few paragraphs above if you think your PC might not cut it for your virtualization needs.
  • Wrong virtual machine configuration in the hypervisor software – even if your host system does have a sufficient amount of system resources to spare, you might not have set your virtual machine(s) to make use of all of the power it has to offer. If your VM is running slow, make sure that you’ve assigned an appropriate amount of CPU cores and a sufficient amount of RAM and GPU memory to your VM. Your virtualized system can only make use of the resources you make available to it – keep that in mind!
  • Misconfiguration of the virtualized OS – sometimes, the problem lies not in the VM configuration settings, but rather in the settings within the virtualized operating system itself. Take this into account while troubleshooting your virtual machines.
  • Other OS-specific compatibility issues – of course, this list doesn’t exhaust all the things that might cause your VM to run slow. In any case you can’t quite pinpoint the issue with your virtual machine, be sure to make use of Google to try and narrow down the problems with your specific virtualized OS and host hardware configuration.

With all this in mind, remember that virtualization is a very complex process under the hood, and in some cases (notably with some older operating systems) it might cause performance issues even on capable hardware.

If you’re experiencing any trouble, experiment with different settings in your hypervisor, and if nothing seems to work, turn to online resources for further help. Mind that optimizing virtual machines and their performance is a broad topic in itself, and the process differs greatly between different operating systems you might be trying to virtualize.

What Are Some Modern Alternatives To Virtualization?

If you don’t really need to virtualize a whole operating system environment, and you’d rather simply run a specific piece of software in a custom configured isolated environment, you might be interested in making use of containers.

One piece of software that is able to provide you with container creation and management capabilities (which is gaining lots of popularity recently) is Docker. You might have already heard about it somewhere!

Containers such as these provided by Docker don’t make use of the traditional virtualization process at all. They run on the very same kernel as your main host operating system, while still being isolated from both the OS itself and other existing containers that you might have created.

So, a container doesn’t emulate or virtualize an operating system – therefore one if its disadvantages (or rather, characteristics), could be the fact that it has to run on the same kernel (and architecture) of your host OS.

Containers are pretty cool, but we won’t be going in-depth on these in this very article. All you need to know is that if you just need to run some software in an isolated environment without virtualizing a whole operating system, you might turn to using containers, rather than to traditional virtual machines to save your host system resources.

Containers are much less resource-heavy and provide a similar level of security that virtual machines do, all with much less overhead!

The Conclusion – How To Quickly Get Started With Virtual Machines

Here is the install screen of the Windows XP virtual machine that we've successfully created. Read our Win XP VM tutorial for more information!
Here is the install screen of the Windows XP virtual machine that we’ve successfully created. Read our Win XP VM tutorial for more information!

Now you have all the basic knowledge about virtual machines, and provided you have sufficient hardware on hand, you’re ready to start your beautiful journey with OS virtualization right away. Isn’t that great?

You can begin with setting up your very first virtual machine right now if you’d like to. Check out our short yet detailed tutorial on creating a fully functional Windows XP virtual machine with internet access in VirtualBox software. You can learn a few neat things about the whole virtualization process there, as it is largely similar in terms of general setup, even between different operating systems. Best of luck!

Check out also: How To Install Windows XP in VirtualBox – Full Tutorial

Tom Smigla
Tom Smiglahttps://techtactician.com/
Tom is the founder of TechTactician.com with years of experience as a professional hardware and software reviewer. Armed with a master’s degree in Cultural Studies / Cyberculture & Media, he created the "Consumer Usability Benchmark Methodology" to ensure all the content he produces is practical and real-world focused.

Check out also:

Latest Articles