Fragmentatie harde schijven

Voor de duidelijkheid hebben we de werking van een bestandssysteem iets eenvoudiger voorgesteld dan de werkelijkheid.
Deze uitleg geldt voor het in besturingssysteem Windows gebruikte bestandssysteem FAT of NTFS.
Door de opzet van het in Linux gebruikte EXT3 bestandssysteem is hierbij de fragmentatie vrijwel nihil.

Wat is fragmentatie en hoe ontstaat het?

Als er op een nieuwe (of geformatteerde) schijf bestanden worden geschreven, worden deze keurig achter elkaar op de schijf gezet. Fragmentatie treedt op als we bestanden verwijderen of bewerken.

Bij het formatteren van een harde schijf wordt deze opgedeeld in clusters. Het aantal en de grootte van deze clusters is afhankelijk van de capaciteit van de harde schijf. In iedere cluster kan maar één bestand worden opgeslagen. Bij kleine bestanden wordt de cluster maar gedeeltelijk gevuld, grote bestanden nemen meerdere clusters in beslag.

Het bestandssysteem in de computer houdt een index (inhoudsopgave) bij. Bij NTFS is dat de MFT(Master File Table) en bij FAT de (File Allocation Table). In deze index worden de namen van de bestanden en mappen bijgehouden en ook waar deze op de schijf staan. Deze index wordt ook op de harde schijf opgeslagen. Als de harde schijf wordt geformatteerd, dan wordt alleen de index veranderd, de bestanden blijven staan.

Voorbeeld

Er worden drie bestanden naar een nieuwe of geformatteerde harde schijf gekopieerd, die achter elkaar op de schijf worden opgeslagen.

Aan bestand 2 (een tekstbestand) wordt tekst toegevoegd. Bij het opslaan van deze verandering kan het voorkomen dat de informatie niet meer past op de plaats van het oude document en zal de volgende situatie ontstaan:

In de index wordt nu opgeslagen dat bestand 2 bestaat uit twee delen: het begin in cluster 2 en de rest in cluster 4.

Wordt nu bestand 2 gewist, dan worden cluster 2 en cluster 4 in de index als "leeg" aangemerkt, maar de gegevens van bestand 2 blijven gewoon op de schijf staan. Worden hierna nieuwe bestanden opgeslagen, dan kan cluster 2 of cluster 4 (of beiden) worden overschreven met nieuwe gegevens.

Problemen bij data recovery

Bij recovery van een geformatteerde harde schijf is de index leeg. Het kan ook zo zijn dat door een hardware of software probleem de index is beschadigd of gewist. De informatie over waar de verschillende delen van een bestand staan is dan dus ook verdwenen.

We kunnen nu de recovery software opdracht geven de index niet te gebruiken bij het zoeken naar bestanden. Ieder bestand begint met een unieke code, waarmee Windows het soort bestand herkent bijvoorbeeld tekst document (txt), foto (jpg), Word bestand (doc), etc.

In het voorbeeld hierboven zullen bestand 1 en bestand 3 compleet worden gevonden en teruggehaald. Van bestand 2 zal alleen het begin (in cluster 2) worden gevonden. De informatie dat de rest van het bestand in cluster 4 staat, die dus in de index hoort te staan, ontbreekt en bestand 2 zal dus onvolledig worden teruggehaald.
Hoe groter de bestanden, hoe groter ook de kans dat deze gefragmenteerd zijn en de diverse stukken her en der over de schijf verdeeld zijn.

Voorkom dus fragmentatie

Om fragmentatie zoveel mogelijk tegen te gaan moet een harde schijf regelmatig gedefragmenteerd worden. De delen van een bestand worden dan achter elkaar geschreven, zodat de leeskop het bestand in één keer kan lezen. Hierdoor wordt de harde schijf sneller en kunnen indien nodig met data recovery meer bestanden compleet worden teruggehaald.
In Windows zitten standaard mogelijkheden om defragmentatie uit te voeren. Er zijn ook pakketten te koop die meer mogelijkheden bieden en de schijf automatisch defragmenteren, zoals Perfectdisk en O&O Defrag.

Als er problemen zijn met de harde schijf, voer dan geen defragmentatie uit. Hierdoor kan een beschadigde index onbruikbaar worden.
Afhankelijk van het soort probleem kan ook de schijf door Windows laten controleren en automatisch fouten laten herstellen verlies van gegevens tot gevolg hebben.

Clustergrootte

De clustergrootte wordt door het bestandssysteem bepaald aan de hand van de capaciteit van de schijf of partitie en dit is altijd een compromis tussen snelheid en verloren ruimte.

Zoals al in bovenstaande uitleg over fragmentatie besproken past in een cluster maar één bestand. Bij de hedendaagse harde schijven is de clustergrootte vaak 4 kB (4096 bytes). Stel dat een bestand wordt opgeslagen van 1 kB groot, dan blijven er in het cluster dus 3 kB leeg.

Deze ruimte is niet meer te gebruiken totdat het bestand wordt verwijderd. Bij het verwijderen wordt het cluster in de index als "vrij" aangemerkt, het bestand zelf (of onderdeel daarvan) blijft staan. Pas als nieuwe gegevens worden opgeslagen kan deze cluster worden overschreven en is dus het oude bestand verwijderd of onvolledig.

Zonde van de ruimte, waarom dan geen kleinere clusters:

  • Minder verlies per cluster.
  • De index (waarin de gegevens van alle clusters wordt opgeslagen) wordt veel groter.
  • Hogere kans op fragmentatie.
  • Snelheidsverlies door hogere fragmentatie.

En grotere clusters:

  • Meer verlies per cluster.
  • De index wordt kleiner.
  • Kleinere kans op fragmentatie.
  • Snel door weinig fragmentatie.

Op een schijf waarop allerlei soorten bestanden worden opgeslagen (van een paar Kb tot vele Mb's) is de door het bestandssysteem bepaalde clustergrootte meestal een goede keuze.

Natuurlijk kan ook een aparte partitie aangemaakt worden voor bijvoorbeeld alleen foto's, waarbij tijdens het formatteren de clustergrootte kan worden aangepast, zodat er voor die partitie minder kans op fragmentatie is.

Hoe weet ik of een bestand is overschreven?

Of een bestand is overschreven of niet is alleen vast te stellen door het scannen van de schijf met goede data recovery software.

Er wordt vaak gedacht dat als een bestand wordt weggegooid en direct daarna een nieuw bestand wordt opgeslagen, dat dan het oude bestand is overschreven. Die mogelijkheid is erg klein, tenzij de schijf bijna vol is.
Ook als bijvoorbeeld een bestand in Word wordt gewijzigd en opnieuw wordt opgeslagen, kan nog steeds de vorige versie op de schijf staan.

Het bestands­systeem is een onder­deel van het bestu­rings­sys­teem (bijvoorbeeld Windows, Mac OS of Linux) en verzorgt alle hande­lin­gen die nodig zijn voor het schrijven en lezen van bestan­den op diverse opslag­media, zoals bijvoor­beeld harde schijven, CD/DVD of USB sticks.
De bekendste bestands­sys­temen zijn FAT of NTFS (Windows), HPFS (Mac OS) en ext2 of ext3 (Linux).
Een bestu­rings­sys­teem (Engels: operating system of afge­kort OS) is een pro­gramma (meestal een geheel van samen­wer­kende pro­gramma's) dat na het opstar­ten van een com­puter in het geheu­gen gela­den wordt en dat de func­tiona­li­teiten biedt om andere pro­gramma's uit te kun­nen voeren.
De meest bekende besturings­systemen zijn Windows (Microsoft), Linux en MacOs (Apple).
De File Allocation Table (afgekort tot FAT) is een tabel in het bestands­sys­teem dat ontwik­keld is voor MS-DOS en Windows. Het bestands­sys­teem wordt zelf ook FAT genoemd. De maximale grootte van een bestand is bij FAT 4 Gb.
FAT wordt onder­steund door bijna alle bestaande bestu­rings­systemen voor de pc.
Daarom wordt FAT dik­wijls gebruikt om gege­vens te delen tussen ver­schil­lende bestu­rings­sys­te­men en wordt vaak gebruikt op media zoals geheu­gen­kaar­ten en USB sticks.
NTFS (New Technology File System) is het bestands­systeem dat gebruikt wordt door Microsoft Windows NT en zijn opvol­gers (Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows 7 en Windows Server 2008).
NTFS is geba­seerd op HPFS, het bestands­systeem dat door Microsoft en IBM is ontwik­keld voor OS/2. Boven­dien maakt het gebruik van bepaalde gegevens­struc­turen die de pres­taties, betrouw­baar­heid en gebruik van schijf­ruimte verbe­teren. NTFS voegde hier zaken zoals bevei­li­ging aan toe.
Third Extended File System oftewel ext3 is een bestands­systeem dat wordt gebruikt door Linux bestu­rings­sys­te­men. Het is tegen­woordig stan­daard voor de meeste Linux distri­buties. Ext3 is in essentie een ext2 bestands­systeem, aangevuld met een jour­naal.
Ext3 kent vrij­wel geen frag­men­tatie en defrag­men­teren is daardoor over­bodig.
Een harde schijf is hardware­matig ver­deeld in sec­toren, meestal 512 bytes groot. Afhan­kelijk van de capa­citeit van de schijf wordt deze door het bestands­sys­teem ver­deeld in een aan­tal clus­ters.
Een cluster bestaat uit een aan­een­geslo­ten aan­tal sec­toren. Een gang­bare waarde voor de grootte van een clus­ter is 4kB (=4096 bytes, dus 8 secto­ren van 512 bytes).
Een harde schijf kan opge­deeld worden in meer­dere parti­ties. In Windows worden deze partit­ies gezien als een com­plete schijf en krijgen dan ook een letter toe­ge­wezen.
Bijvoor­beeld: een schijf verdeeld in twee parti­ties levert in Windows een C: en D: schijf op.
Het maken van een aparte parti­tie voor Windows en overige pro­gram­ma's en een parti­tie voor uw eigen bestan­den is een goed idee, maar vergeet niet dat bij een hard­ware storing in de harde schijf alle daarop aanwe­zige parti­ties bescha­digd of zelfs hele­maal niet meer toe­gan­ke­lijk kunnen zijn.
Trefwoorden: software programma windows data recovery data recovery computer pc thuis bestanden terughalen gegevens herstellen gegevens herstellen gegevensherstel dataherstel kwijt gewist verloren prullenbak verwijderd delete wissen documenten schijven schijf harde disk disc kapot stuk harde schijf probleem problemen harddisk harddisc fragmentatie dskchk partition
Veel functies op deze site maken gebruik van JavaScript.
Uw browser ondersteunt dit niet of JavaScript is uitgeschakeld.