A virtual machine (VM) is a software-based environment that emulates a complete computer in the context of virtualization. It allows multiple operating systems to run concurrently on a physical host. We explain the functionality, benefits, and setup of VMs on Windows 11.

What is a virtual machine?

A VM is a virtual computer with its own operating system, accessing the resources of a host system. The guest system behaves like an independent PC with RAM, storage, and a file system. The foundation is the hypervisor, which runs as an application in the host system or directly on the hardware. It manages resource allocation and separates VMs from one another—a concept known as encapsulation.

Image: Image: Hypervisor-based hardware virtualization
Schematic representation of hypervisor-based hardware virtualization

Many hypervisors also offer emulation features. This allows runtime environments for different operating systems to be used on incompatible hardware.

Virtual machines in practical use

With hardware virtualization, you allocate the resources of a physical system to multiple virtual machines. Each VM operates independently from the host and other VMs—an advantage for security, stability, and flexibility.

Typical application areas are

  • Shared hosting,
  • VPS solutions and
  • Server consolidation.

Businesses consolidate applications like mail, file, or database servers on shared hardware with virtual machines. This saves costs and prevents unused computing power. VMs are also used in software development, for example, testing across different systems. VMs can be quickly created, cloned, and completely deleted without traces.

Emulation also allows simulating non-native software systems, such as running Linux on Windows. This creates an overhead since additional resources are needed for the hypervisor and the guest system. Performance loss is a concern, especially with resource-intensive applications. Assign clear hardware limits to virtual machines and ensure that the total load does not exceed the host’s capacity.

An overview of the advantages and disadvantages of virtual machines

Below, we outline the main advantages and disadvantages of virtual machines. The impact of these pros and cons primarily depends on how you want to deploy VMs and what purpose you aim to achieve with virtualization.

Advantages of virtual machines:

  • Multiple operating systems can be used simultaneously on a single hardware
  • Better utilization through server consolidation
  • Isolation increases security and stability
  • Centralized maintenance saves time and costs
  • Flexible deployment and easy migration

Disadvantages of virtual machines:

  • Performance loss due to hypervisor overhead
  • Bottlenecks during high utilization on shared systems
  • Hypervisor can be a vulnerability for attacks
  • Licensing issues with virtual operating systems often unclear

How to create a virtual machine tutorial

Below, we show you with a step-by-step guide how to create a virtual machine on a Windows host and run Ubuntu Linux as a guest system. For the tutorial, we use Windows 11. Oracle VM VirtualBox is used as hypervisor software.

Note

To follow the guide on your own system, you just need a Windows PC with internet access. The software used in the tutorial is available for free download from the internet.

Step 1: Choose hypervisor software

To provide virtual operating systems, various software solutions are available. Leading products are from companies like Oracle, VMware, and Parallels.

The following table shows the most popular hypervisor products for Windows, Linux, and macOS, as well as possible guest systems.

Virtualization software Host systems Guest systems
Oracle VM VirtualBox
  • Windows
  • Linux
  • Mac OS X
  • macOS
  • Solaris
  • Windows
  • Linux
  • Solaris
  • FreeBSD
VMware Workstation Player
  • Windows
  • Linux
  • Windows
  • Linux
  • NetWare
  • Solaris
  • FreeBSD
VMware Fusion
  • Mac OS X
  • macOS
  • Windows
  • Linux
  • NetWare
  • Solaris
  • FreeBSD
  • macOS
  • Mac OS X
Parallels Desktop for Mac
  • Mac OS X
  • macOS
  • Windows
  • Linux
  • macOS
  • Mac OS X
  • Solaris
  • FreeBSD
  • Android OS
  • Chrome OS

For the following tutorial, we used the hypervisor VM VirtualBox from Oracle. The software is available to users for free under the GNU General Public License (GNU GPLv2). We recommend downloading it from the provider’s website. Proceed as follows:

  1. Visit the page Oracle Download Page.

  2. Select the current download package for your operating system (in our case, Windows).

  3. Save the .exe file with the binary data in any directory on your computer.

Note

As a complement to the core software, Oracle provides the Oracle VM VirtualBox Extension Pack, a proprietary extension module for the open-source virtualization software, free of charge. However, you do not need the Extension Pack for this tutorial.

Step 2: Install Oracle VM VirtualBox

Once the download is complete, execute the binary package by double-clicking the .exe file. Follow the instructions of the installation wizard to install Oracle VM VirtualBox locally on your system.

At the end of the installation process, the software launches the Oracle VM VirtualBox Manager. Here, you create and manage your virtual machines.

Image: Oracle VirtualBox Manager start screen
Start screen of the Oracle VirtualBox Manager. The empty field on the left side indicates that no virtual machines have been created yet.

Step 3: Download operating system image

To run a guest system in a virtual machine, you need an operating system image. This is a memory image that the hypervisor software can interpret as a system hard disk. Such images can be in the open file format .iso. Common virtualization solutions also work with proprietary container formats for image files, such as .vmdk (VMware), .vhd (Xen and Microsoft Hyper-V), and .vdi (Oracle VM VirtualBox).

For this tutorial, we use the open-source operating system Ubuntu 24.04, which can be downloaded as an .iso file from the official Ubuntu project website. Proceed as follows:

  1. Go to the Ubuntu download page.

  2. Select the current version of the operating system and click “Download”

  3. Save the .iso file locally on your system.

Tip

If you want to run a virtual Windows PC as a guest system, you can find various image files for Hypervisor solutions from VMware, Hyper-V, VirtualBox, and Parallels on the official Microsoft Developer Website.

Step 4: Create a new virtual machine

Use the “New” button to add a new virtual machine to the Oracle VM VirtualBox Manager. Enter a name for the new virtual machine (spaces are not allowed) and specify the location of the previously downloaded ISO file. Ensure that the entries in the “Type,” “Subtype,” and “Version” fields match the guest system to be installed.

Image: Oracle VirtualBox Manager: Selecting the operating system
We’ve chosen the operating system type Linux, the subsystem Ubuntu, and the version Ubuntu (64-bit).

Also, check the box “Skip Unattended Installation” if you want to use the usual Ubuntu installation wizard after starting the VM. Otherwise, VirtualBox will perform an automatic installation of the operating system, and you won’t be able to set options like system language and keyboard layout yourself.

Note

If you prefer the “Unattended Install” option, you must create a user account in the menu of the same name to log in to the virtual machine and complete the installation of the VM!

Step 5: Assign hardware resources

Open the next category named “Hardware.” Here you can assign a portion of the memory and processor power provided by the host system to the new virtual machine. For Ubuntu 24.04, it is recommended to reserve at least 4 GB of memory and 2 CPUs.

Image: Oracle VirtualBox Manager: Hardware allocation
Enable the option “Enable EFI” if you want to emulate UEFI firmware instead of the classic BIOS.

Step 6: Create virtual hard disk

In the next step, decide whether to create a new virtual hard disk or assign an existing virtual hard disk to the virtual machine. In this tutorial, we will create a new virtual hard disk with a capacity of 25 gigabytes, where we will proceed to install the guest system from scratch.

To do this, select the option “Create a Virtual Hard Disk Now,” specify the desired storage location, and set the desired storage size with the slider. We will keep the default format VDI as the file type. If you check “Pre-allocate Full Size,” the virtual hard disk will be created with the maximum required size from the start, instead of growing dynamically. This can improve performance since the VM won’t constantly have to search for free storage resources later. However, enabling this option is not mandatory.

Image: Oracle VirtualBox Manager: Create Virtual Hard Disk
Create virtual hard disk in Oracle VirtualBox Manager

Step 7: Complete creation process and start VM

Once you have configured the desired setup, click on “Finish” to set up the virtual machine. The newly created VM will then appear with the name you have chosen in the list of available virtual machines.

Image: Oracle VirtualBox Manager with selectable VM
For each virtual machine, VM VirtualBox creates a file folder that contains, along with the VDI file for the virtual hard disk, a log file and a definition of the VM.

Once you click the “Start” button in the ribbon, the virtual machine opens in a new window, and VirtualBox boots the operating system stored in the ISO file. Since we chose to install Ubuntu from scratch, the virtual machine’s window shows the installation manager’s startup screen.

Note

All changes you make in your VM are automatically written to the VDI file you created as the virtual hard drive during configuration. If you want to run the guest system on another computer, simply copy your virtual machine‘s file folder (including the VDI file, log file, and definition) to the corresponding device.

VPS Hosting
VPS hosting at unbeatable prices on Dell Enterprise Servers
  • 1 Gbit/s bandwidth & unlimited traffic
  • Minimum 99.99% uptime & ISO-certified data centers
  • 24/7 premium support with a personal consultant
Was this article helpful?
Go to Main Menu