[Anleitung] Effektive Lowlevelformatierung aus Windows/Linux heraus

darkarchon

Commander
Registriert
Jan. 2007
Beiträge
2.429
Ich hoffe mal, das ist hier halbwegs richtig, kann unter Tutorials und FAQs keine Beiträge erstellen.

Einleitung

Ich denke (fast) jeder kennt die Situation. Man hat mehrere Festplatten eingebaut, möchte nun eine verkaufen - aber die Daten, die darauf waren, soll keiner kriegen. Tja, was tun? Es gibt zwar viele Lösungsmöglichkeiten, die irgendwelche ominöse Software benötigen, aber hier möchte ich auf eine ganz Spezielle und für die meisten User unkonventionelle verweisen, nämlich dd, und dafür eine Anleitung basteln. Damit ist es kinderleicht eine Festplatte vollständig mit Nullen zu überschreiben - auf Wunsch mehrmals, jedoch einmal überschreiben reicht völlig.

Diese Anleitung soll sowohl für Linux als auch für Windowsuser nutzbar sein. Die Befehle unterscheiden sich nur geringfügig, dennoch gehe ich jetzt einfach bei den Beispielen von der Windowsvariante aus.

Download

Für Linuxuser ist das kein Thema, dd ist in jeder Distribution vorhanden und es muss nichts weiter gemacht werden
Für Windowsuser gibt es den Download hier.

Vorgehensweise

Schritt 1

Nun, dd ist heruntergeladen - oder bereits installiert. Was nun? Windowsuser entpacken die zip und packen die dd.exe irgendwohin, wo sie gerade lustig sind, aber bitte nicht auf die HDD, die ihr löschen wollt.

Schritt 2

Linuxuser öffnen nun eine Konsole und wechseln per su zum User root, oder, wenn sie umbedingt wollen, schreiben sie sudo vor jeden Befehl, der folgt.

Windowsuser habens etwas komplizierter: Zunächst öffnet ihr cmd, einfachster Weg: Windowstaste+R -> cmd -> Enter

Achtung Sofern ihr Windows 7 oder Vista benutzt, müsst ihr cmd als Administrator starten! Achtung

Nun wechselt ihr in den Ordner, in den ihr dd entpackt habt, mit Hilfe der Befehle hier drunter.

Zum Navigieren in der Kommandozeile, die, wie ich denke, für einige User, relativ unbekannt sein sollte, gibts folgende Befehle:
cd <ordner> - wechselt in den Ordner <ordner>
cd .. - wechselt in den Ordner über dem aktuellen
<hddlaufwerkwerksbuchstabe>: - wechselt auf das entsprechende Laufwerk/Partition

Schritt 3

Nun lassen wir mal alle Festplatten und Laufwerke anzeigen, die das System mal so inne hat.

Dazu den folgenden Befehl: .\dd --list (Linuxuser lassen das .\ einfach weg)

Unter Windows spuckt das eine derartige Liste aus:
dd --list schrieb:
D:\Eigene Dateien>dd --list
rawwrite dd for windows version 0.5.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by the GPL. See copying.txt for details
Win32 Available Volume Information
\\.\Volume{4687c650-93ab-11de-95d0-806d6172696f}\
link to \\?\Device\HarddiskVolume1
fixed media
Mounted on \\.\c:

\\.\Volume{c824921e-93af-11de-aeca-0025b36810f8}\
link to \\?\Device\HarddiskVolume2
fixed media
Mounted on \\.\d:

\\.\Volume{66f90e4a-ca06-11de-8e78-806d6172696f}\
link to \\?\Device\CdRom0
CD-ROM
Mounted on \\.\e:


NT Block Device Objects
\\?\Device\CdRom0
size is 2147483647 bytes
\\?\Device\Harddisk0\Partition0
link to \\?\Device\Harddisk0\DR0
Fixed hard disk media. Block size = 512
size is 250059350016 bytes
\\?\Device\Harddisk0\Partition1
link to \\?\Device\HarddiskVolume1
\\?\Device\Harddisk0\Partition2
link to \\?\Device\HarddiskVolume2

Virtual input devices
/dev/zero (null data)
/dev/random (pseudo-random data)
- (standard input)

Virtual output devices
- (standard output)

Hier kann man rauslesen, welche Partitionen auf welcher HDD liegen. Falls ihr aus der unteren Liste nicht eindeutig rauslesen könnt, welche Fesplatte das nun ist, die ihr weghaben wollt (z.b. bei HDDs gleicher Größe) so nehmt aus der oberen Liste (bei mir jetzt im Beispiel) das "Mounted on <laufwerksbuchstabe>", und das dazugehörige "link to <partition>" 2 Zeilen darüber, und vergleicht das mit dem "link to <partition>" in der unteren Liste. Wenn ihr die Partition gefunden habt, notiert ihr euch die Zeile mit \\?\Device\HarddiskX\Partition0.
Partition 0 gibt immer die gesamte Festplatte an.
Wenn ihr jedoch genau wisst, wie groß die HDD ist, die ihr löschen wollt, kann man das bei "size is" und den ersten 3 Ziffern (geben die Größe in GB an) herauslesen, und wieder die \\?\Device\HarddiskX\Partition0 notieren
Unter Linux kann die Liste anders aussehen, jedoch ist die Vorgehensweise dieselbe.

Schritt 4

So, ihr habt die Festplatte gefunden, die ihr formatieren wollt? Ihr seid euch 100% sicher? Gut, dann gehts weiter im Programm. Ab hier wird das Prozedere ziemlich einfach.

Mit dem folgenden Befehl, veranlasst ihr, dass die gesamte Festplatte mit Nullen überschrieben wird:

Achtung Bitte versichert euch, dass ihr die richtige Festplatte angegeben habt, dieser Befehl ist nicht rückgängig zu machen, und alle Daten werden unwiderruflich gelöscht! Achtung

.\dd if=/dev/zero of=\\?\Device\HarddiskX\Partition0 bs=10M --size --progress

Das X wird ersetzt durch die Harddisk, die ihr killen wollt.

Linuxuser lassen wieder das .\ und zusätzlich das --progress weg (sofern ihr keine spezielle Binary habt, die progress im dd eingebaut hat)

Dann heißt es zurücklehnen, oder sich einen Kaffee aufsetzen.

Für eine schnellere Performance kann man die Angabe in bs noch verändern. bs=10M heisst soviel, dass ein Block von jeweils 10MB geschrieben wird. Ich würde raten mit der bs bis maximal 50M zu gehen.

Fazit

Die HDD ist leer, der User ist glücklich. Wenn es Probleme oder Fragen gibt, stellt sie einfach :freaky:
 

Ähnliche Themen

Zurück
Oben