Skip to content

Opdracht 9 - Partities

Doel

In deze opdracht maak je zelf een virtuele harde schijf aan, partitioneer je deze, formatteer je de partities en laad je ze in.

Na deze opdracht kan je:

  • Een virtuele harde schijf (VDI) aanmaken en koppelen aan een virtuele machine.
  • Een harde schijf partitioneren en formatteren.
  • Partities inladen.

Een virtuele schijf aanmaken

⚠️ Gebruikers van UTM op een Apple Silicon mac moeten op een andere manier de harde schrijven aanmaken, zie de documenatie van UTM: https://docs.getutm.app/settings-qemu/drive/drive/#creation. Nadien kan je de stappen vanaf de volgende sectie volgen.

Open in VirtualBox de Virtual Media Manager. Deze kan je vinden via Tools > Media of via het menu Bestand > Tools > Virtual Media Manager.

Virtual Media Manager

Maak een nieuwe virtuele schijf aan met de volgende instellingen (via de knop Aanmaken):

  • Type: VDI
  • Opslag: dynamisch gealloceerd
  • Naam: partitions.vdi
    • Zorg ervoor dat het bestand zich in de map VirtualBox VMs bevindt en niet in de submap van je Ubuntu/Windows VM.
  • Grootte: 2GB

Open vervolgens de VirtualBox-instellingen (dus niet in de VM) van je Ubuntu virtuele machine en ga naar de tab Opslag.

Klik naast Controller: SATA op de harde schijf met het plus-icoontje en selecteer partitions.vdi om deze te koppelen aan je virtuele machine:

VDI koppelen aan Ubuntu

Partitioneren en formatteren

Start je Ubuntu virtuele machine en open een terminal.

Voer het commando lsblk uit om een overzicht te krijgen van de block devices (zoals harde schijven) die aan dit systeem zijn gekoppeld:

Output van lsblk

In deze output zie je zowel de reguliere (virtuele) harde schijf (in de screenshot: sda met zijn partities sda1 tot sda5) als de nieuwe VDI (in de screenshot: sdb). Deze namen verwijzen naar speciale device files in de map /dev. Het device sdb komt dus overeen met /dev/sdb.

Via de Disks applicatie kan je je VDI partitioneren en formatteren. Bij het opstarten zou je moeten zien dat Disks de inhoud van de schijf omschrijft als Unknown (ongeformatteerd):

Disks toont een lege schijf

Selecteer in het hoofdmenu (de drie verticale puntjes) de optie Format Disk... en formatteer de VDI met behulp van een GUID Partition Table (GPT). De ongeformatteerde ruimte zal nu worden aangegeven als vrije ruimte:

De lege schijf geformatteerd

In deze vrije ruimte kan je nu partities aanmaken. Gebruik de knop met het plus-icoontje om de volgende twee partities aan te maken:

Naam Grootte File System
Linux 1GB ext4
Shared (resterende ruimte) FAT32

Het resultaat moet er als volgt uitzien:

De schijf ingedeeld in twee partities

Voer in je terminal nu het volgende commando uit:

Bash
lsblk -o name,fstype

In de output van dit commando zou je beide partities moeten herkennen:

Output van lsblk na partitionering

Partities inladen in Linux

Zoals je al hebt geleerd in de theorielessen, gebruikt Linux een Virtual File System (VFS). Dit VFS voegt alle ingeladen bestandssystemen samen tot één grote mappenstructuur.

Maak in je home directory twee mappen aan, partitie-linux en partitie-shared, waarin je de twee partities zal inladen:

Bash
cd
mkdir partitie-{linux,shared}

Het inladen van een bestandssysteem gebeurt via het commando mount. Als argumenten specificeer je het apparaat dat je wil inladen en een map in de VFS-structuur:

Bash
sudo mount /dev/sdb1 partitie-linux

Na het inladen zal de root directory van het bestandssysteem zichtbaar zijn in de gekozen map. Als deze map al inhoud had, dan is deze nu verborgen.

Maak vervolgens een tekstbestand hello.txt aan in de map partitie-linux en geef dit bestand de volgende inhoud:

Text Only
Hello from Linux!

Keer nu terug naar je home directory en laad ook de tweede partitie in:

Bash
cd
sudo mount /dev/sdb2 partitie-shared
Probeer nu het bestand hello.txt te kopiëren naar partitie-shared. Wat gebeurt er?

Je krijgt een "Permission denied" foutmelding.

Voer het commando ls -l uit in je home directory en vergelijk de mappen partitie-linux en partitie-shared.

Welke verschillen zie je hier? Probeer deze te verklaren.

partitie-linux heeft als eigenaar de gebruiker osboxes, maar bij partitie-shared is dit root. FAT32 heeft geen ondersteuning voor Linux gebruikersrechten, waardoor de partitie standaard als root gemount wordt.

Probeer nu opnieuw het bestand hello.txt te kopiëren naar partitie-shared, maar gebruik deze keer sudo.

Sluit de Ubuntu virtuele machine af.

Partities inladen in Windows

Koppel partitions.vdi ook aan je Windows virtuele machine, net zoals je dat voor Ubuntu hebt gedaan. Start de machine op en open Deze pc in de Verkenner.

Wat valt je op?

Windows detecteert de FAT32 partitie en kent deze de letter D toe.

Shared partitie zichtbaar in Verkenner

Ga vervolgens naar het Configuratiescherm en navigeer naar Systeem en beveiliging > Harde schijfpartities maken en formatteren:

Configuratiescherm

Dit opent de applicatie Schijfbeheer:

Schijfbeheer

Zoek hier naar je ontbrekende partitie en probeer te verklaren waarom Windows deze partitie niet herkent.

Windows herkent de ext4 partitie niet, omdat Windows geen ondersteuning heeft voor ext4. Windows kan standaard alleen partities lezen die geformatteerd zijn als FAT32 of NTFS.