Voor gegevens herstel van een harde schijf kijk op de pagina over data recovery.
voor gratis advies .
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 of EXT4 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 (de overgebleven ruimte wordt "slack space" nederlands "loze ruimte" genoemd), grote bestanden nemen meerdere clusters in beslag.
Het bestandssysteem in de computer houdt een index bij (vergelijkbaar met de inhoudsopgave in een boek). 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 schijf opgeslagen. Als de schijf wordt geformatteerd (snel formatteren), dan wordt alleen de index veranderd, de bestanden blijven gewoon staan.

Een SSD heeft geen last van fragmentatie, omdat de indeling van de geheugenblokken intern wordt bepaald.
Het uitvoeren van defragmentatie bij een SSD is dus zinloos en niet aan te raden (zie flash geheugen).
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.
Bij data 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.

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.
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 of gedeelte van een bestand. Bij de hedendaagse harde schijven is de clustergrootte vaak 4 KB (4096 bytes). Stel dat een bestand wordt opgeslagen van 1 KB (1024 bytes) groot, dan blijven er in het cluster dus 3 KB leeg (dit wordt "slack space" nederlands "loze ruimte" genoemd).
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.


Om het lezen van en schrijven naar de schijf te versnellen hebben moderne schijven een grote hoeveelheid intern geheugen, dat cache wordt genoemd.
Als er een bestand wordt gelezen, beginnend bij een bepaalde sector, dan worden een groot aantal volgende sectoren in dit cache geheugen opgeslagen. Als deze sectoren in opvolgende leesacties nodig zijn, hoeven deze niet meer eerst van de schijf te worden gehaald (kost meer tijd), maar zijn direct uit het cache geheugen beschikbaar.
Ook het besturingssysteem gebruikt het interne geheugen van de computer om lees- en schrijfacties te versnellen.
De snelheidswinst door het veranderen van de standaard clustergrootte is door al deze voorzieningen praktisch te verwaarlozen. De beste oplossing als snelheid erg belangrijk is: standaard clustergrootte, schijf met voldoende cache geheugen en regelmatig defragmenteren.
Er bestaan ook schijven die de gegevens sneller kunnen lezen. Bijvoorbeeld de Velociraptor serie van Western Digital. De meeste 3,5 inch schijven draaien met 7.200 rpm (toeren per minuut), deze schijven draaien met 10.000 rpm en hebben een groot cache geheugen. Ook bestaan er snelle SCSI schijven, maar voor privé gebruik is dit een kostbare oplossing.
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 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.
Probeer nooit een harde schijf met "bad blocks" (ook wel "bad sectors" genoemd) te defragmenteren. Defragmentatie programma's gaan ervan uit dat de schijf zonder fouten is en bij bad blocks kan de defragmentatie compleet mislukken of bestanden op de schijf beschadigen, of erger nog de bestandsstructuur beschadigen, waardoor bestanden of mappen onzichtbaar worden en bij verder gebruik van de schijf kunnen worden overschreven.