Door Syzygy: Door SirDice: Door staubsauger: Als je onder Windows Vista of 7 een Format doet is de disk toch echt overschreven met nullen.Vertel mij maar eens welke file recovery tool daar nog data uit weet te halen.
Data overschrijven met nullen, al is het maar 1 keer, is echt wissen.
Er is een groot verschil tussen een bestand overschrijven en een schijf overschrijven.
He vriend, van kiet af aan heb je gelijk hier, een MBR is natuurlijk te herstellen.
Maar wat bedoel je hiermee ?
Natuurlijk is er een verschil maar wat bedoel je technisch dan.
Als je een file overschrijft dan wordt alles inhoudelijk een 0
Als je de hele schijf overschrijft dan worden alle files inhoudelijk een 0
Wat is het verschil dan (buiten de info van de partitie tabel en zo om)
Nee, wanneer je een file verwijderd, dan worden de gebruikte sectoren gemarkeerd als 'ongebruikt' en kan je die sectoren dus weer overschrijven met een nieuw te maken file of een bestaande file die groter wordt.
Echter je weet niet wanneer welke niet gebruikte sector aan de beurt is, dus de data van de oude file kan nog heel lang op je schijf blijven staan.
Wanneer je een sector gaat toevoegen aan een file, dan zal je OS over het algemeen de sector pas overschrijven met 0-en op het deel van de sector waar verder geen informatie van de file in komt.
Bijvoorbeeld een textbestand met "hoi" erin zal minimaal 1 sector in beslag nemen en in de praktijk zelfs iets meer, maar dat is afhankelijk van je filesysteem. Die file is dan zo'n 3 bytes lang (exclusief enige header-informatie) en de rest zijn 0-en.
Uiteraard zijn hier ook nog weer uitzonderingen op, waaronder de al genoemde sparse-files, maar ook gecombineerde files (ben ff de naam kwijt), wat sommige filesystemen ondersteunen met heel veel kleine files die vrijwel nooit aangepast worden.
Met het formatteren wordt er nog veel minder weggeschreven dan met het wissen van een schijf.
Heel simpel 'bewijs' is dat wanneer je een 1 TB schijf echt zou willen overschrijven met 0-en tijdens het formatteren, dan ben je bijna 3 uur bezig (10'000 sec) met ruim 100 MB/s. En dat formatteren duurt echt maar een paar seconden tot een minuut hooguit.
Kortom, met de juiste tools kun je een (net) geformatteerde schijf vrijwel geheel nog weer lezen en ook alle directories en filenamen die erop stonden. Pas als er nieuwe files op geschreven worden kun je die delen niet meer teruglezen.
SSD's hebben nog een andere vorm van verwijderen van files. Wanneer je een sector vrijgeeft, dan komt die achter aan in het rijtje van te gebruiken sectoren te staan. Dus die zal pas als allerlaatste weer gebruikt gaan worden bij het maken van een nieuwe file. (wear-levelling) Echter het schrijven van een SSD gaat ook iets anders.
Je kunt alleen een 1 in een 0 omzetten. Dus bij het aanpassen van een file, moet je de sector lezen, in het geheugen aanpassen, sector wissen (alles op 1 zetten) en de hele sector weer schrijven. In de praktijk is dat ook een andere sector.
Dit is traag, dus hebben ze het TRIM commando uitgevonden. Wanneer een sector vrijgegeven is en je OS heeft even niets te doen, dan gaat 'ie alle vrijgegeven sectoren alvast wissen, dus op 1 zetten. Dan hoef je bij het schrijven niet meer te wissen en dat is sneller.
En dan nu het recoveren van data die overschreven is.
Vroegah, toen de lucht nog schoon was en de sex.... nou ja toen werd een bit dus opgeslagen door een "1" of een "0" te schrijven op een stukje op de platter.
Echter dat neemt best wel veel ruimte in, zelfs met de staande (perpendicular) bitjes van Hitachi. Dus tegenwoordig wordt er een encoding toegepast waarbij er effectief meer dan 1 bitje staat op een fysieke plek.
Waar je dus vroeger een "1" naar een "0" veranderde, stond daar dus eigenlijk analoog het signaal "0.25" oid. (en van 0 naar 1 is dan dus ergens rond de 0.75)
Bij het opslaan van "00" op de plek waar "01" stond, op de huidige schijven, zal er dus niet "0, 0.25" staan, maar een waarde die bijna niet meer van "01" te onderscheiden is.
Je moet dan al erg veel redundantie in je file hebben zitten wil je er nog iets van kunnen maken. Maar tegenwoordig heeft vrijwel elk bestandsformaat (op .txt en .bmp na zeg maar) wel enige vorm van compressie in zich en dus is de redundantie er vrijwel uit.
De afbeelding in een .bmp file kun je als mens nog vrij makkelijk interpreteren, ookal is 90% van de data vernield, maar een Jpeg met 1% omgegooide bitjes is al vrijwel niet meer te reconstrueren. (met die 1% op de meest beroerde plekken en verspreid over de file)
Over sparse-files en het niet overschrijven wat je wel zou verwachten:
Als jij een file volschrijft met data, dan hoeft die file nog helemaal niet op de harde schijf te staan. Je OS zal de boel ook redelijk proberen te cachen, Best kans dat wanneer je die file dan weggooit, dat de cache dan geflusht wordt zonder ooit op een schijf te belanden.
En met sparse-files is het volgens mij nog wel zo dat je dat vrij expliciet moet aangeven bij het maken van de file, dat het een sparse-file betreft. Maar dat weet ik niet helemaal zeker.
In elk geval is het wel iets om rekening mee te houden.