Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

IT Support & Help Desk Fundamentals  Module 1 – The support role and a troubleshooting method

Build a practice lab with virtual machines

Choose a hypervisor your computer can run, get legal copies of Windows and Ubuntu to practise on, set up a Windows 11 VM with a TPM, and work on snapshots.

  • Beginner
  • 25 minutes
  • Examples run with Python 3.14.8 and Pyodide 314.0.7
  • By MySmartCoPilot
Free lesson, Pro answers: 25 minutes
Free: the whole lesson. With a pass: the model answers to its 2 interview questions.

What you will learn

  • Choose a hypervisor that runs on your computer and explain type 1 versus type 2
  • Find evaluation and no-cost operating systems you may legally use for practice, and keep to their terms
  • Configure a Windows 11 virtual machine that meets Microsoft's memory, disk, processor, Secure Boot and TPM requirements
  • Size a lab of several virtual machines to the memory and cores of its host
  • Use snapshots and isolated networks so that experiments never touch real data or real networks

Before you start

What you’ll learn · Before you start

What you will learn

  • Choose a hypervisor that runs on your computer and explain type 1 versus type 2
  • Find evaluation and no-cost operating systems you may legally use for practice, and keep to their terms
  • Configure a Windows 11 virtual machine that meets Microsoft's memory, disk, processor, Secure Boot and TPM requirements
  • Size a lab of several virtual machines to the memory and cores of its host
  • Use snapshots and isolated networks so that experiments never touch real data or real networks

Before you start

On this page

Every risky step a support technician learns, from a registry edit to a full reinstall, has to be practised somewhere, and a colleague’s laptop is never that place. A lab of virtual machines is: on the Mac this lesson’s examples ran on, 48 GB of memory holds Windows 11, Ubuntu Desktop and Ubuntu Server at the same time with 26 GB to spare, and a mistake in any of them is one snapshot away from undone.

You will choose a hypervisor your own computer can run and tell type 1 from type 2, find copies of Windows and Linux you may legally practise on, set up a Windows 11 VM that meets Microsoft’s requirements, size a lab to its host with a program that checks the plan, and keep every experiment on snapshots and isolated networks.

Type 2 runs on your OS, type 1 runs on the hardware

A virtual machine: A computer made of software: a processor, memory, disks and a network card that a hypervisor presents to an operating system installed inside it, the guest. Its short name is VM. (VM) is a computer made of software: a processor, memory, a disk and a network card that a program presents to an operating system installed inside it, the guest. The program that divides one real computer between several VMs is the hypervisor: The software that divides one physical computer between virtual machines, giving each its share of the processor, memory, storage and network..

What sits under the hypervisor decides its kind. A type 2 hypervisor: A hypervisor that runs as an app on a host operating system, also called hosted, such as Oracle VirtualBox or UTM. Its guests share the computer with the host's own programs., also called hosted, is an app on an operating system you already use; Oracle’s manual calls VirtualBox a hosted hypervisor, which needs an existing OS. A type 1 hypervisor: A hypervisor that runs directly on the hardware with no host operating system under it, also called bare metal. Hyper-V is one, even when it is turned on in Windows 11., or bare metal, runs directly on the hardware with no host OS beneath it. Step through both stacks, and follow one disk read through the hosted one:

Interactive · step by step Two ways to share one computer, hosted and bare metal Step through both stacks from the hardware up, and follow one disk read of a guest through the hosted one.
Two ways to share one computer, hosted and bare metal, step 9 of 9. Showing Type 2, Guest VMs, Hypervisor app, Host OS, Hardware, Type 1, Guest VMs (Windows and guests), Hypervisor, Hardware. In focus: Hypervisor, Guest VMs.Type 2hostedGuest VMsWindows 11, UbuntuHypervisor appUTM, VirtualBoxHost OSthe OS you work onHardwareCPU, memory, diskType 1bare metalGuest VMsWindows and guestsHypervisorHyper-VHardwareCPU, memory, disk

The drawing shows the whole scene; its 9 steps are listed below.

Every step as text
  1. The same hardware twice. Both columns start from one physical computer: a processor, a pool of memory, a disk and a network card. A hypervisor divides them between virtual machines, each of which behaves like a computer of its own.
  2. Type 2: a host OS first. On a laptop the hardware already runs an operating system, the host. It keeps doing its usual work, the browser, mail and files, while the lab runs beside it.
  3. The hypervisor is an app. A hosted, or type 2, hypervisor is installed on the host like any other app. VirtualBox runs on Windows, macOS and Linux; UTM runs on macOS and uses Apple's Hypervisor framework.
  4. Guests run inside the app. Each guest operating system gets virtual hardware from the app. Here that is a Windows 11 VM and an Ubuntu VM, running at the same time as the programs of the host.
  5. A guest reads its disk. The Windows 11 guest asks for a block of its C: drive. To the guest that is a disk; to the hypervisor app it is part of one large file on the host's disk.
  6. Through the host OS. The app asks the host OS to read that file, and the host OS reads the real disk. Every read passes through two systems, so a busy host slows every guest.
  7. Type 1: the hypervisor first. A bare-metal, or type 1, hypervisor runs directly on the hardware, with no host OS under it. NIST's guide to full virtualization notes that servers are most often virtualized this way, and desktops the hosted way.
  8. Guests sit on the hypervisor. The guests run straight on the hypervisor, one layer closer to the hardware. NIST points out that a hypervisor is much smaller than a host OS, so there is less software under the guests to fail or to attack.
  9. Hyper-V, even on Windows 11. Hyper-V is this kind. Microsoft documents it as a type 1 hypervisor that runs directly on the hardware; once you turn it on in Windows 11, Windows itself runs in the root partition, beside the guests.

The hosted stack has one more layer, and that is its price: the guests share the machine with the host’s own programs, so a host that is busy or short of memory slows every guest. The bare-metal stack is what servers usually run, and NIST’s guide adds a security reason, since a hypervisor is much smaller than a whole operating system.

Hyper-V is the case that catches people out. You turn it on as a feature of Windows, so it feels like an app, but Microsoft documents it as a type 1 hypervisor that runs directly on the hardware, with Windows in the root (parent) partition, which creates the guests’ child partitions. CompTIA’s A+ Core 1 objectives (exam 220-1201) list both kinds under virtualization concepts.

Exam names on this page

MySmartCoPilot has no link with CompTIA. The exam objectives are cited from CompTIA’s public certification page, linked under References.

Pick the hypervisor your computer can run

The host decides more than any preference does, so look at it first. This session asks the Mac this lesson’s examples ran on what it offers a lab:

What this Mac offers a lab of virtual machines Python · lab_session.py
from session import run

# What this Mac offers a practice lab: whether Apple's Hypervisor framework is available (1 means yes), the
# processor type that guests must match to be virtualized, and the memory and cores that every VM shares.
run("""
sw_vers
uname -m
sysctl -n kern.hv_support
sysctl hw.memsize hw.ncpu hw.nperflevels
sysctl hw.perflevel0.name hw.perflevel0.physicalcpu hw.perflevel1.name hw.perflevel1.physicalcpu
sysctl -n hw.memsize | awk '{ printf "%d bytes = %d GiB of memory\\n", $1, $1 / 1073741824 }'
""")

Output

$ sw_vers
ProductName:		macOS
ProductVersion:		26.7.1
BuildVersion:		25G241
$ uname -m
arm64
$ sysctl -n kern.hv_support
1
$ sysctl hw.memsize hw.ncpu hw.nperflevels
hw.memsize: 51539607552
hw.ncpu: 18
hw.nperflevels: 2
$ sysctl hw.perflevel0.name hw.perflevel0.physicalcpu hw.perflevel1.name hw.perflevel1.physicalcpu
hw.perflevel0.name: Super
hw.perflevel0.physicalcpu: 6
hw.perflevel1.name: Performance
hw.perflevel1.physicalcpu: 12
$ sysctl -n hw.memsize | awk '{ printf "%d bytes = %d GiB of memory\n", $1, $1 / 1073741824 }'
51539607552 bytes = 48 GiB of memory

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 lab_session.py

kern.hv_support printed 1, which is the check Apple’s documentation for its Hypervisor framework gives: this Mac can run VMs with hardware support. uname -m printed arm64, an Apple silicon processor, and that sets the rule for every guest: UTM’s documentation says virtualization needs the guest’s architecture to match the host’s, so arm64 guests run virtualized, while x86_64 guests are emulated and run far slower. The last line converts the 51,539,607,552 bytes of memory: exactly 48 GiB, shared by every VM and by macOS.

The same three questions decide the choice on any computer. Answer them for yours; each answer rules hypervisors out or adds a caveat, and says why:

Interactive · answer and compare Which hypervisor fits your computer? Answer three questions about the computer that will host your lab. The table marks the hypervisors that fit and says why the others do not.
What runs the computer that will host your lab?
Will the lab include Windows Server 2025?
Is Hyper-V already turned on for other work on this computer?

Answer the questions above: the table then marks what fits your case and says why the rest does not.

Four hypervisors against the hosts they run on and the way back after a mistake
Hypervisor Mac with Apple silicon Windows 11 Home Windows 11 Pro, Enterprise Linux desktop Getting back after a mistake
UTM What it is: an app for macOS that uses QEMU and Apple's Hypervisor framework Good arm64 guests run virtualized; x86_64 guests are emulated, far slower Poor not available: UTM is made for macOS and iOS Poor not available: UTM is made for macOS and iOS Poor not available: UTM is made for macOS and iOS Mixed Clone a whole VM first, or use Run without saving changes (QEMU backend only)
Oracle VirtualBox What it is: a hosted (type 2) hypervisor for Windows, macOS and Linux Mixed on Apple silicon it runs Arm guests only; x86 guests are not supported Good installs on Windows 10 and 11 with x86_64 processors Mixed installs, but its VMs may misbehave while the Hyper-V hypervisor is running Good packages for Ubuntu, Debian, Fedora, Oracle Linux and more Good Take, Restore and Delete in the Snapshots view
Hyper-V What it is: a feature of Windows that runs as a type 1 hypervisor Poor not available: Hyper-V is part of Windows Poor Microsoft: the Hyper-V role cannot be installed on Windows 11 Home Good built in: turn it on in Windows features, there is nothing to download Poor not available: Hyper-V is part of Windows Good checkpoints; Create Checkpoint and Apply keeps the present state too
KVM with virt-manager What it is: virtualization built into the Linux kernel, with a window to manage it Poor not available: KVM is part of the Linux kernel Poor not available: KVM is part of the Linux kernel Poor not available: KVM is part of the Linux kernel Good in the kernel already; sudo apt install virt-manager adds the window on Ubuntu Good libvirt keeps disk, memory and full-system snapshots
How the answers decide
  • “What runs the computer that will host your lab?” A Mac with Apple silicon: rules out Hyper-V and KVM with virt-manager. Hyper-V is part of Windows and KVM is part of the Linux kernel: neither runs on macOS.
  • “What runs the computer that will host your lab?” A Mac with Apple silicon: adds a caveat to Oracle VirtualBox. VirtualBox on an Arm host runs Arm guests only, so every guest needs an arm64 edition.
  • “What runs the computer that will host your lab?” Windows 11 Home: rules out Hyper-V. Microsoft says the Hyper-V role cannot be installed on Windows 10 Home or Windows 11 Home.
  • “What runs the computer that will host your lab?” Windows 11 Home: rules out UTM and KVM with virt-manager. UTM is made for macOS and iOS, and KVM is part of the Linux kernel.
  • “What runs the computer that will host your lab?” Windows 11 Pro, Enterprise or Education: rules out UTM and KVM with virt-manager. UTM is made for macOS and iOS, and KVM is part of the Linux kernel.
  • “What runs the computer that will host your lab?” A Linux desktop: rules out UTM and Hyper-V. UTM is made for macOS and iOS, and Hyper-V is part of Windows.
  • “What runs the computer that will host your lab?” A Mac with Apple silicon and “Will the lab include Windows Server 2025?” Yes: rules out Oracle VirtualBox. Windows Server 2025 comes as a 64-bit x64 ISO or VHD only, and VirtualBox on an Arm host runs no x86 guests.
  • “What runs the computer that will host your lab?” A Mac with Apple silicon and “Will the lab include Windows Server 2025?” Yes: adds a caveat to UTM. UTM can only emulate an x64 guest on Apple silicon, so Windows Server 2025 will run, but far more slowly than an arm64 guest.
  • “What runs the computer that will host your lab?” Windows 11 Pro, Enterprise or Education and “Is Hyper-V already turned on for other work on this computer?” Yes: adds a caveat to Oracle VirtualBox. Microsoft warns that other apps' VMs might not start or might run unreliably while the Hyper-V hypervisor runs; Oracle says never to run two hypervisors at once.

In short: UTM on a Mac with Apple silicon; Hyper-V on the Pro, Enterprise and Education editions of Windows 11, the three that Microsoft lists; VirtualBox on Windows 11 Home, where Microsoft says Hyper-V cannot be installed; and on a Linux desktop KVM, which Red Hat describes as letting Linux itself work as the hypervisor, with virt-manager as its window (sudo apt install virt-manager on Ubuntu).

Running two hypervisors at once

Wrong: install VirtualBox on a Windows 11 PC where Hyper-V is turned on, and start both kinds of VM. Right: use one hypervisor at a time. Microsoft warns that other apps’ VMs might not start or might run unreliably while the Hyper-V hypervisor runs, because they need the same processor features, and Oracle’s manual says that running VMs of competing hypervisors together can crash the whole host.

Checkpoint

Check: Type 1 and type 2 hypervisors · Choosing a hypervisor for the host

  1. Question 1 of 2 A colleague turns on Hyper-V in Windows 11 Enterprise from Turn Windows features on or off, restarts, and says: "It is an app on Windows, so it is a type 2 hypervisor, like VirtualBox." What is right?

    Choose one answer.

    A hint

    Ask what runs directly on the hardware after the restart.

    Show the answer: Question 1 of 2

    Answer: It is type 1: the hypervisor now runs on the hardware, and Windows runs above it in the root partition

    The kind of a hypervisor is set by what sits under it. VirtualBox and UTM are apps on a host OS, so they are type 2. Hyper-V runs on the hardware once it is turned on, and Windows runs in the root partition, which creates the guests' child partitions, so Microsoft calls it type 1 even on a Windows 11 PC.

  2. Question 2 of 2 On the Mac of this lesson, uname -m printed arm64 and kern.hv_support printed 1. Which guest runs virtualized in UTM, rather than emulated?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: The Arm64 ISO of the Windows 11 Enterprise evaluation

    Apple silicon virtualizes arm64 guests. UTM's System settings page says virtualization requires the guest architecture to match the host, aarch64 on Apple silicon, and any other architecture falls back to emulation. That is why the Mac's lab plan uses the arm64 editions of Windows 11 and Ubuntu.

Practice copies you may use, and the terms that come with them

A support lab should run the systems its desk supports, and each has a publisher’s page that says what you may download and on what terms. Four cover most first labs:

System What you download Its terms
Windows 11 Enterprise, version 26H2 An x64 or an Arm64 ISO, after registering A 90-day evaluation edition: A full copy of commercial software that its publisher lets you try for a limited time under stated terms, such as the 90-day evaluation of Windows 11 Enterprise., no product key; meant for IT professionals trying it for their organisation
Windows Server 2025 A 64-bit ISO or VHD, Datacenter or Standard 180 days; activate it over the internet within the first 10 days, or it shuts down
Ubuntu 26.04.1 LTS Desktop A 64-bit ISO for Intel or AMD (5.9 GB) or for ARM (3.9 GB) No charge; five years of security and maintenance updates for an LTS release
ChromeOS Flex A USB installer for Intel or AMD 64-bit PCs Supported only on the models Google lists and never on Arm, so it suits an old PC you own better than a VM

Read the terms column before you select Download. Microsoft’s page says what happens when a Windows 11 evaluation is not activated or its 90 days run out: the desktop turns black, a notice says the copy is not genuine, and the PC shuts down every hour. It also cannot be uninstalled from a PC, one more reason to keep it in a VM.

So build the lab to be rebuilt. Keep the ISOs and the runbook outside the VMs, and when an evaluation ends, install a new VM from the same ISO by following the runbook, instead of looking for ways to stretch the clock: the terms you accepted are the licence. One more limit on a Mac: Windows Server 2025 needs an x64 processor, so on Apple silicon it can be emulated but not virtualized.

Check a download before you install it

Microsoft’s download page for Windows 11 on Arm lists a SHA-256 hash for each ISO and the PowerShell command that computes one, Get-FileHash. Matching values mean the file is the one Microsoft published, not a damaged copy.

A Windows 11 VM needs what a Windows 11 PC needs

Windows 11 checks its hardware during setup, and a VM is hardware as far as setup can tell. Microsoft’s requirements page has a section for virtual machines; these are its minimums:

Requirement Minimum for a virtual machine
Firmware UEFI: a generation 2 VM in Hyper-V
Storage 64 GB or more
Security Secure Boot: A UEFI firmware feature that refuses to start firmware drivers, boot loaders or operating systems that are not signed with keys the firmware trusts. Windows 11 needs Secure Boot capable firmware, in a VM too. capable, with a virtual TPM: A Trusted Platform Module that the hypervisor emulates inside a virtual machine. Windows 11 asks for a TPM 2.0, so its VMs need a virtual one enabled. enabled
Memory 4 GB or more
Processor Two or more virtual processors

The same page notes that the virtual TPM 2.0 is emulated inside the guest, whatever TPM the Hyper-V host has. For Macs with M1, M2 and M3 chips, Microsoft offers Windows 365 in the cloud and calls Parallels Desktop an authorized way to run Windows 11; UTM’s guide adds that Windows needs a valid licence whichever hypervisor runs it. Each hypervisor keeps the settings in its own place:

Requirement UTM Hyper-V VirtualBox
UEFI UEFI Boot (QEMU) Generation 2 UEFI (Motherboard)
Secure Boot on with UEFI and the TPM on by default, template Microsoft Windows Secure Boot (Motherboard)
Virtual TPM 2.0 TPM 2.0 Device (QEMU) Set-VMKeyProtector, then Enable-VMTPM TPM Version (Motherboard)
4 GB of memory Memory (System) Startup memory Base Memory (Motherboard)
2 processors CPU cores (System) Set-VMProcessor Number of CPUs (Processor)
64 GB of disk Drive size, in GiB New virtual hard disk Disk Size

In UTM on a Mac with Apple silicon, following UTM’s Windows 11 guide:

  1. Download the Arm64 ISO of the Windows 11 Enterprise evaluation.
  2. In UTM, select + to open the wizard, then Virtualize, then Windows.
  3. Give the VM 4 GB of memory or more and at least 2 CPU cores, which the guide says Windows needs to install.
  4. Keep Install Windows 10 or higher and Install drivers and SPICE tools selected, and choose the ISO with Browse.
  5. Set the drive size. UTM’s GB is a gibibyte, so 64 there is about 68.7 billion bytes, above Microsoft’s 64 GB (bits, bytes and units explains why); 80 leaves room for updates.
  6. Select Save, run the VM, and press a key to start Windows Setup.

TPM and Secure Boot in UTM

UTM’s guide says newer versions turn on Secure Boot and the TPM by themselves. For a VM made without them, tick TPM 2.0 Device in its QEMU settings, then use the maintenance options Reset UEFI Variables and Preload Secure Boot Keys.

In Hyper-V on Windows 11 Pro, Enterprise or Education, following Microsoft’s pages:

  1. Turn Hyper-V on: Control Panel, Programs, Programs and Features, Turn Windows features on or off, select Hyper-V, then OK, and restart, or run Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All in an administrator PowerShell.
  2. In Hyper-V Manager select New, then Virtual Machine, and choose Generation 2: a generation 1 VM cannot be upgraded to Windows 11 in place.
  3. Assign 4 GB or more of startup memory, a lab switch (see the network section) and a virtual disk of 64 GB or more, and install from the ISO as a bootable image file.
  4. Secure Boot is already on. For a VM named win11, add the TPM and a second processor in an administrator PowerShell: Set-VMKeyProtector -VMName win11 -NewLocalKeyProtector, Enable-VMTPM -VMName win11 and Set-VMProcessor win11 -Count 2.

In VirtualBox they are all under Settings, System, except the disk size, which you choose when you create the VM; on an Apple silicon Mac the TPM and UEFI settings of an Arm VM are fixed by VirtualBox.

Checkpoint

Check: Legal practice copies and their terms · What a Windows 11 VM needs

  1. Question 1 of 2 What does Microsoft's Evaluation Center say happens when a Windows 11 Enterprise evaluation is not activated, or when its 90 days have run out?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: The desktop turns black, a notice says the copy is not genuine, and the PC shuts down every hour

    The Evaluation Center page is clear about the end of an evaluation: a black desktop, a persistent notice that the system is not genuine, and a shutdown every hour. A lab therefore keeps the ISO and the runbook outside the VM and builds a new VM when the 90 days end, within the terms that were accepted.

  2. Question 2 of 2 A Hyper-V VM for Windows 11 was created as generation 2 with 4 GB of startup memory, one virtual processor, a 64 GB virtual disk and Secure Boot on. Which changes does it still need to meet Microsoft's requirements for virtual machines? Choose every one.

    Choose every answer that is right.

    Show the answer: Question 2 of 2

    Answer:

    • A second virtual processor: Set-VMProcessor with -Count 2
    • A virtual TPM: Set-VMKeyProtector, then Enable-VMTPM

    Check the VM against the five rows of Microsoft's table: UEFI (generation 2, met), storage of 64 GB or more (met), Secure Boot and a virtual TPM (Secure Boot met, TPM missing), 4 GB of memory or more (met) and two or more virtual processors (one, missing). Two changes are left.

Size the whole lab before you build it

A lab is several VMs sharing one host, and Oracle’s manual warns that memory given to a running VM is not available to the host, which swaps until it all but stops when too little is left. So write the plan down first, in a file a program can check. Here are three such files: a plan for this Mac, a first plan for a 16 GB Windows 11 Home laptop, and that same laptop’s plan after the fixes below.

Plan 1: three arm64 VMs on a 48 GB Mac JSON · plans/lab-plan-1-mac.json
{
  "host": {"name": "this Mac, Apple silicon, UTM", "arch": "arm64", "memory_gb": 48, "cores": 18},
  "vms": [
    {"name": "win11", "os": "windows-11", "arch": "arm64", "memory_gb": 8, "vcpus": 4, "disk_gb": 80,
     "firmware": "uefi", "secure_boot": true, "tpm": "2.0", "network": "nat"},
    {"name": "desktop", "os": "ubuntu-desktop", "arch": "arm64", "memory_gb": 6, "vcpus": 2, "disk_gb": 40,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "nat"},
    {"name": "server", "os": "ubuntu-server", "arch": "arm64", "memory_gb": 4, "vcpus": 2, "disk_gb": 30,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "host-only"}
  ],
  "run_together": [["win11", "desktop", "server"]]
}
Plan 2: a 16 GB laptop, before the fixes JSON · plans/lab-plan-2-laptop.json
{
  "host": {"name": "a 16 GB Windows 11 Home laptop, VirtualBox", "arch": "x64", "memory_gb": 16, "cores": 8},
  "vms": [
    {"name": "win11", "os": "windows-11", "arch": "x64", "memory_gb": 3, "vcpus": 2, "disk_gb": 64,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "nat"},
    {"name": "desktop", "os": "ubuntu-desktop", "arch": "x64", "memory_gb": 6, "vcpus": 2, "disk_gb": 30,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "nat"},
    {"name": "server", "os": "windows-server-2025", "arch": "x64", "memory_gb": 4, "vcpus": 2, "disk_gb": 40,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "bridged"}
  ],
  "run_together": [["win11", "desktop", "server"]]
}
Plan 3: the same laptop, plan fixed JSON · plans/lab-plan-3-fixed.json
{
  "host": {"name": "the same laptop, plan fixed", "arch": "x64", "memory_gb": 16, "cores": 8},
  "vms": [
    {"name": "win11", "os": "windows-11", "arch": "x64", "memory_gb": 4, "vcpus": 2, "disk_gb": 64,
     "firmware": "uefi", "secure_boot": true, "tpm": "2.0", "network": "nat-network"},
    {"name": "desktop", "os": "ubuntu-desktop", "arch": "x64", "memory_gb": 6, "vcpus": 2, "disk_gb": 30,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "nat-network"},
    {"name": "server", "os": "windows-server-2025", "arch": "x64", "memory_gb": 4, "vcpus": 2, "disk_gb": 40,
     "firmware": "uefi", "secure_boot": true, "tpm": null, "network": "nat-network"}
  ],
  "run_together": [["win11", "desktop"], ["win11", "server"]]
}

The program below checks every VM in each lab-plan file against its guest’s minimums and the lab’s network rule, then adds up the memory of the VMs that run at once, plus 4 GB kept for the host:

Three lab plans checked against their minimums Python · plans/lab_plan_check.py
"""Checks every lab-plan-*.json in this folder against each guest's minimums and the lab's own rules."""
import glob
import json

# The minimums of each guest operating system, from its publisher's own page:
#   windows-11: https://learn.microsoft.com/en-us/windows/whats-new/windows-11-requirements ("Virtual machine support")
#   ubuntu-desktop: https://ubuntu.com/download/desktop ("System requirements")
#   ubuntu-server: https://ubuntu.com/server/docs/reference/installation/system-requirements/ (suggested minimums)
#   windows-server-2025: https://learn.microsoft.com/en-us/windows-server/get-started/hardware-requirements
NEEDS = {
    "windows-11": {"memory_gb": 4, "vcpus": 2, "disk_gb": 64, "arch": ["arm64", "x64"],
                   "uefi": True, "secure_boot": True, "tpm": "2.0"},
    "ubuntu-desktop": {"memory_gb": 6, "vcpus": 2, "disk_gb": 25, "arch": ["arm64", "x64"]},
    "ubuntu-server": {"memory_gb": 3, "vcpus": 1, "disk_gb": 25, "arch": ["arm64", "x64"]},
    "windows-server-2025": {"memory_gb": 2, "vcpus": 1, "disk_gb": 32, "arch": ["x64"]},
}
LAB_NETWORKS = ["nat", "nat-network", "host-only", "private"]  # never "bridged": that is the real network
KEEP_FOR_HOST_GB = 4  # left for the host itself: Windows 11's own minimum, used here as a floor


def vm_problems(vm, host):
    """Every way one VM misses its guest's minimums or a lab rule, in a fixed order."""
    need = NEEDS[vm["os"]]
    found = []
    if vm["arch"] not in need["arch"]:
        found.append(f"{vm['os']} has no {vm['arch']} edition")
    elif vm["arch"] != host["arch"]:
        found.append(f"an {vm['arch']} guest on an {host['arch']} host is emulated")
    if vm["memory_gb"] < need["memory_gb"]:
        found.append(f"memory {vm['memory_gb']} GB, the minimum is {need['memory_gb']} GB")
    if vm["vcpus"] < need["vcpus"]:
        found.append(f"{vm['vcpus']} virtual processor, the minimum is {need['vcpus']}")
    if vm["vcpus"] > host["cores"]:
        found.append(f"{vm['vcpus']} virtual processors, the host has {host['cores']} cores")
    if vm["disk_gb"] < need["disk_gb"]:
        found.append(f"disk {vm['disk_gb']} GB, the minimum is {need['disk_gb']} GB")
    if need.get("uefi") and vm["firmware"] != "uefi":
        found.append("needs UEFI firmware (in Hyper-V: generation 2)")
    if need.get("secure_boot") and not vm["secure_boot"]:
        found.append("needs Secure Boot turned on")
    if need.get("tpm") and vm["tpm"] != need["tpm"]:
        found.append(f"needs a virtual TPM {need['tpm']}, the plan has {vm['tpm'] or 'none'}")
    if vm["network"] not in LAB_NETWORKS:
        found.append(f"{vm['network']}: the VM joins the real network")
    return found


def check(name):
    with open(name, encoding="utf-8") as f:
        plan = json.load(f)
    host = plan["host"]
    print(f"{name}: {host['name']}")
    print(f"  host: {host['arch']}, {host['memory_gb']} GB memory, {host['cores']} cores")
    problems = 0
    vms = {vm["name"]: vm for vm in plan["vms"]}
    for vm in plan["vms"]:
        print(f"  {vm['name']}: {vm['os']} {vm['arch']}, {vm['memory_gb']} GB, "
              f"{vm['vcpus']} vCPU, {vm['disk_gb']} GB disk, {vm['network']}")
        for p in vm_problems(vm, host):
            print(f"    - {p}")
            problems += 1
    for together in plan["run_together"]:
        guests = sum(vms[n]["memory_gb"] for n in together)
        used = guests + KEEP_FOR_HOST_GB
        print(f"  at once: {' + '.join(together)}")
        print(f"    {guests} GB of VMs + {KEEP_FOR_HOST_GB} GB for the host = {used} of {host['memory_gb']} GB")
        if used > host["memory_gb"]:
            print(f"    - over by {used - host['memory_gb']} GB")
            problems += 1
    word = "problem" if problems == 1 else "problems"
    print(f"  result: {'ready' if problems == 0 else f'{problems} {word} to fix'}")
    print()


print("Windows 11 VM minimums (Microsoft): 4 GB memory, 2 virtual")
print("processors, 64 GB disk, UEFI, Secure Boot, a virtual TPM 2.0")
print()
for name in sorted(glob.glob("lab-plan-*.json")):
    check(name)

Output

Windows 11 VM minimums (Microsoft): 4 GB memory, 2 virtual
processors, 64 GB disk, UEFI, Secure Boot, a virtual TPM 2.0

lab-plan-1-mac.json: this Mac, Apple silicon, UTM
  host: arm64, 48 GB memory, 18 cores
  win11: windows-11 arm64, 8 GB, 4 vCPU, 80 GB disk, nat
  desktop: ubuntu-desktop arm64, 6 GB, 2 vCPU, 40 GB disk, nat
  server: ubuntu-server arm64, 4 GB, 2 vCPU, 30 GB disk, host-only
  at once: win11 + desktop + server
    18 GB of VMs + 4 GB for the host = 22 of 48 GB
  result: ready

lab-plan-2-laptop.json: a 16 GB Windows 11 Home laptop, VirtualBox
  host: x64, 16 GB memory, 8 cores
  win11: windows-11 x64, 3 GB, 2 vCPU, 64 GB disk, nat
    - memory 3 GB, the minimum is 4 GB
    - needs a virtual TPM 2.0, the plan has none
  desktop: ubuntu-desktop x64, 6 GB, 2 vCPU, 30 GB disk, nat
  server: windows-server-2025 x64, 4 GB, 2 vCPU, 40 GB disk, bridged
    - bridged: the VM joins the real network
  at once: win11 + desktop + server
    13 GB of VMs + 4 GB for the host = 17 of 16 GB
    - over by 1 GB
  result: 4 problems to fix

lab-plan-3-fixed.json: the same laptop, plan fixed
  host: x64, 16 GB memory, 8 cores
  win11: windows-11 x64, 4 GB, 2 vCPU, 64 GB disk, nat-network
  desktop: ubuntu-desktop x64, 6 GB, 2 vCPU, 30 GB disk, nat-network
  server: windows-server-2025 x64, 4 GB, 2 vCPU, 40 GB disk, nat-network
  at once: win11 + desktop
    10 GB of VMs + 4 GB for the host = 14 of 16 GB
  at once: win11 + server
    8 GB of VMs + 4 GB for the host = 12 of 16 GB
  result: ready

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 lab_plan_check.py

The Mac’s plan is ready: three arm64 guests use 18 GB, and with 4 GB for macOS that is 22 of 48 GB. The first plan for a 16 GB Windows 11 Home laptop has four problems: Windows 11 has 3 GB and no virtual TPM, the server sits on a bridged network, and all three VMs at once would need 17 GB. The fixed plan gives Windows 11 its 4 GB and a TPM 2.0, puts the VMs on a NAT network and runs two at a time, never more than 14 of 16 GB. That is the honest answer for a 16 GB laptop: Windows 11 and one other VM at once, not three.

Keep more for the host

Press Edit, set KEEP_FOR_HOST_GB to 8, a safer margin for a host that also runs a browser, and run it again. The Mac still has room, 26 of 48 GB, but on the laptop only Windows 11 with Windows Server fits at once, at exactly 16 of 16 GB.

Memory and disks count differently: 51,539,607,552 bytes, the memory this Mac reported, is 48 GiB to the byte, while disks are sold in decimal units and UTM sizes drives in gibibytes, so keep the data storage converter at hand. Leave room on the host’s disk too: the fixed laptop plan’s virtual disks add up to 134 GB before the first snapshot, and Oracle’s manual asks for spare space in the VM folder when you use snapshots.

Take a snapshot before every risky step

A troubleshooting method that holds under pressure puts reversible step: A troubleshooting step that can be undone without losing anything, such as a restart, a disabled startup item or an uninstalled update. Reversible steps come before ones with no way back, such as a reset. More in “A troubleshooting method that holds under pressure” before destructive ones. A snapshot: A saved state of a virtual machine, its settings, its disks and, if it was running, its memory, to which the VM can be restored later. Hyper-V calls it a checkpoint. It is not a backup. makes nearly any step in a VM reversible: it records the VM’s settings and the state of its disks at one moment, and its memory too if it was running, so that you can return to that moment. VirtualBox calls them snapshots and Hyper-V calls them checkpoints. Follow the routine around one registry edit:

Interactive · stage by stage One risky step in a lab VM, with the way back Step through the routine around one registry edit in a Windows 11 VM. Each step says what to do and what the hypervisor does.
One risky step in a lab VM, with the way back, step 6 of 6. Showing 1. Take a snapshot, 2. Make one change, 3. Test the whole task, 4. Keep what works, 5. Write it down. In focus: 5. Write it down.restore1. Take a snapshotnamed for what it holds2. Make one changehere, one registry edit3. Test the whole taskas the user would4. Keep what worksnew snapshot, old ones out5. Write it downchange, snapshot, result

The drawing shows the whole scene; its 6 steps are listed below.

Every step as text
  1. Name the state you keep. Before the change, take a snapshot and name it for what it holds, such as win11 clean, updated, before registry edit. VirtualBox asks for a name and a description; Hyper-V names a checkpoint after the VM and the time unless you rename it.
  2. One change, nothing else. Make the one change you came to practise, and nothing else. Two changes at once leave you unsure which one caused what you see next.
  3. Test the whole task. Restart if the change needs it, then do what the user would do: sign in, open the app, print. A setting that looks right is not yet a task that works.
  4. Broken? Restore. If it broke something, restore the snapshot. VirtualBox's Restore throws the current state away, so take one more snapshot first if you want to study the broken one; Hyper-V's Create Checkpoint and Apply does both in one go.
  5. Works? Keep it, prune the rest. If it worked, the current state is the new good one: take a snapshot if you will build on it, and delete those you no longer need, because each one keeps its own data on the host's disk.
  6. One line in the runbook. Write down what you changed, which snapshot you started from and what happened. The next session, or the next person, can repeat the step or skip the dead end.

Three facts keep the routine honest. Restoring is one-way: VirtualBox discards the current state when it restores a snapshot, and Hyper-V’s plain Apply cannot be undone, which is why both let you keep the present state first. A snapshot is not a backup: Microsoft writes that a standard checkpoint “is not a full backup” and can cause data consistency issues in systems that replicate between machines, such as Active Directory. And a snapshot keeps whatever was in the VM, passwords and memory contents included; NIST counts that among the biggest security issues of snapshots.

Key idea

Name a snapshot for the state it holds, make one change, test the whole task, then keep or restore: every risky step in the lab becomes one you can take back.

UTM’s documentation offers two other ways back on the VM’s action menu: Clone, a full copy made before the risky change, and Run without saving changes, a disposable run whose writes are lost at shut-down (QEMU backend only).

Counting snapshots as backups

Wrong: “The VM has twelve snapshots, so the lab is backed up.” Right: snapshots are kept with the VM’s own files on the host’s disk, so one failed disk takes the VM and every snapshot with it. Keep the ISOs, the runbook and anything you would miss in a backup outside the lab.

Checkpoint

Check: Sizing a lab to its host · Snapshots before risky steps

  1. Question 1 of 2 The fixed laptop plan has win11 with 4 GB, desktop with 6 GB and server with 4 GB, on a 16 GB host, and the checker keeps 4 GB for the host. How many GB would all three VMs need at once, counting the host's 4 GB?

    Type a number.

    A hint

    Add the three VMs, then the memory kept for the host.

    Show the answer: Question 1 of 2

    Answer: 18 GB

    4 + 6 + 4 = 14 GB of VMs, plus 4 GB for the host, is 18 GB: 2 GB more than the laptop has. That is why the fixed plan runs two VMs at a time, at most 10 + 4 = 14 of 16 GB, as the recorded run shows.

  2. Question 2 of 2 A registry edit in a VirtualBox VM broke sign-in. You want to go back to the snapshot "before registry edit", but also keep the broken state to study later. What do you do first?

    Choose one answer.

    Show the answer: Question 2 of 2

    Answer: Take a new snapshot of the current state, then restore "before registry edit"

    Restoring is one-way: in VirtualBox the current state is lost, and in Hyper-V a plain Apply cannot be undone. So keep what you may want later before you go back: take a snapshot of the broken state, then restore the good one.

Keep the lab off real networks and away from real data

Every VM has a virtual network card, and the hypervisor decides where its cable goes. NIST’s guide names three common ways, bridging, NAT and host-only, and the hypervisors add a private kind. The names differ between products; what each lets through does not:

Mode VirtualBox · UTM · Hyper-V What the VM can reach
NAT network: A virtual network on which VMs reach the internet through the host's address, while machines outside cannot open a connection to them unless a port is forwarded. NAT and NAT Network · Shared Network · internal switch with NAT The internet, through the host’s address; nothing outside can open a connection to it unless you forward a port
host-only network: A virtual network that connects VMs with the host and with each other, but not with the real network or the internet. Host-only · Host Only · internal switch The host and other VMs on that network, not the internet
Private Internal · no mode of its own · private switch Only the other VMs on that network
Bridged Bridged · Bridged · external switch The real network, as one more machine on it

VirtualBox’s plain NAT puts each VM on a network of its own, so two VMs cannot reach each other; its NAT Network mode adds that, which is why the fixed laptop plan uses it.

Bridged makes a lab part of someone else’s network. Picture a Windows Server VM practising the DHCP role, bridged to the office Wi-Fi. RFC 2131 has every new client broadcast its request on the local network and pick one of the offers that come back, so office laptops can be handed lab addresses by a server meant only for practice. On a NAT, host-only or private network the same server answers lab VMs alone. Use bridged only for a test that needs the real network, with the agreement of whoever runs it.

Machines and data follow the same rule:

  • Practise only on VMs and computers that are yours, never on a colleague’s, a customer’s or a production machine.
  • Use made-up data: invented names and sample files you wrote, never an export of real users or customers.
  • Give lab accounts lab-only passwords that you use nowhere else, and mark them in the runbook as lab-only.
  • Keep the ISOs and the runbook outside the VMs, so that a rebuild never depends on a broken VM.

Key idea

A lab stays a lab while nothing in it belongs to anyone else: its VMs sit on NAT, host-only or private networks, and its data and passwords are made up for it.

Checkpoint

Check: Isolated networks and made-up data

  1. Question 1 of 2 A Windows Server VM is practising the DHCP role, and a second lab VM should get its address from it. Which network keeps the server's offers away from every machine outside the lab?

    Choose one answer.

    Show the answer: Question 1 of 2

    Answer: A private network: VirtualBox's Internal mode or a Hyper-V private switch

    The network mode decides who can hear a VM. On a private network only the lab VMs on it can. On a bridged network every device of the office can, and each new DHCP client takes one of the offers it hears, possibly the lab's.

  2. Question 2 of 2 Which of these belong in a practice lab? Choose every one.

    Choose every answer that is right.

    Show the answer: Question 2 of 2

    Answer:

    • Invented user names and sample files made for the lab
    • A lab-only password, marked as lab-only in the runbook

    A lab is safe to break because nothing in it belongs to anyone else: made-up data, lab-only passwords, and only machines that are yours. Anything real that enters it can stay in every snapshot taken afterwards.

Practise: a checker for Windows 11 VM plans

The program in the sizing section checks whole labs. Write its core yourself: one function that lists every Windows 11 requirement a VM plan misses, in the order of Microsoft’s list. The sample tests include plans at exactly the minimums, so a <= written where < belongs fails at once.

Exercise · Easy · Python

List what a VM plan misses for Windows 11

Write check_vm(plan). It returns a list of every Windows 11 virtual machine requirement that plan misses, as the short names below, in this order (the order of Microsoft's list): an empty list when the plan meets them all.

| Name | The plan meets it when | | --- | --- | | "uefi" | plan["firmware"] is "uefi" (in Hyper-V, a generation 2 VM) | | "storage" | plan["disk_gb"] is 64 or more | | "secure-boot" | plan["secure_boot"] is True | | "tpm" | plan["tpm"] is "2.0" (a plan with no virtual TPM has None) | | "memory" | plan["memory_gb"] is 4 or more | | "processors" | plan["vcpus"] is 2 or more |

  • A plan at exactly the minimums, 64 GB, 4 GB and 2 virtual processors with UEFI, Secure Boot and a TPM 2.0, returns [].
  • A generation 1 plan, {"firmware": "bios", "secure_boot": False, …} with everything else met, returns ["uefi", "secure-boot"].
  • A plan with 2 GB of memory and 1 virtual processor returns ["memory", "processors"], never the other way round.
  • A virtual TPM 1.2 does not count: Windows 11 asks for version 2.0.
  • plan itself must not change.

Starter code · check_vm.py

def check_vm(plan):
    """Return the Windows 11 VM requirements that plan misses, in the order of Microsoft's list."""
    unmet = []
    return unmet
The sample tests · test_check_vm.py
from check_vm import check_vm


def plan(**changes):
    """A plan at exactly Windows 11's VM minimums, with the given fields changed."""
    p = {"firmware": "uefi", "disk_gb": 64, "secure_boot": True, "tpm": "2.0", "memory_gb": 4, "vcpus": 2}
    p.update(changes)
    return p


def test_minimums_meet_every_requirement():
    """a plan at exactly the minimums, or above them, misses nothing"""
    assert check_vm(plan()) == []
    assert check_vm(plan(disk_gb=80, memory_gb=8, vcpus=4)) == []


def test_generation_1_plan():
    """BIOS firmware without Secure Boot misses uefi and secure-boot, in that order"""
    assert check_vm(plan(firmware="bios", secure_boot=False)) == ["uefi", "secure-boot"]


def test_disk_below_64():
    """a disk of 63.9 or 60 GB misses storage"""
    assert check_vm(plan(disk_gb=63.9)) == ["storage"]
    assert check_vm(plan(disk_gb=60)) == ["storage"]


def test_tpm_missing_or_old():
    """no virtual TPM, or a TPM 1.2, misses tpm"""
    assert check_vm(plan(tpm=None)) == ["tpm"]
    assert check_vm(plan(tpm="1.2")) == ["tpm"]


def test_memory_and_processors_in_order():
    """2 GB and 1 virtual processor miss memory, then processors"""
    assert check_vm(plan(memory_gb=2, vcpus=1)) == ["memory", "processors"]
    assert check_vm(plan(memory_gb=3.5)) == ["memory"]


def test_everything_missed():
    """a plan that misses all six lists them in the order of Microsoft's page"""
    bad = plan(firmware="bios", disk_gb=32, secure_boot=False, tpm=None, memory_gb=2, vcpus=1)
    before = dict(bad)
    assert check_vm(bad) == ["uefi", "storage", "secure-boot", "tpm", "memory", "processors"]
    assert bad == before
A hint

Write one if per requirement, in the table's order, and unmet.append(...) the name when the plan misses it: if plan["disk_gb"] < 64: unmet.append("storage"). Use < and not <=, because a value equal to the minimum meets it. Test the TPM with plan["tpm"] != "2.0", which also catches None and "1.2".

The sample tests run on this device, in your browser (Pyodide): nothing is sent to mysmartcopilot.com. The first run downloads Python (about 13.5 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.

Then work through the self-check on the lesson’s seven ideas. It starts with the one you have answered least well and explains every answer:

Practice that adapts to you

Practise this lesson

16 questions about 7 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.

  1. Question 1 of 16 Which description fits a type 2 hypervisor?

    Choose one answer.

    Show the answer: Question 1 of 16

    Answer: An app installed on a host operating system, such as Oracle VirtualBox

    A type 2, or hosted, hypervisor is an app on an operating system you already use: VirtualBox on Windows, macOS or Linux, UTM on macOS. A type 1, or bare-metal, hypervisor runs on the hardware itself.

  2. Question 2 of 16 Why do servers usually run a bare-metal hypervisor, while laptops usually run a hosted one?

    Choose one answer.

    Show the answer: Question 2 of 16

    Answer: A server exists to run VMs, so less software under them is better; a laptop must keep running its owner's apps beside them

    The choice follows the computer's job. A server's job is its VMs, so it drops the host OS and keeps the smaller hypervisor under them. A laptop's owner still needs its browser, mail and files, so the hypervisor joins them as one more app, at the cost of an extra layer under every guest.

  3. Question 3 of 16 A laptop runs Windows 11 Home on an x64 processor. Which hypervisor can its lab use?

    Choose one answer.

    Show the answer: Question 3 of 16

    Answer: Oracle VirtualBox

    The host decides first. On Windows 11 Home, Hyper-V is not available, UTM needs a Mac and KVM needs Linux, which leaves VirtualBox, and its Windows 11 guests then need its TPM, UEFI and Secure Boot settings turned on.

  4. Question 4 of 16 A Windows 11 Enterprise PC runs Hyper-V for other work, and a course hands out its labs as VirtualBox VMs. What is the safe plan?

    Choose one answer.

    Show the answer: Question 4 of 16

    Answer: Use one hypervisor at a time, and turn the Hyper-V hypervisor off before running the VirtualBox VMs

    Two hypervisors on one host fight over the same hardware features. Installing both is allowed; running their VMs at the same time is what fails, so the plan is one at a time.

  5. Question 5 of 16 Within how many days of installing it must a Windows Server 2025 evaluation be activated over the internet to avoid an automatic shutdown?

    Type a number.

    Show the answer: Question 5 of 16

    Answer: 10 days

    Microsoft's Evaluation Center says the Windows Server 2025 evaluation expires in 180 days and must be activated over the internet in the first 10 days, so its VM needs a network that reaches the internet at the start, such as NAT.

  6. Question 6 of 16 Where does ChromeOS Flex fit a support lab best?

    Choose one answer.

    Show the answer: Question 6 of 16

    Answer: On an old Intel or AMD laptop that you own, of a model on Google's list

    ChromeOS Flex is installed from a USB drive onto a physical PC, and Google supports it only on the models it lists, on Intel or AMD 64-bit processors. An old laptop of your own suits it better than a VM.

  7. Question 7 of 16 A lab's Windows 11 Enterprise evaluation reaches the end of its 90 days in the middle of a course. What is the right next step?

    Choose one answer.

    Show the answer: Question 7 of 16

    Answer: Build a new VM from the same ISO by following the runbook, and carry on

    Build the lab to be rebuilt. With the ISO and the runbook kept outside the VMs, an expired evaluation costs an hour of installing, not the course, and nothing in the lab depends on stretching terms that were accepted.

  8. Question 8 of 16 Which of these are on Microsoft's list of requirements for a Windows 11 virtual machine? Choose every one.

    Choose every answer that is right.

    Show the answer: Question 8 of 16

    Answer:

    • Two or more virtual processors
    • UEFI firmware, a generation 2 VM in Hyper-V
    • Secure Boot capable, with a virtual TPM enabled

    Microsoft's VM list has five rows: generation 2 (UEFI), 64 GB or more of storage, Secure Boot capable with a virtual TPM enabled, 4 GB or more of memory, and two or more virtual processors. It asks nothing of the host's own TPM or of the network.

  9. Question 9 of 16 UTM's documentation says its drive size is in gibibytes. You type 64. About how many billion bytes is the disk? (1 GiB = 1,073,741,824 bytes; answer to one decimal place.)

    Type a number.

    Show the answer: Question 9 of 16

    Answer: 68.7 billion bytes (anything from 68.6 to 68.8 counts)

    64 × 1,073,741,824 = 68,719,476,736 bytes, about 68.7 billion: more than Microsoft's 64 GB, which is 64 billion bytes. A disk sized as 64 in UTM therefore meets the requirement with room to spare.

  10. Question 10 of 16 In the recorded run of lab_plan_check.py, how many GB does the Mac's plan use with all three VMs running, counting the 4 GB kept for macOS?

    Type a number.

    Show the answer: Question 10 of 16

    Answer: 22 GB

    The three arm64 VMs have 8 + 6 + 4 = 18 GB, and with 4 GB for macOS that is 22 of the Mac's 48 GB, so the plan is ready, with 26 GB to spare.

  11. Question 11 of 16 Why does the plan checker add memory for the host on top of the memory of the VMs?

    Choose one answer.

    Show the answer: Question 11 of 16

    Answer: Memory given to a running VM is not available to the host, and a host left too little swaps until it all but stops

    A plan that gives the VMs all of the host's memory leaves nothing for the host, and every guest slows with it. The checker keeps 4 GB, Windows 11's own minimum, as a floor, and the lesson's try-it box raises it to 8 GB.

  12. Question 12 of 16 Is a snapshot a backup of the VM?

    Choose one answer.

    Show the answer: Question 12 of 16

    Answer: No: it lives with the VM's own files on the host's disk, and Microsoft writes that a standard checkpoint is not a full backup

    A snapshot is a way back in time for the VM, kept beside the VM. It does not survive the loss of the host's disk, which is why the ISOs, the runbook and anything you would miss are backed up outside the lab.

  13. Question 13 of 16 Put the routine around one risky change in a lab VM in order.

    Give each item its position, from 1 (first).

    Show the answer: Question 13 of 16

    Answer:

    1. Take a snapshot named for the state it holds
    2. Make the one change you came to practise
    3. Test the whole task as the user would
    4. Keep the new state, or restore the snapshot
    5. Write the change and the result in the runbook

    Snapshot first, so the change is reversible; one change, so the result has one cause; a test of the whole task, because a setting that looks right is not yet a task that works; then keep or restore; and last the runbook line, so the step can be repeated or skipped next time.

  14. Question 14 of 16 You took snapshots of a running Windows 11 VM while signed in to a test web app with its password. Later you want to give the VM's files to a classmate. What should you deal with first?

    Choose one answer.

    Show the answer: Question 14 of 16

    Answer: The snapshots taken while the password was in use, because a running VM's snapshot keeps its memory

    Whatever a VM held when a snapshot was taken, the snapshot keeps: files, settings and, for a running VM, memory. Delete the snapshots that may hold secrets before the files leave your hands, and keep to lab-only passwords so that nothing real is ever in them.

  15. Question 15 of 16 Which network mode lets a VM reach only the other VMs on the same network, not the host and not the internet?

    Choose one answer.

    Show the answer: Question 15 of 16

    Answer: Private: VirtualBox's Internal mode or a Hyper-V private switch

    The four modes widen step by step: private reaches only other VMs, host-only adds the host, NAT adds the internet through the host's address, and bridged puts the VM on the real network itself.

  16. Question 16 of 16 Two VirtualBox VMs on plain NAT cannot reach each other. What change lets them talk to each other while keeping them off the office network?

    Choose one answer.

    Show the answer: Question 16 of 16

    Answer: Put both on the same NAT Network

    VirtualBox's plain NAT puts a router between each VM and the host, so VMs cannot talk to each other. NAT Network is one shared NAT for several VMs: they reach each other and the internet, and nothing outside can open a connection to them unless a port is forwarded.

Interview questions

Warm-up (fresher): Is Hyper-V on a Windows 11 laptop a type 1 or a type 2 hypervisor?

Type 1, although it does not look like one. A type 2, or hosted, hypervisor such as VirtualBox or UTM is an app on an operating system, so the work of every guest goes through that host OS. A type 1, or bare-metal, hypervisor runs directly on the hardware. Hyper-V is a Windows feature you switch on, yet Microsoft describes it as type 1: once it is on, the hypervisor runs on the hardware, and Windows itself runs in the root, or parent, partition, which creates and manages the guests in child partitions beside it. It is also why VirtualBox and VMware Workstation VMs might not start, or might run unreliably, while the Hyper-V hypervisor runs: they need the processor features that Hyper-V already holds.

Two harder questions follow, about a trainee’s 8 GB laptop and a colleague’s request for a lab VM. Note what you would check first, then compare it with each first step:

Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.

  1. Fresher to mid

    A trainee wants to practise joining a Windows 11 PC to a domain, and owns only a laptop with Windows 11 Home, an x64 processor and 8 GB of memory. Plan the lab: the hypervisor, the virtual machines and their resources, the network, and what you would change if it does not fit.

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page. First step and follow-ups

  2. Fresher to mid

    A colleague received a suspicious email attachment and wants to open it in one of your lab VMs, which is bridged to the office network "so it has internet". They say it is safe because the VM has a snapshot to go back to. What do you tell them, and what do you do?

    Model answer, Pro. First step and follow-ups

Flashcards · 7 cards

Recall it, then check

Say the answer to yourself before you look: recalling it is what makes it stick.

  1. How does a type 1 hypervisor differ from a type 2 hypervisor?

    A type 2, or hosted, hypervisor such as VirtualBox or UTM is an app on a host operating system. A type 1, or bare-metal, hypervisor runs directly on the hardware with no host OS under it.

  2. Hyper-V is turned on as a Windows 11 feature. Is it a type 1 or a type 2 hypervisor?

    Type 1. Microsoft documents it as a hypervisor that runs directly on the hardware, with Windows itself in the root, or parent, partition above it.

  3. Which hypervisor fits which host for a practice lab?

    UTM on a Mac with Apple silicon, for arm64 guests; Hyper-V on Windows 11 Pro, Enterprise or Education; VirtualBox on Windows 11 Home, where Hyper-V cannot be installed; KVM on Linux.

  4. What does a Windows 11 virtual machine need to install?

    The same as a Windows 11 PC: UEFI with Secure Boot, a TPM 2.0 (a virtual one), 4 GB of memory, two virtual processors and 64 GB of disk.

  5. How long do the Windows evaluation copies of a practice lab last, and what happens after?

    Windows 11 Enterprise is a 90-day evaluation and Windows Server 2025 a 180-day one, used under their terms. When one runs out, rebuild it from its ISO. Ubuntu costs nothing.

  6. Why is a VM snapshot not a backup?

    It is a saved state that lets you take a risky step back, but it stays with the VM and keeps whatever the VM held. Name it for the state it holds, make one change, test, then keep it or restore.

  7. Which virtual networks keep a practice lab off the real network?

    NAT, host-only and private networks. On NAT the VMs reach the internet through the host's address, and outside machines cannot connect to them unless a port is forwarded. Only made-up data and lab-only passwords go in the lab.

Key takeaways

  • UTM and VirtualBox are type 2 hypervisors, apps on a host OS; a type 1 hypervisor runs on the hardware, and Hyper-V is type 1 even on Windows 11.
  • The host decides: UTM on a Mac with Apple silicon, for arm64 guests; Hyper-V on Windows 11 Pro, Enterprise or Education; VirtualBox on Windows 11 Home; KVM on Linux.
  • Windows 11 Enterprise and Windows Server 2025 are 90-day and 180-day evaluations whose terms you keep, Ubuntu costs nothing, and an expired evaluation is rebuilt from its ISO.
  • A Windows 11 VM needs UEFI, Secure Boot, a virtual TPM 2.0, 4 GB of memory, two virtual processors and 64 GB of disk, and VMs that run together must leave the host its own memory.
  • A named snapshot before a risky step makes it reversible, but a snapshot is not a backup and keeps whatever the VM held.
  • NAT, host-only and private networks keep lab traffic off the real network, and only made-up data and lab-only passwords belong in a lab.

Terms in this lesson

evaluation edition
A full copy of commercial software that its publisher lets you try for a limited time under stated terms, such as the 90-day evaluation of Windows 11 Enterprise.
host-only network
A virtual network that connects VMs with the host and with each other, but not with the real network or the internet.
hypervisor
The software that divides one physical computer between virtual machines, giving each its share of the processor, memory, storage and network.
NAT network
A virtual network on which VMs reach the internet through the host's address, while machines outside cannot open a connection to them unless a port is forwarded.
Secure Boot
A UEFI firmware feature that refuses to start firmware drivers, boot loaders or operating systems that are not signed with keys the firmware trusts. Windows 11 needs Secure Boot capable firmware, in a VM too.
snapshot
A saved state of a virtual machine, its settings, its disks and, if it was running, its memory, to which the VM can be restored later. Hyper-V calls it a checkpoint. It is not a backup.
type 1 hypervisor
A hypervisor that runs directly on the hardware with no host operating system under it, also called bare metal. Hyper-V is one, even when it is turned on in Windows 11.
type 2 hypervisor
A hypervisor that runs as an app on a host operating system, also called hosted, such as Oracle VirtualBox or UTM. Its guests share the computer with the host's own programs.
virtual machine
A computer made of software: a processor, memory, disks and a network card that a hypervisor presents to an operating system installed inside it, the guest. Its short name is VM.
virtual TPM
A Trusted Platform Module that the hypervisor emulates inside a virtual machine. Windows 11 asks for a TPM 2.0, so its VMs need a virtual one enabled.

References

Related tools

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.