• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

externe Festplatte löschen - Wie?

DoctorJay

Newbie
Hallo,


ich habe mir eine externe Festplatte ausgeliehen um ein Backup aufzuspielen.
Hat funktioniert , nur in 20 min muss ich sie wieder abgeben und das Zeug will nicht mehr runter!

Wie mache ich das mit Suse 10.1

Einfach in den Mülleimer funktioniert nicht. Bei einigen Dateien fehlt mir immer die Berechtigung.

Ich habe schon WindowsXP hochgefahren, da wollte ich "formatieren" - klappt auch nicht.

Was mache ich jetzt ?!
 

cero

Guru
Hier sind ein paar Tips:
http://www.linux-club.de/viewtopic.php?t=63921

Aber Vorsicht, es kann leicht etwas zerstört werden!
 

framp

Moderator
Teammitglied
Als root

Code:
dd if=/dev/random of=/dev/hda
oder
Code:
dd if=/dev/null of=/dev/hda

(hda muss die Platte sein die geloescht werden soll. Achtung! /dev/hdx muss stimmen - sonst -> Falsche Platte geloescht !!!)

Ersteres dauert laenger (Die gesamte Platte wird mit Zufallswerten ueberschrieben) - ist aber forensisch besser. Letzteres geht schneller (Die gesamte Platte wird mit 0 ueberschrieben)..

Ist forensisch nicht 100% sicher - aber das denke ich brauchst Du wohl nicht oder ;-)
 
OP
D

DoctorJay

Newbie
Wo sehe ich wie die Platte heißt, damit da unter Garantie nichts schiefläuft.

Ich will eine EXTERNE Festplatte löschen.

Danke
 
OP
D

DoctorJay

Newbie
Sodala dann habe ich also einfach mal folgendes eingegeben:

erst su geworden und dann das:
linux:/home/jay # dd if=/dev/random of=/dev/sda1

leider macht der bis jetzt gar nichts.



Die Information, dass sda1 der Name der externen Festplatte ist, habe ich vom "Arbeitsplatz" dann auf den Namen mit nem Rechtsklick und dann auf Eigenschaften den Namen abgelesen.

Was lief falsch?
 
A

Anonymous

Gast
DoctorJay schrieb:
linux:/home/jay # dd if=/dev/random of=/dev/sda1
leider macht der bis jetzt gar nichts.

Kein Wunder. Erstens sieht man bei dd nicht allzuviel bevor er fertig ist, und zweitens haben dir die Forensiker hier einen Befehl gegeben, den sie sicherlich noch nie selbst ausprobiert haben. Der Befehl würde für eine heute als mittelgroß zu bezeichnende Festplatte bestimmt ein paar Wochen brauchen :wink: ist also die blanke Stromverschwendung.
Machen wir doch mal ein Beispiel :
Wir wollen eine Testfile von 512000 Byte anlegen und verwenden /dev/random und nehmen mal die Zeit die dieser Befehl dauert.
Code:
robi@Pingu:/tmp> time dd if=/dev/random of=/tmp/test1 count=1000
Getötet

real    44m28.933s
user    0m0.001s
sys     0m0.029s
robi@Pingu:/tmp> ls -l test1
-rw-r--r--  1 robi users 61952 2006-08-07 19:48 test1
Ich hab denn nach einer 3/4 Stunde abgebrochen, weil er immer noch nicht fertig war, bis dort hin hat er immehin schon fast 61KB geschafft. Also mal so quer über den Daumen in der Stunde 80KB, macht nicht mal 2MB am Tag würde für eine 80GB Platte mehr als 100 Jahre dauern :lol: Kein Wunder wenn es da User gibt, die behaupten LINUX sei langsam
Also machen wir es doch mal richtiger:
Code:
robi@Pingu:/tmp> time dd if=/dev/urandom of=/tmp/test1 count=1000
1000+0 Datensätze ein
1000+0 Datensätze aus

real    0m0.172s
user    0m0.002s
sys     0m0.166s
robi@Pingu:/tmp> ls -l test1
-rw-r--r--  1 robi users 512000 2006-08-07 20:05 test1
also 0,17 Sekunden für fast 512KB ist doch schon mal ein kleiner Unterschied.

Wenn wir jetzt noch bedenken, dass auf die Festplatte über den Treiber mit 4KB zugegriffen wird, können wir das ja auch noch in unseren dd Befehl mit beachten, in dem wir dann mit 4KB oder einem Vielfachem davon auf die Festplatte zugreifen, und erreichen dabei quer über eine gesamte Festplatte auch noch einen Zeit Gewinn, dieser ist aber etwas abhängig von einigen Geschwindigkeiten innerhalb des Rechners und der Platte selbst.

Ein resultierende Befehl zum überschreiben der sda könnte also jetzt so aussehen:
Code:
dd  if=/dev/urandom of=/dev/sda bs=64K
machen wir doch mal eine Probe mit einer Testdatei diesmal etwas größer, um sicher zu sein, nicht nur in den Cache des Filesystems zu schreiben.
Code:
robi@Pingu:/tmp> time dd if=/dev/urandom of=/tmp/test1 bs=64K count=1000
1000+0 Datensätze ein
1000+0 Datensätze aus

real    0m10.969s
user    0m0.002s
sys     0m10.840s
robi@Pingu:/tmp> ls -l test1
-rw-r--r--  1 robi users 65536000 2006-08-07 20:15 test1
über den Daumen: 64MB in 11 Sekunden macht 350MB in der Minute macht weniger als 4 Stunden für die 80GB Platte

Jetzt wollen wir aber auch nachsehen, ob wir wirklich Zufallzahlen haben:
Code:
robi@Pingu:/tmp> hexdump -C test1 | more
00000000  52 54 0d 3a f7 c9 c2 d8  d1 59 16 25 d1 5c 7f d4  |RT.:÷ÉÂØÑY.%Ñ\.Ô|
00000010  30 47 a8 5f 3e ee e4 8a  50 15 83 b2 0c ec c9 83  |0Gš_>îä.P..².ìÉ.|
00000020  51 c4 48 94 51 98 3b 15  cb 5c 64 c2 a4 1c b2 0a  |QÄH.Q.;.Ë\d€.².|
00000030  d6 4d 4e f2 45 b3 77 25  6a 10 31 ee 9d a9 1a 74  |ÖMNòE³w%j.1î.©.t|
00000040  07 9f 32 c3 3e ca 1f ea  76 18 f6 91 a9 ea a1 33  |..2Ã>Ê.êv.ö.©ê¡3|
00000050  56 da 31 d8 f6 24 a5 e2  bc db d7 7e 9c 0c 30 4a  |VÚ1Øö$¥âŒÛ×~..0J|
00000060  f8 06 9e 61 c8 58 c4 52  0d b1 a0 97 15 3a 94 f6  |ø..aÈXÄR.± ..:.ö|
00000070  24 4b 0b 56 54 86 5b 39  37 e8 ac 46 f8 97 28 10  |$K.VT.[97è¬Fø.(.|
........................
ich glaube mal das reicht uns an Zufall vollkommen zum Plattenüberschreiben aus :wink:
Weitere Geschwindigkeitsgewinne bis hin zur Maximalen Schreibgeschwindigkeit auf diese Platte würden wir erreichen, wenn wir eine Datei mit /dev/urandom erzeugen, die von der Größe bequem im Cache also im Speicher sitzt, und diese dann in einer Schleife fortwährend mit dd auf die Platte schreiben würden. Das Problem hier ist nur, man muss den Befehlsaufbau etwas durchdenken, da sonst dd immer nur den Anfang der Platte überschreibt und nie fertig wird.


robi
 
OP
D

DoctorJay

Newbie
Ok danke.

Kannst du mir noch kurz die Zeile verraten um das jetzige formatierne abzubrechen und die Eingabe um die Platte namens sda1 zu formatieren.

Ich habe echt bammel, dass ich da irgendwas verbock.
 

cero

Guru
Da das schon ein kleines Howto ist mit einer schönen Erklärung von robi, sollte
dieser Thread in Security aufbewahrt werden: Talk ==> Security.
 
A

Anonymous

Gast
Wenn der Befehl noch laufen sollte, dann gehe mal auf das Terminal in dem der Befehl noch läuft.
Dort gibst du ein "Strg + z" ein. Damit Stopst du den Befehl erst mal.
deine mögliche Ausgabe sieht so aus:
Code:
[1]+  Stopped                 dd if=/dev/random of=/dev/sda1
Also vorne eine [Jobnummer] dahinter Stopped und dahinter der Befehl
Beenden kannst du dann den Befehl entgültig mit
Code:
kill -9 %Jobnummer
also bei mir kill -9 %1
Das Ergebnis zeigt dann wieder so eine Zeile wie oben nur diesmal mit Status Getötet

Setze wenn du die Platte doch noch mit dem dd Befehl mit Zufallszahlen komplett überschreiben willst einfach, statt /dev/random nur /dev/urandom ein. Wichtig ist nur immer beachten bei of=........... solltest du immer 2 mal hinschauen, was dort steht wird knadenlos und ohne Vorwarnung überschreiben.

Du hast den Anfang der Partition jetzt eh schon platt gemacht, das sollte reichen damit so schnell niemand "ohne erweiterte Kenntnisse" mehr an eventuelle Daten kommt. Wenn wirklich was wichtiges auf der Platte war, musst du sie aber wirklich noch richtig platt machen.
Wer hier mit dd auf die gesamte Platte oder auf einen Teile der erweiterten Partitionen zugegriffen hat, hat dabei auch die Partitionstabelle oder Teile davon überschreiben. Diese muss neu angelegt werden, bevor die Platte wieder verwendet werden kann. Zumindestens mal überprüfen.
Das kannst du mit Yast machen oder auch über die Konsole mit fdisk /dev/sda Auch ein Filesystem muss dann noch angelegt werden. Wenn du unsicher bist, nimm lieber Yast. Oder wenn auf dem Rechner, es geht auch mit Windows.

robi
 
robi schrieb:
Kein Wunder. Erstens sieht man bei dd nicht allzuviel bevor er fertig ist,
Deswegen => dd_rescue
und zweitens haben dir die Forensiker hier einen Befehl gegeben, den sie sicherlich noch nie selbst ausprobiert haben. Der Befehl würde für eine heute als mittelgroß zu bezeichnende Festplatte bestimmt ein paar Wochen brauchen :wink: ist also die blanke Stromverschwendung. Kein Wunder wenn es da User gibt, die behaupten LINUX sei langsam
Wer keine Ahnung hat, naja den Rest kennt ihr, der sollte es lieber sein lassen.
 

joka

Member
robi schrieb:
Ein resultierende Befehl zum überschreiben der sda könnte also jetzt so aussehen:
Code:
dd  if=/dev/urandom of=/dev/sda bs=64K
...
über den Daumen: 64MB in 11 Sekunden macht 350MB in der Minute macht weniger als 4 Stunden für die 80GB Platte
Eine deutlich schnellere Methode, um eine Partition mit "Zufalls"-Zahlen zu überschreiben wurde in der c't 11/2006 vorgestellt. Hierfür benötigt man cryptsetup-luks (gibt's z.B. auf Packman für SuSE): Die Grundidee dabei ist, ein verschlüsseltes Device mit Nullen zu beschreiben. Der Verschlüsselungsalgorithmus aes-cbc.. sorgt dafür, dass die Nullen in jedem Block verschieden verschlüsselt werden, so dass das Ergebnis von Zufallszahlen kaum zu unterscheiden ist:*
Code:
# cryptsetup-luks luksFormat -c aes-cbc-essiv:sha256 -s 256 -y /dev/system/testlv

WARNING!
========
This will overwrite data on /dev/system/testlv irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.
# cryptsetup-luks luksOpen /dev/system/testlv testdd
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.
# time dd if=/dev/zero of=/dev/mapper/testdd
dd: writing to `/dev/mapper/testdd': No space left on device
407545+0 records in
407544+0 records out
208662528 bytes (209 MB) copied, 17.7456 seconds, 11.8 MB/s

real    0m17.750s
user    0m0.112s
sys     0m6.176s
#
Diese Methode ist ca. 3-4 mal schneller als /dev/urandom, jedenfalls bei meinem Test mit einer 200MByte großen LVM-Partition:
Code:
brummix:~ # time dd if=/dev/urandom of=/dev/system/testlv
dd: writing to `/dev/system/testlv': No space left on device
409601+0 records in
409600+0 records out
209715200 bytes (210 MB) copied, 64.3215 seconds, 3.3 MB/s

real    1m4.323s
user    0m0.100s
sys     0m55.683s


*) Um genau zu sein, müssten die ersten 1 MByte der Partition zuerst mit "dd if=/dev/urandom of=/dev/system/testlv" überschrieben werden, da der Header eines LUKS-Devices so groß ist.
 
Oben