Skip to content

Opdracht 2 - Aanmaken van een virtuele machine

❗️ Deze opdracht kan enkel uitgevoerd worden op Windows, Linux of macOS met Intel processor. Studenten met Apple Silicon voeren een aangepaste versie van deze opdracht uit: zie Ubuntu VM maken in UTM. Studenten die gebruik maken van een Windows of Linux met ARM-processor, nemen contact op met hun lector.

Doel

In deze opdracht leer je hoe je een hypervisor (VirtualBox) installeert en een bestaande virtuele harde schijf importeert.

Na het voltooien van deze opdracht kan je:

  • VirtualBox installeren op een fysiek apparaat.
  • Een bestaande virtuele harde schijf importeren en opstarten.

Installatie VirtualBox

Voor het praktische gedeelte van de cursus Operating Systems werken we met virtuele machines (VMs). Als hypervisor kiezen we binnen de opleiding voor VirtualBox, omdat deze gratis, open source en beschikbaar is voor verschillende platformen (macOS (beperkt voor Apple Silicon), Windows, Linux...).

Je kan VirtualBox handmatig downloaden en installeren via https://www.virtualbox.org/wiki/Downloads, maar dat doen wij niet. We gebruiken de package manager van jouw besturingssysteem. Wij werken met de laatste versie van de 7.2-lijn. Om te voorkomen dat de package manager automatisch update naar een nieuwere versie, zetten we de versie vast.

Kies de juiste installatie-instructies voor jouw besturingssysteem:

VirtualBox Extension Pack

Na de installatie van VirtualBox kan je de meest recente VirtualBox Extension Pack downloaden via https://www.virtualbox.org/wiki/Download_Old_Builds_7_2. Deze uitbreiding biedt onder meer ondersteuning voor USB 3.0 en NVMe.

Download Extension Pack

Wanneer de download voltooid is, kan je het Extension Pack installeren door het bestand te openen. VirtualBox zal vragen of je de extensie wil installeren. Bevestig dit. Scroll vervolgens de licentie tot het einde en ga akkoord.

Virtualisatie inschakelen in de BIOS

Na de installatie van VirtualBox controleer je of je een 64-bit virtuele machine kan aanmaken. Klik hiervoor op de blauwe knop "Nieuw" in het hoofdvenster van VirtualBox.

Create new VM

Als je in het scherm dat nu opent alleen 32-bit toestellen kan aanmaken, moet je mogelijk hardware-ondersteuning voor virtualisatie nog inschakelen in de BIOS van je apparaat. Hoe dit moet verschilt per apparaat, maar je kan dit opzoeken met zoektermen zoals enable virtualization + jouw laptopmodel of moederbord.

Als je 64-bit machines kan aanmaken, zoals in de onderstaande screenshot, is alles al in orde.

Create new VM

VirtualBox en Hyper-V

Als je op jouw Windows toestel Hyper-V of het Windows Subsystem for Linux (WSL2) gebruikt, zal VirtualBox mogelijk niet stabiel werken. De installatie verloopt zonder problemen en je kan virtuele machines aanmaken, maar tijdens gebruik zal je merken dat de virtuele machine traag werkt, veel fouten geeft en soms zelfs volledig crasht. Dit komt omdat Hyper-V een type-1 hypervisor is die niet gelijktijdig gebruikt kan worden met een type-2 hypervisor zoals VirtualBox.

VirtualBox kan wel virtuele machines laten draaien bovenop Hyper-V, maar dit is nog niet 100% stabiel. Als je VirtualBox wil gebruiken, moet je Hyper-V en gerelateerde onderdelen mogelijk uitschakelen. Zoek hiervoor in het startmenu naar "Windows-onderdelen in- of uitschakelen" (EN: Turn Windows features on or off) en open dit.

Schakel vervolgens deze 4 onderdelen uit:

  • Hyper-V
  • Platform voor virtuele machine (EN: Virtual Machine Platform)
  • Windows Hypervisor-platform (EN: Windows Hypervisor Platform)
  • Windows-subsysteem voor Linux (Windows Subsystem for Linux)

:info: Als je Hyper-V (of WSL) voor andere zaken nodig hebt, kan je er ook voor kiezen om VirtualBox te laten draaien bovenop Hyper-V. Verderop in deze opdracht leggen we uit hoe je dit instelt.

VirtualBox en Core Isolation (Windows 10/Windows 11)

Als je Windows 11 of een recente versie van Windows 10 gebruikt op een moderne laptop, bestaat de kans dat de beveiligingsfunctie "Kernisolatie - geheugenintegriteit" (EN: Core Isolation - Memory Integrity) ingeschakeld is in het Security Center. Deze functie voorkomt dat aanvallen kwaadaardige code kunnen injecteren in processen, maar omdat deze functie gebruikmaakt van virtualisatie kan je hierdoor geen virtuele machines gebruiken binnen VirtualBox. Wil je VirtualBox (of een andere type-2 hypervisor) gebruiken, dan moet je deze functie uitschakelen in het Security Center en je laptop herstarten. Zoek hiervoor in het startmenu naar "Kernisolatie" en open dit.

Core Isolation

Importeren van een bestaande virtuele harde schijf

Na de installatie van VirtualBox gaan we een bestaande virtuele machine downloaden en opstarten. Voor deze opdracht werken we met Ubuntu 24.04 Noble Numbat, de recentste LTS-versie van Ubuntu.

ℹ️ LTS staat voor Long Term Support, en betekent dat deze versie van Ubuntu 10 jaar lang ondersteund wordt met updates en patches. Ubuntu brengt elke 2 jaar een LTS-versie uit in april (kijk eens naar de naamgeving).

Je kan een virtuele harde schijf downloaden via https://www.osboxes.org/ubuntu/ (Ubuntu 24.04, geen recentere versie). Kies de versie voor VirtualBox.

Download Ubuntu VM

Wanneer de download klaar is, pak je het 7z-bestand uit. Dit kan met 7zip of met een ander programma dat 7z-bestanden kan uitpakken. Na het uitpakken heb je een vdi-bestand (VDI staat voor Virtual Disk Image) dat je kan koppelen aan een nieuwe virtuele machine. Dit bestand is de virtuele harde schijf voor jouw VM.

Maak een nieuwe virtuele machine. Noteer het pad waar de virtuele machine opgeslagen wordt (onder de naam), dit is belangrijk voor het koppelen van de virtuele harde schijf.

New virtual machine

Kies vervolgens een zinnige naam, bijvoorbeeld "OS Ubuntu 24.04". Als je deze naam kiest, zal VirtualBox automatisch het juiste type, de juiste distributie en de juiste versie van het besturingssysteem selecteren. Als dit niet zo is, kies je voor Linux, Ubuntu en Ubuntu 24.04 LTS (Noble Numbat) (64-bit).

New virtual machine

Open de instellingen "Specify virtual hardware" en kies de volgende minimale specificaties:

  • 4 GB RAM
  • 2 CPUs

Je kan altijd meer virtuele bronnen toekennen, maar zorg dat er genoeg bronnen beschikbaar blijven voor je eigen toestel (de host). Als je laptop bijvoorbeeld 8 GB RAM heeft, ken je best maximaal 4 GB toe aan de virtuele machine.

New virtual machine

Bij de instellingen "Specify virtual hard disk" kies je ervoor om nog geen virtuele harde schijf te koppelen. Dat doen we later.

New virtual machine

Maak de virtuele machine aan en negeer een eventuele melding dat er geen harde schijf is gekoppeld. We gaan die nu koppelen.

Open het pad waar de virtuele machine opgeslagen wordt in de verkenner van jouw toestel. Dit is typisch een map "VirtualBox VMs" in je home folder. Kopieer het vdi-bestand dat je hebt gedownload naar deze map.

ℹ️ Het is belangrijk dat je het vdi-bestand kopieert naar de map waar de virtuele machine opgeslagen wordt, en niet verplaatst. Hierdoor hoef je niet steeds het vdi-bestand opnieuw te downloaden als je een nieuwe virtuele machine wil aanmaken met hetzelfde besturingssysteem.

Open de instellingen van de nieuwe virtuele machine.

Settings VDI

Ga naar het tabblad "Opslag" en klik naast "Controller: SATA" op het icoon om een nieuwe virtuele harde schijf toe te voegen.

Settings VDI

Klik op "Toevoegen" en selecteer vervolgens het vdi-bestand dat je zonet hebt gekopieerd naar de map van de virtuele machine.

Settings VDI

Daarna zou je het vdi-bestand moeten zien onder "Controller: SATA".

Settings VDI

Vervolgens navigeer je in de instellingen van de virtuele machine naar het tabblad "Beeldscherm" en zorg je ervoor dat je het maximale videogeheugen instelt.

Settings display memory

Na het aanmaken van de VM kan je deze opstarten. Inloggen doe je met gebruiker osboxes en wachtwoord osboxes.org. Het toetsenbord van de Ubuntu VM staat standaard ingesteld op US QWERTY, maar je kan dit na het aanmelden eenvoudig wijzigen.

💡 Je kan het wachtwoord opslaan bij de omschrijving van jouw virtuele machine. Zo kan je het later altijd nog raadplegen. Open hiervoor de instellingen van jouw virtuele machine. Onder "Algemeen" heb je een tabblad "Beschrijving". Dit is een tekstvak waar je aanmeldgegevens kan bijhouden.

VirtualBox Description

VirtualBox configureren voor Hyper-V/WSL2 (optioneel)

❗️ Deze stap is enkel nodig als je Hyper-V of WSL2 gebruikt op jouw Windows toestel. Weet je niet of je Hyper-V of WSL2 gebruikt? Dan gebruik je het waarschijnlijk niet en hoef je deze stap niet uit te voeren.

Als je Hyper-V of WSL2 gebruikt op jouw Windows toestel, moet je nog een extra instelling wijzigen zodat de virtuele machine stabiel draait. Ga in de instellingen van de virtuele machine naar het tabblad "Systeem" en open het subtabblad "Acceleratie". Daar kies je "Hyper-V" als "Paravirtualization Interface", en vink je "Nested Paging" uit.

Configureren van de VM

Start de virtuele machine en meld je aan met de eerder vermelde aanmeldgegevens. Na het aanmelden volg je de welkomstwizard. Sla de optie "Ubuntu Pro" over en kies ervoor om geen data te delen. Voltooi vervolgens de wizard.

Toetsenbordindeling wijzigen naar AZERTY

Standaard is de toetsenbordindeling van de Ubuntu VM ingesteld op US QWERTY. We gaan deze wijzigen naar Belgian AZERTY. Als je een QWERTY-toetsenbord hebt, kan je deze sectie overslaan.

Open eerst de instellingen in Ubuntu. Klik hiervoor linksonder op het Ubuntu-icoon en zoek "Settings". Open de "Keyboard" instellingen en voeg een nieuwe input source toe. Klik op de drie puntjes en vervolgens op "Other". Zoek naar "Belgian" en voeg deze toe. Verwijder daarna de US input source.

Om op het aanmeldscherm ook de juiste toetsenbordindeling te hebben, moet je een commando uitvoeren in de terminal. Klik hiervoor linksonder op het Ubuntu-icoon en zoek "Terminal". Voer het volgende commando uit om de toetsenbordindeling te wijzigen naar AZERTY. Je kan het commando met de tab-toets aanvullen zodat je niet alles hoeft over te typen.

ℹ️ Maak de terminal vast aan de dock, je zal deze nog vaak nodig hebben. Klik hiervoor met de rechtermuisknop op het icoon van de terminal in de dock en selecteer "Pin to Dash".

Bash
sudo dpkg-reconfigure keyboard-configuration

Gebruik de volgende instellingen:

  • Keyboard model: Generic 105-key PC
  • Country of origin for the keyboard: Belgian
  • Keyboard layout: Belgian
  • Key to function as AltGr: The default for the keyboard layout
  • Compose key: No compose key
  • Use Ctrl+Alt+Backspace to terminate the X Server? No

Herstart de virtuele machine na het wijzigen van de toetsenbordindeling. Herstarten doe je door rechtsboven op de icoontjes te klikken en vervolgens op het power icoon > Restart > Restart.

❗️ Opgelet! Je schakelt de virtuele machine nooit uit door op het kruisje te klikken. Dit is hetzelfde als de stekker uit het stopcontact trekken en kan leiden tot corruptie van de virtuele harde schijf.

VirtualBox Guest Additions installeren

Installeer vervolgens de Guest Additions van VirtualBox in de virtuele machine. De Guest Additions moeten correct geïnstalleerd zijn om bijvoorbeeld te kunnen kopiëren tussen de host en de virtuele machine.

Voer de volgende commando's uit om alle nodige dependencies te installeren op de virtuele machine. Nu moet je deze nog handmatig overtypen. Later configureren we de VM zodat je kan kopiëren en plakken.

Bash
sudo apt update
sudo apt install build-essential gcc make perl dkms

Herstart hierna de virtuele machine. Na een herstart klik je op het Apparaten menu van VirtualBox en vervolgens op Insert Guest Additions CD Image....

Virtualbox Add Guest Additions

Je zal een CD-rom zien verschijnen in de dock van Ubuntu. Open deze. Klik vervolgens met de rechtermuisknop op autorun.sh en selecteer Run as a Program. Voer het wachtwoord van de gebruiker osboxes in. Typ vervolgens "yes" in de terminal en wacht tot de installatie voltooid is.

Virtualbox Run Guest Additions

Kijk goed welke output in de terminal verschijnt. Bekijk eventuele fouten in het bestand /var/log/vboxadd-setup.log en los deze op. Zoek hulp op het internet of vraag hulp aan jouw lector. Hieronder zie je een voorbeeld van een succesvolle installatie.

Virtualbox Run Guest Additions

Herstart na de installatie de virtuele machine. Om te testen of het werkt, kan je het venster van de virtuele machine verkleinen en vergroten. De virtuele machine zou automatisch mee moeten schalen.

Als alles succesvol verlopen is, kan je de Guest Additions CD Image verwijderen uit de virtuele machine. Dit doe je via het Devices menu > Optical drives > Remove disk from virtual drive. Je kan de afkoppeling van de CD-rom forceren.

Virtualbox Remove Guest Additions

Scherm flikkert

Als je merkt dat het scherm van de virtuele machine flikkert, dan kan je twee opties proberen:

  1. Schakel 3D-acceleratie in via de instellingen van de virtuele machine. Ga hiervoor naar het tabblad "Beeldscherm" en open het subtabblad "Scherm". Daar kan je 3D-acceleratie inschakelen. Verhoog ook het videogeheugen als dit nog niet op het maximum staat.
    • Werkt dit niet? Maak deze wijziging dan ongedaan en probeer optie 2.
  2. Wayland uitschakelen en terugkeren naar Xorg. Volg hiervoor de instructies voor de "Permanent Solution" op deze pagina: https://medium.com/@gevorggalstyan/how-to-fix-flickering-in-some-versions-of-linux-on-virtualbox-822fb41a263d.
    • Maak een snapshot van jouw virtuele machine voordat je deze wijzigingen doorvoert, zodat je altijd terug kan keren naar de vorige toestand als er iets fout gaat.

Extra instellingen aanpassen

Als laatste stap passen we een aantal instellingen van de virtuele machine aan zodat deze eenvoudiger te gebruiken is.

  • Om te kunnen kopiëren en plakken tussen de host en de virtuele machine, moet je het gedeeld klembord inschakelen. Dit doe je via het Devices menu > Shared Clipboard > Bidirectional. Probeer dit meteen eens uit door een willekeurig stukje tekst te kopiëren vanop jouw toestel en te plakken in de virtuele machine.

Shared clipboard

  • Om te voorkomen dat de virtuele machine vergrendelt wanneer je even niet actief bent, schakelen we de screen lock uit. Open hiervoor de instellingen van Ubuntu en ga naar Privacy & Security > Screen Lock. Schakel de screen lock uit en zorg ervoor dat de virtuele machine nooit het scherm uitschakelt.

Screen lock

  • Daarnaast kiezen we ervoor om automatisch in te loggen bij het opstarten van de virtuele machine. Open hiervoor de instellingen van Ubuntu en ga naar System > Users > Automatic Login. Je moet hiervoor bovenaan op "Unlock..." klikken en het wachtwoord van de gebruiker osboxes ingeven. Vervolgens kan je de optie "Automatic Login" inschakelen.

Automatic login

  • Om er zeker van te zijn dat Ubuntu geen updates uitvoert, schakelen we automatische updates uit. Voer hiervoor de volgende commando's uit in de terminal:
Bash
sudo systemctl stop unattended-upgrades
sudo apt-get purge -y unattended-upgrades

VM afsluiten

Om de virtuele machine af te sluiten, klik je rechtsboven op de icoontjes en vervolgens op het power icoon > Shut Down > Shut Down.

Als je op het kruisje rechtsboven klikt, zal VirtualBox je vragen wat je wil doen met de virtuele machine. Je schakelt de virtuele machine nooit uit door op het kruisje te klikken en de 3e optie te kiezen.

Close VM

Van deze drie opties is de bovenste optie ("de staat van de machine opslaan") handig als je de virtuele machine snel wil afsluiten zonder deze volledig af te sluiten. Dit is een soort sluimerstand. De tweede optie ("het shutdown-signaal sturen") is hetzelfde als de virtuele machine correct afsluiten via het besturingssysteem zelf. De derde optie ("de machine uitschakelen") is hetzelfde als de stekker uit het stopcontact trekken en kan leiden tot corruptie van de virtuele harde schijf.

Snapshot nemen van de VM

Neem na het uitvoeren van deze opdracht een snapshot van jouw virtuele machine. Zo kan je later terugkeren naar de huidige toestand van de VM, mocht je iets fout doen.

Om een snapshot te nemen, schakel je de VM uit. Klik vervolgens naast de VM op de knop met drie streepjes en kies voor "Snapshots". Klik op de knop "Nemen" om een snapshot te nemen. Geef de snapshot een zinvolle naam, bijvoorbeeld "Na opdracht 2". Zo is het eenvoudig om terug te keren naar deze toestand.