Wie kopiere ich mit dd Rohblöcke auf derselben Festplatte?

Wie kopiere ich mit dd Rohblöcke auf derselben Festplatte?

Ich möchte physische Blöcke von einem Teil einer Festplatte auf einen anderen Teil derselben Festplatte verschieben. Ich habe es ddunter macOS High Sierra versucht, aber es werden keine Daten übertragen.

$ sudo dd if=/dev/disk2 bs=512k count=16777216 skip=916709376 seek=1893461391
0+0 records in
0+0 records out
0 bytes transferred in 0.000022 secs (0 bytes/sec)

Ich versuche also, 16.777.216 512-kB-Blöcke von Position 916.709.376 bis Position 1.893.461.391 zu verschieben. Ich habe auch „Include“ versucht, of=/dev/disk2aber die Ergebnisse waren dieselben. Was mache ich falsch? Danke!

Antwort1

ddinterpretiert viele Parameter (einschließlich count, skip, und seek) als Anzahl von Blöcken, nicht als Anzahl von Bytes. Daher versucht es, etwa 480 Terabyte in /dev/disk2 zu überspringen, und ich vermute, dass disk2 nicht so groß ist.

Meinten Sie, dass diese Werte in Bytes angegeben werden? Wenn ja, gibt es ein Problem: Der seekWert ist eine ungerade Zahl (und der GCD der drei Zahlen ist 1), daher müssten Sie meiner Meinung nach eine Blockgröße von einem Byte angeben ... was dazu führen würde, dass es sehr langsam läuft.

verwandte Informationen