Categories
Bits & Bytes

Disk Clone per dd

Unter Linux lassen sich physische Datenträger samt Partitionsinformationen als Bit-by-Bit-Copy leicht klonen:

> dd if=/dev/sd[X] of=/dev/sd[Y]
#X=Source drive, Y=Target drive

Solche Vorgänge dauern je nach Diskgröße länger u.U. die ganze Nacht daher empfiehlt es sich den Kopiervorgang asynchron z.B. per Screen anzustarten. Danach liegt eine exakte Kopie vor, bei der allerdings auch der Disk Identifier geklont wurde, dies bringt die Partitions- bzw. Geräteerkennung des Linux Kernels etwas durcheinander weil nun zwei physische Geräte mit ein und derselben Identifikation vorliegen. Man sollte das ändern wenn man Quell und Zielgerät weiterhin in einem System betreiben möchte.

> fdisk -l /dev/md1
[...]
Disk identifier: 0x000b1799

    Device Boot      Start         End      Blocks   Id  System
/dev/md1p1   *          63  1953520064   976760001    7  HPFS/NTFS/exFAT

> fdisk -l /dev/mapper/vg1-lv1 
[...]
Disk identifier: 0x000b1799

    Device Boot      Start         End      Blocks   Id  System
/dev/md2p1   *          63  1953520064   976760001    7  HPFS/NTFS/exFAT

> ### Huiaa! Two Disks same disk identifier

Unter den Experten Kommandos von fdisk findet man:

> fdisk /dev/md2

Command (m for help): x
Expert command (m for help): m
Command action
   [...]
   i   change the disk identifier
   [...]

Mit x gelangt man in der Expert Mode und mit i kann man einen neuen Disk Identifier angeben. Logischerweise sollte man eine Zahl wählen die bisher im System nicht existiert.

Expert command (m for help): i
New disk identifier (current 0x000b1799): 0xdeadbeef
Expert command (m for help): w

> ### Now let's see
> fdisk /dev/md2

[...]
Disk identifier: 0xdeadbeef

Analog funktioniert das auch mit gdisk statt fdisk wenn eine Partitionierung nach GPT vorliegt mit dem kleinen Unterschied das der Disk Identifier dort vom Typ GUID ist.

Mit dd läßt sich der dump auch in eine Image Datei schreiben anstatt die Kopie direkt auf eine andere Platte zu klonen. Nützlich für BackUps von z.B. Datenlaufwerken mit virtuellen Maschinen.

> dd if=/dev/sda dd of=/media/mySDA.img

Verwendet man irgendwann die Quellplatte andersweitig entsteht schnell der Wunsch die angelegte dd Image-Datei vorübergehend ins System einzubinden um z.B. Dateien auszutauschen.

> mount -t ext4 -o loop /media/mySDA.img /media/sda_image

Quelle:
askubuntu

By вяоӣсо

I'm a computer kid of the 80', not born but raised in good old' germany, playin' games, makin' music & lovin' the blues. My career started at an age of 10 in a shopping mall where they sold computers too. It was the first time ever i've seen such an electronic monster and was fascinated instantly.
Later on i've learned my first programming skills (Basic) with a friend's Sinclair ZX 81. Yes, that one with the strange plastics keyboard. After that i got some experience with a Schneider CPC464 and the Commodore C64 until i fell in love with the Commodore Amiga, a machine with 4096 different colors which sounds nowadays to most like black'n'white tv's sounded to me at that time.
We played a lot of games like Decathlon, The Last V8, Impossible Mission, Elite, Mega'lo'Mania, Xenon, Speedball or Chaos Engine and ruined a lot of those Competition Pro Joysticks. My favourites were mostly games by Sensible Software, Bitmap Brothers or Rainbow Arts.
What i liked the most about that machine was it's AmigaOS, it's operating system was ahead of it's time. On this machine i learned my first assembler language (m68k) and the hardware internas.
I watched the decline of Commodore with a tear in my eye and at some point i went over to usual business and my first PC and learned it's beastly manners.