|
g123
Anmeldungsdatum: Nov. 5, 2007
Beiträge: 370
|

31. Juli 2010 12:12
Wäre es nicht sinnvoll bei den Beispielbefehlen zum Klonen von Partitionen und Festplatten die Blocksize anzugeben? Weiter vorne im Artikel wird ja schon erwähnt, dass es ohne Angabe einer ausreichend großen Blocksize extrem langsam kopiert. In der englischen Wikipedia steht auch, dass es schneller laufen soll, wenn man dd if=/dev/sda bs=1M | dd of=/dev/sdb bs=1M
anstatt dd if=/dev/sda of=/dev/sdb bs=1M
verwendet, weil dann angeblich parallel gelesen und geschrieben werden soll. Edit: Ich habe jetzt mal einen kurzen Test durchgeführt. Ich habe von einem 1,5TB auf ein 2TB Raid5 kopiert. Ohne Angabe der BlockSize konnte ich mit 8,3MB/s kopieren. Ohne Angabe der BlockSize und im "parallelen Modus" wurden die Daten etwa mit 11MB/s kopiert, also ist an der Aussage aus der Wikipedia scheinbar etwas dran. Im "parallelen Modus" und einer BlockSize von 1MB wurde mit etwa 26MB/s kopiert.
|
|
noisefloor
Wikiteam
Anmeldungsdatum: Juni 6, 2006
Beiträge: 13978
Wohnort: Görgeshausen
|

31. Juli 2010 14:27
Hallo, kannst du gerne einbauen. ABER nicht mit der Pipe - das geht auch ohne. Die Optionen heißen ids und ods. Schau' mal in die Manpage von dd.  Gruß, noisefloor
|
|
track
Anmeldungsdatum: Juni 26, 2008
Beiträge: 3769
Wohnort: Wolfen (S-A)
|

31. Juli 2010 15:32
??? Die Optionen ibs und obs werden doch von bs=1M bereits mit erschlagen ? (ids / ods finde ich nicht) Lt. man dd: bs=BYTES
force ibs=BYTES and obs=BYTES
Wenn dieser putzige Pipe-Trick tatsächlich die Datenrate verdoppelt (wieso auch immer), warum darf er dann nicht in das Wiki ? track
|
|
noisefloor
Wikiteam
Anmeldungsdatum: Juni 6, 2006
Beiträge: 13978
Wohnort: Görgeshausen
|

1. August 2010 10:45
Hallo, ups - ihr müsst natürlich das d zum b spiegeln...  Die Sache mit der Pipe - wenn's das ganze schneller macht -> warum nicht. Ich hatte nur erstmal den Sinn davon nicht gesehen. Kann es sein, dass die Pipe schneller ist, weil dd als Prozess 2x gestartet wird, 1x zum Lesen und 1x zum Schreiben? Gruß, noisefloor
|
|
track
Anmeldungsdatum: Juni 26, 2008
Beiträge: 3769
Wohnort: Wolfen (S-A)
|

1. August 2010 15:50
In diese Richtung geht die Erklärung dazu in http://en.wikipedia.org/wiki/Dd_(Unix) wo die Idee wohl her stammt. (Es klingt mehr so als wenn der Device-Zugriff innerhalb von dd immer nacheinander erfolgt... das habe ich allerdings nicht verifiziert) edit: Lt. Quelltext liest dd mit seiner main_loop tatsächlich nacheinander jeweils einen Block (rsp. Puffer) ein, konvertiert ihn ggf. und schreibt danach. Damit wäre das plausibel, denn das schreiben / lesen einer Pipe geht ungleich schneller als ein Device. Praktisch kommen allerdings noch die Caches von Linux und in den Festplatten mit ihrem read-ahead ins Spiel, die das wieder relativieren... Das beste wäre wohl wirklich, das einfach per Vergleichstest zu bewerten. Schneller geht das natürlich nur zwischen unabhängigen Kanälen, z.B. bei SATA, und definitiv nicht, wenn man z.B. innerhalb eines ATA-Strangs (Master <-> Slave) kopiert, der sowieso immer nacheinander zugreift. track
|
|
black tencate
Anmeldungsdatum: März 27, 2007
Beiträge: 3831
|

21. Oktober 2010 14:05
Hej, ich teste gerade Mit-dd-erstellte-Images-einbinden. Das klappt, solange der Stick nur eine Partition enthält. Bei mehreren soll zum mounten der -o loop,offset= verwendet werden, um den zu erhalten, soll sudo fdisk -l -u /Pfad/zum/Image.img verwendet werden. Hier mein 'fagwürdiges' Ergebnis:
blacktencate@tmh4440:~/Desktop$ sudo fdisk -l -u st4gb_g-l.img
Sie müssen angeben Zylinder.
Sie können dies im Zusatzfunktionsmenü tun.
(lustiges Deutsch) In der man-page steht zum Thema: OPTIONS ...
Specify the number of cylinders of the disk. I have no idea why anybody would want to do so. ...
nun wollte ich die ja eigentlich erst mal erfahren! ![:[]](http://media.cdn.ubuntu-de.org/wiki/attachments/09/28/grin.png) Es hilft offensichtlich auch nicht, wenn ich das vom Stick direkt abgreife:
Platte /dev/sdc: 8054 MByte, 8054636032 Byte
255 Köpfe, 63 Sektoren/Spuren, 979 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes
Disk identifier: 0x0005ae85
Gerät boot. Anfang Ende Blöcke Id System
/dev/sdc1 589 979 3140707+ 5 Erweiterte
/dev/sdc2 1 588 4723078+ b W95 FAT32
/dev/sdc5 589 680 738958+ b W95 FAT32
/dev/sdc6 681 978 2393653+ 83 Linux
/dev/sdc7 979 979 8001 83 Linux
also z. B. für sdc2 sudo mount -o loop,offset=512 -t vfat st4gb_g-l.img /media/loop_mount
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
Manchmal liefert das Syslog wertvolle Informationen – versuchen
Sie dmesg | tail oder so
setze, dmesg | tail liefert:
[14227.397628] FAT: invalid media value (0xca)
[14227.397637] VFS: Can't find a valid FAT filesystem on dev loop0.
Was mache ich falsch? Gruß Reinhard PS.: ...
Der Offset für die 3. Partition währe also 109065285 * 512 = 55841425920
wird hier immer wieder gern genommen
|
|
thosch66
Anmeldungsdatum: Juni 16, 2007
Beiträge: 124
Wohnort: Berlin
|

23. Januar 2011 16:39
Seltsames Verhalten beim Pipen von dd durch pv Hallo, ich nutze dd gerne, um Festplatten etwas zu quälen. Da hat mir die Beschreibung zum Einbinden von pv als Fortschrittsanzeige sehr gefallen. Als ich testweise 1 GB in 1MB-Blöcken (bs=1M count=1024) von /dev/urandom nach /dev/null verschoben habe, musste ich eine unerfreuliche Entdeckung machen: Der Vorgang beendete sich "sauber" nach 128MB. Ohne pv lief es richtig durch und mit verendete es reproduzierbar bei 128MB. thosch@xxx:~$ dd if=/dev/urandom bs=1M count=1024 | pv -s 1G | dd of=/dev/null bs=1M count=1024
0+1024 Datensätze einB/s] [===> ] 12% ETA 0:04:18
0+1024 Datensätze aus
134217728 Bytes (134 MB) kopiert, 36,7334 s, 3,7 MB/s
128MB 0:00:36 [3,46MB/s] [===> ] 12% Ein Crosscheck unter what-ever-Linux auf meinem QNAP-NAS und Mac OS X (dort schon bei 64MB) ergaben ähnliche Ergebnisse. Es muss also an pv liegen. Als ich die Größenparameter (bs=1M count=1024) auf der Zielseite der Pipe wegließ, lief es sauber durch. Auf allen drei Systemen. thosch@xxx:~$ dd if=/dev/urandom bs=1M count=1024 | pv -s 1G | dd of=/dev/null
1GB 0:04:58 [3,43MB/s] [=================================>] 100%
2097152+0 Datensätze ein
2097152+0 Datensätze aus
1073741824 Bytes (1,1 GB) kopiert, 298,876 s, 3,6 MB/s
1024+0 Datensätze ein
1024+0 Datensätze aus
1073741824 Bytes (1,1 GB) kopiert, 298,876 s, 3,6 MB/s Kann es sein, dass diese Parameter auf der Zielseite unter bestimmten Umständen dazu führen, dass Vorgang zu früh "sauber" beendet wird? Der Sinn der Parameter auf dieser Seite hat sich mir sowieso nicht eröffnet, weil das Ziel einfach so viel schluckt, wie die Quelle schickt. Wie seht Ihr das? Sollte man diesen Code-Schnipsel im Artikel anpassen? Gruß Thomas
|
|
doppelkeks
Anmeldungsdatum: Dez. 4, 2006
Beiträge: 17
|

28. Januar 2011 10:13
Sicher(es) Löschen Hi, ich würde gerne die Methode mit dd Festplatten sicher zu löschen eintragen.
Da dies gerne genutzt wird und eine praktikable (wenn auch langwierige) Lösung ist.
Würde es hinter die Live-USB-Stick einordnen. Also Nummer 10, Unterpunkt von Anwendung. Name: Sicheres Löschen
Tag: sicher löschen, löschen Ist alles schon getippt und getestet. Muss nur noch eingefügt werden
Brauch nur noch ein OK.
|
|
kaputtnik
Ehemalige
Anmeldungsdatum: Dez. 31, 2007
Beiträge: 6834
Wohnort: Erde
|

28. Januar 2011 11:08
Servus  habe nicht so die Ahnung davon, aber es gibt wipe und Shell/shred zB. Warum soll man dd, welches in erster Linie zum kopieren und konvertieren verwendet wird dazu benutzen? Gruß kaputtnik Edit: Siehe auch Daten sicher löschen
|
|
RapaNui
Anmeldungsdatum: Juli 16, 2007
Beiträge: 926
Wohnort: Penco / Chile
|

28. Januar 2011 19:06
Hola, Vielleicht wäre ein Hinweis zu der Methode und dann zu den Programmen nicht schlecht. Ich hör auch immer davon: "Lósch das doch mit dd". Wenn einer ein Beispiel hätte wie man ein leeres Image (virtual disk) anlegt wäre das auch noch interessant, da dies bei Wubi zum tragen kommen kann. Wie siehts aus doppelkeks? RapaNui
|
|
noisefloor
Wikiteam
Anmeldungsdatum: Juni 6, 2006
Beiträge: 13978
Wohnort: Görgeshausen
|

28. Januar 2011 19:29
Hallo,
Brauch nur noch ein OK.
Wenn es mit prinzipiell geht ist das IMHO schon ok. Wenn es aber "langwierig" ist und andere Methoden genau so "gut" und schneller sind macht es IMHO wenig Sinn. Gruß, noisefloor
|
|
auftisch
Anmeldungsdatum: Aug. 1, 2007
Beiträge: 135
|

27. September 2011 21:42
Bei folgender Schleife aus dem wiki (http://wiki.ubuntuusers.de/shell/dd#Den-Fortschritt-von-dd-abfragen , die erste) bekomme ich einen error: | bash: [: too many arguments
|
| while [ $(ps -a | grep 7100) ]; do kill -SIGUSR1 7100; sleep 10; done
|
Pid selber ermittelt, hatte dd schon gestartet.
|
|
track
Anmeldungsdatum: Juni 26, 2008
Beiträge: 3769
Wohnort: Wolfen (S-A)
|

27. September 2011 22:41
Das ist klar. Schau mal was das grep ausgibt:
dd if=/dev/XXX of=/dev/XXX & ddpid=$! ; ps -a | grep $ddpid Da kommt ja noch ein ganzer Sermon mit ... Es funktioniert aber, wenn Du den Sermon mit grep wegschneidest:
dd if=/dev/XXX of=/dev/XXX & ddpid=$! ; while [ $(ps -a | grep -o $ddpid) ]; do kill -SIGUSR1 $ddpid; sleep 10; done Ob es noch einfacher geht, das sei mal dahingestellt. LG, track
|
|
auftisch
Anmeldungsdatum: Aug. 1, 2007
Beiträge: 135
|

19. Oktober 2011 16:36
Das funktioniert auch nicht! Teste doch mal vorher. bash: kill: (6258) - Operation not permitted mit sudo vor kill:
| [2] 6283
[1] Exit 143 sudo dd if=/dev/sda ....
[2]+ User defined signal 1 sudo dd if= ......
|
Abbruch nach 3 Sekunden.
|
|
TausB
Anmeldungsdatum: Nov. 26, 2009
Beiträge: 551
|

5. Januar 2012 11:26
Hallo! Wäre es nicht sinnvoll unter Shell/dd einen Link auf mount zu integrieren (wegen des Skriptes zum Einbinden von Partitionen aus FestplattenImages)? Ich suche jedes mal ...  TausB
|