Van partities tot bestandssystemen - zo werkt een harde schijf

© PXimport

Van partities tot bestandssystemen - zo werkt een harde schijf

Geplaatst: 4 september 2015 - 03:29

Aangepast: 14 december 2022 - 12:21

Redactie ID.nl

Er bestaan al harde schijven van 8 TB en daar kun je een massa bestanden op bewaren. Maar hoe gaat dat eigenlijk? En hoe weet een besturingssysteem als Windows zo snel een klein bestand uit die reusachtige datapool op te vissen? Het is een verhaal van afspraken en structuur.

Als je een kraan opendraait, komt er water uit. Als je een bestand opslaat, schrijft Windows dat netjes op de schijf weg en haalt het even vlot weer op wanneer je het nodig hebt. Het lijkt vanzelfsprekendheid en als eindgebruiker hoeven we ons daar niet meteen het hoofd over te breken. Tot je een nieuwe schijf koopt die helemaal niet 'klaar' blijkt te zijn om gegevens te ontvangen of tot je een schijf aan een systeem koppelt waarvan je de gegevens niet kunt inlezen. Lees ook: Zo maak je een harde schijf leeg.

Op zo'n moment is het wel handig dat je enig inzicht hebt in hoe en waar je data op de schijf (optimaal zouden) terechtkomen. Bovendien kan het ook zonder deze voorvallen gewoon interessant zijn om te weten hoe het werkt. Wij duiken in de achterliggende structuur zodat begrippen als bestandssysteem, partities, master boot record en advanced format voor jou geen geheimen meer hebben.

01 Logisch systeem

Een gloednieuwe schijf laat zich (met wat goede wil) vergelijken met een grote, nieuwe bibliotheekruimte. Daar kun je weliswaar duizenden boeken in kwijt, maar dat doe je het liefst niet zomaar, om te vermijden dat je naderhand uren moet zoeken naar het gewenste exemplaar. Nee, de opvulling van die ruimte koppel je aan een of ander logisch systeem - in de bibliotheek van weleer was dat een kast met fiches - zodat alles mooi overzichtelijk en beheersbaar blijft. Dat geldt ook voor een opslagmedium als een harde schijf, SSD, dvd of usb-stick. Concreet is zo'n opslagmedium pas klaar voor gebruik wanneer het is ingedeeld in minstens één logisch volume oftewel partitie (de afbakening van de bibliotheekruimte(s) in het gebouw, zeg maar) en er een bestandssysteem aan is gekoppeld (de kast met fiches). Iets technischer luidt dat: een schijf moet je eerst partitioneren en vervolgens formatteren.

 

© PXimport

02 Initialiseren

Wanneer je Windows (of een ander besturingssysteem) installeert op een gloednieuwe schijf, kan die zowel de partitionering als de formattering voor zijn rekening nemen. Wil je echter een nieuwe schijf toevoegen aan je systeem, dan moet je dat in principe zelf doen. Dat kan met een externe tool, een zogenoemde partitiebeheerder, zoals het gratis GParted (een live systeem) of EaseUS Partition Master, maar ook met het ingebouwde schijfbeheer van je besturingssysteem.

We houden het hier bij Windows: druk op Windows-toets+R en voer de opdracht diskmgmt.msc uit. Het venster van het Schijfbeheer verschijnt. Bovenaan vind je een lijst met de gedetecteerde logische volumes (partities) van je bestaande schijf waarop Windows is geïnstalleerd. Heb je inderdaad een gloednieuwe schijf aan je systeem gekoppeld, dan vind je die terug in de grafische weergave in het onderste paneel. Je zult merken: die bevat slechts één grote, lege, niet-toegewezen ruimte. Zonder logische volumes dus, waardoor je bij deze schijf Niet geïnitialiseerd ziet staan. Om de schijf klaar te maken voor dataontvangst, klik je dit vak met de rechtermuisknop aan en kies je Schijf initialiseren.

 

© PXimport

02 Deze schijf (Schijf 3) bevat vooralsnog alleen 'niet-toegewezen ruimte'.

03 Partitiestijl MBR

Eigenlijk is doet deze operatie weinig anders dan het partitioneren van je schijf. Windows laat je meteen kiezen tussen twee partitiestijlen: MBR en GPT. De eerste partitiestijl, MBR, is al vele jaren de standaard, maar nu schijven steeds meer opslagcapaciteit bieden, tekenen de nadelen zich duidelijker af. Als je kiest voor deze stijl, dan creëert Windows namelijk helemaal aan het begin van je schijf een 'master boot record' - vandaar MBR - en die bevat een tabel met de partities die je op je schijf gaat aanmaken. Om te beginnen bevat deze tabel slechts ruimte voor vier 'primaire partities', waarbij het BIOS alleen zal opstarten van de primaire partitie die als 'actief' staat gemarkeerd.

Nu kun je een van deze primaire partities wel inruilen voor een zogenoemde 'uitgebreide partitie', waarbinnen je vervolgens bijkomende logische stations kunt creëren, maar daar kun je normaliter geen besturingssysteem op kwijt. De beperking tot vier 'echte' partities is overigens niet de meest beperkende factor. Je moet namelijk weten dat een schijf in fysieke sectoren wordt opgedeeld en standaard bevat zo'n sector 512 bytes (zie echter ook stap 7, Advanced Format). De grootte van zo'n fysieke sector is meteen de minimale hoeveelheid data die de schijfcontroller in één keer kan wegschrijven. Als een bestand kleiner is dan 512 bytes, dan wordt de rest van die sector met pseudo-willekeurige data opgevuld.

Wanneer je weet dat het aantal sectoren van een partitie in deze partitietabel als een 32bit-waarde wordt opgeslagen, dan is het rekensommetje snel gemaakt: 51232 is afgerond 2,2 TB. Kies je dus voor een MBR-partitionering dan zal Windows een schijf groter dan 2,2 TB niet volledig kunnen aanspreken!

 

© PXimport

03 De keuze van een partitiestijl kan belangrijke consequenties hebben.

04 Partitiestijl GPT

GPT, wat staat voor GUID Partition Table, is niet alleen efficiënter en fouttoleranter gestructureerd, deze partitiestijl rekent tevens af met een aantal tekortkomingen van MBR. Het aantal (primaire) partities kan oplopen tot 128 en de (theoretische) partitiegrootte is - pak hem beet - zo'n 9,4 zettabyte (1 ZB is één miljard TB). Het lijkt er dus op dat je niet moet twijfelen en voluit voor een GPT-stijl moet gaan. In principe wel, zolang je maar van enkele potentiële valkuilen bewust bent. Je moet namelijk over een 64bit-versie van Windows (7 of hoger) beschikken wil je van zo'n schijf kunnen opstarten.

Verder moet je systeem dan met een UEFI-BIOS zijn uitgerust (zie kader 'UEFI'). Wanneer je een schijf van bijvoorbeeld 4 TB alleen als opslag voor data en programma's wilt gebruiken, valt er hoe dan ook veel te zeggen voor de GPT-stijl.

Mocht je alsnog op je keuze willen terugkomen, dan kan dat probleemloos, althans zolang je geen volumes hebt gecreëerd (zie stap 5). Klik met de rechtermuisknop op de naam van de schijf in de grafische weergave en kies Converteren naar MBR-schijf dan wel Converteren naar GPT-schijf.

 

© PXimport

04 Zolang er nog geen volumes zijn, is een partitiestijl-conversie een eenvoudig proces.

UEFI

UEFI, wat staat voor Unified Extensible Firmware Interface, is de opvolger van het aloude BIOS en is inmiddels standaard op de meeste nieuwe systemen. Dat moest ook wel, want het klassieke BIOS laat je niet toe op te starten van schijven groter dan 2,2 TB. UEFI biedt ook meer veiligheid, dankzij de functie 'secure boot'. Die controleert in een - versleutelde - database of een driver of app wel van een geldige handtekening is voorzien. Is dat niet het geval, dan weigert het systeem verder door te starten. Met UEFI kunnen firmware en drivers nu ook in 32- en zelfs in 64bit-modus opereren, zodat tijdens het opstarten veel meer geheugen kan worden aangesproken. Ook laat UEFI bij het opstarten veel hogere schermresoluties toe en reageert het op aanraakinvoer, wat een prettige, grafische setup-interface mogelijk maakt.

 

© PXimport

Een UEFI-interface heeft niets meer vandoen met dat saaie BIOS.

05 Formatteren

Na de initialisatie is je schijf nog steeds niet klaar en dus ook nog niet zichtbaar in de Windows Verkenner. Immers, je besturingssysteem verwacht nog een logisch bestandssysteem, wat onder meer het efficiënt beheren en lokaliseren van bestanden mogelijk moet maken. Klik daartoe de grafische weergave van de 'niet-toegewezen' ruimte van je schijf aan en kies Nieuw eenvoudig volume.

Standaard stelt Windows voor dit volume de volledige grootte van je schijf voor, maar je kunt dus ook een kleiner gebied kiezen - hoewel je een al bestaand volume in principe ook later nog kunt verkleinen, zolang er ten minste nog lege ruimte binnen dat volume beschikbaar is. In het volgende venster kies je een geschikte stationsletter voor het volume uit. Daarna volgt een belangrijke beslissing: welk bestandssysteem kies je voor dit volume? Afhankelijk van je besturingssysteem, de aard van de schijf en de grootte van het volume, kun je uit verschillende mogelijkheden kiezen. Gewoonlijk gaat het om exFAT en NTFS, bij volumes kleiner dan 32 GB stelt Windows ook nog FAT32 voor.

 

© PXimport

05 Naast de partitiegrootte moet je ook nog het bestandssysteem kiezen.

06 NTFS

Kort door de bocht: met NTFS ben je zelden bekocht! Dit systeem laat namelijk veel omvangrijkere volumes toe dan FAT32 (256 TB versus 2 TB), en kan tevens met veel grotere bestanden overweg (2 TB versus 4 GB). Bovendien is NTFS slimmer opgezet, met minder kans op corruptie in de bestandshuishouding.

Ook biedt het systeem een rits interessante functies aan, zoals de mogelijkheid om een fijnmazig machtigingenbeleid op mappen en bestanden toe te passen en om een schijfquotum aan gebruikers op te leggen. exFAT heeft weliswaar een groot deel van de voordelen van NTFS overgenomen, maar is vooral toch bedoeld voor flashgeheugen.

In het venster waarin je het bestandssysteem kiest, wordt ook naar de gewenste clustergrootte gevraagd. Een cluster is een groepje aaneensluitende sectoren en meteen ook de kleinste hoeveelheid schijfruimte die (door een besturingssysteem als Windows) wordt gebruikt voor het opslaan van gegevens. In nagenoeg alle gevallen laat je de standaard voorgestelde grootte best ongemoeid. Nog even een geschikte volumenaam instellen en je kunt de procedure afronden met Volgende en Voltooien. Heb je na afloop niet-toegewezen schijfruimte over, dan kun je hier nog bijkomende partities (logische volumes) creëren, bij de partitiestijl MBR tot een maximum van vier primaire partities of drie primaire en één uitgebreide.

Disk editor

In het artikel hebben we het onder meer over de MBR en partitietabellen. Deze datastructuren laten zich niet met gewone programma's zoals de Verkenner benaderen. Dat kan echter wel met zogenoemde fysieke schijf-editors. Een van de betere gratis tools is Active@ Disk Editor (beschikbaar voor Windows en Linux). Met behulp van dit programma kun je de MBR op een schijf kunt bekijken. Installeer de tool en start die op. Kies Open Disk en selecteer de (gewenste) fysieke schijf. Bevestig met Open. Open het menu Navigate en kies Partition Table. Zorg dat je linksboven bij Templates de optie Master Boot Record hebt gekozen.

Je krijgt nu de volledige MBR te zien, met onderaan (op de allerlaatste bytes - 55 AA - na) de hoofdpartitietabel. Klik in het linkerpaneel het gewenste onderdeel aan (zoals Partition 1 of Active partition flag) en Disk editor duidt automatisch de bijhorende bytes in die sector aan. Weet overigens dat je vanuit het contextmenu de optie Allow Edit Content kunt activeren, maar realiseer je ook dat één foute byte je met een onopstartbaar systeem kan opzadelen! Wanneer je bijvoorbeeld de complete MBR-sector met 00-waarden zou opvullen, dan toont Windows die schijf als zijnde 'niet geïnitialiseerd'! In een van de volgende edities van Computer!Totaal zullen we nog uitgebreider terugkomen op dit programma.

 

© PXimport

Een fysieke schijfeditor: een krachtige tool in handen van gevorderde gebruikers.

07 Advanced format

Eerder in dit artikel schreven we al dat een fysieke sector standaard 512 bytes bevat. Dat is lange tijd zo geweest, maar de laatste jaren komt daar verandering in en duiken steeds meer AF-schijven op. Dat staat voor Advanced Format en geeft aan dat die schijven met grotere fysieke sectoren werken. Meestal gaat het om sectoren van 4 kilobyte.

Een van de redenen van deze verschuiving is dat elke sector onder meer foutcorrectiecodes (ECC) bevat: hoe groter de sectoren, hoe minder sectoren er zijn en dus hoe minder ECC-data nodig zijn, wat uiteraard ruimtewinst oplevert. Stel, elke sector van 512 bytes voorziet in 50 ECC-bytes, dan zijn er voor 8 sectoren 400 ECC-bytes nodig. Voor elke 4K-sector zou dat dus 400 - 50 = 350 bytes winst opleveren. In de praktijk is dat weliswaar iets minder omdat er voor elke 4K-sector 100 ECC-bytes worden voorzien. Dat levert dus een betere foutcontrole en -tolerantie op, wat erg goed van pas komt nu de schijven een steeds grotere opslagdichtheid aanbieden (lees: meer bits op een kleiner schijfoppervlak mogelijk maken).

 

© PXimport

08 512e versus 4KN

Het probleem is nu dat heel wat hardwarecomponenten (zoals chipsets), programma's (zoals database engines, partitioneringstools en systeemutilities) en voornamelijk wat oudere besturingssystemen er nog altijd van uitgaan dat een sector 512 bytes bevat.

Om compatibiliteitsredenen halen de meeste AF-schijven een trucje uit. Deze schijven hebben namelijk firmware aan boord die alle lees- en schrijfverzoeken van 512 bytes netjes accepteert, maar intern dus wel 4K-sectoren gebruikt. Anders gezegd, op de achtergrond gebeurt er een automatische vertaalslag van logische sectoradressen naar de fysieke adressen (met 4K-sectoren) en omgekeerd. Zulke schijven worden weleens 512e-schijven genoemd, waarbij e staat voor emulation. Stilaan duiken echter ook 4Kn-schijven op, waarbij de n staat voor native, die niet langer voor deze vertaalslag zorgen. Dan moet je wel zeker zijn dat al je hardware, software en je besturingssysteem daarmee overweg kunnen. Windows 8 en hoger en Windows Server 2012 en hoger kunnen dat.

09 Partitie-uitlijning

Zolang je met 512e-schijven werkt, lijkt het er dus op dat je daar zelf geen rekening mee hoeft te houden. Dat klopt echter niet altijd! De verklaring is echter behoorlijk complex.

Eerder in dit artikel kon je al lezen dat een besturingssysteem als Windows met clusters werkt. Stel even dat cluster 0 in een partitie (logisch volume) begint op logische sector 63 (sectoren van 512 bytes). Als we ervan uitgaan dat een cluster op dat volume 8 sectoren groot is, dan bevat cluster 0 dus de logische sectoren 63 tot en met 70. Tegelijk bevatten de fysieke 4K-sectoren achtereenvolgens de logische sectoren 0-7, 8-15, 16-23, 24-31, 32-39, 40-47, 48-55, 56-63, 64-71 enz. Als Windows nu vraagt om data in cluster 0 te wijzigen, dan zal zo'n 512e-schijf in dit geval niet één maar twee 4K-sectoren (namelijk die met logische sectoren 56-63 en 64-71) moeten inlezen in het geheugen en die weer opslaan om de nodige data aan te passen. Dat vergt natuurlijk extra tijd en dat zal dus de prestaties van de schijf negatief beïnvloeden. Het is dus belangrijk erop toe te zien dat op een 512e-schijf - en daar horen ook SSD-schijven bij! - je partities beginnen op een logisch sectornummer dat deelbaar is door 8 en ook dat de clustergrootte 8 logische sectoren omvat, of een veelvoud daarvan.

 

© PXimport

 

© PXimport

09 Boven: partitie correct uitgelijnd; onder: partitie niet goed uitgelijnd.

10 Controle uitlijning

Wanneer je Windows 7 of hoger gebruikt om te partitioneren, hoef je je normaliter niet al teveel zorgen te maken over een correcte uitlijning op AF- en SSD-schijven, gezien die Windows-versies daar rekening mee houden. Echter, gebruik je een schijf die je nog met Windows XP hebt gepartitioneerd, dan moet je de uitlijning zeker controleren. Dat kan onder meer met de gratis Disk Alignment Test. Die vertelt je welke van je schijven van het AF/SSD-type (512e) zijn en welke partities al dan niet correct zijn uitgelijnd. Blijkt een partitie foutief te zijn uitgelijnd, dan zit er jammer genoeg weinig anders op dan die te verplaatsen (zie ook kader 'Uitlijning').

 

© PXimport

10 Eén van beide schijven blijkt van het AF-type en bevat twee correct uitgelijnde partities.

Uitlijning

Een foutief uitgelijnde partitie kan voor slechte schijfprestaties zorgen en dus doe je er goed aan die partitie te verplaatsen. Uiteraard begin je niet aan zo'n delicate operatie zonder dat je over een databack-up of schijfimage beschikt! Er zijn verschillende tools en met name partitiebeheerders waarmee je partities kunt uitlijnen, zoals het gratis MiniTool Partition Wizard Free Edition. In principe is zo'n operatie niet moeilijker dan bij Operations de optie Align Partition of (bij selectie van een complete schijf) Align All Partitions te kiezen. Het programma checkt daarop zelf of uitlijning nodig is en voert na je bevestiging de operatie uit. Let wel, met deze gratis versie kun je niet de clustergrootte wijzigen, mocht zo'n ingreep wenselijk zijn.

 

© PXimport

Een partitie uitlijnen doe je nooit zonder een back-up of schijfimage te maken.

Deel dit artikel
Voeg toe aan favorieten