dd

Kopírování a převod souborů, disků a zařízení podle použitých operandů.

Co je dd a na co se hodí?

Kopíruje soubory, převádí, klonuje disky i s oddíly anebo vytváří obrazy disků. Skvěle se hodí pro duplikaci disku i s oddíly anebo dovede vytvořit například záložní obraz disku anebo celého systému.

Pro mě je nezbytný pro instalaci systému na Raspberry z připraveného obrazu disku. Jakékoli instalační CD/DVD si s ním jednoduše přenesu do iso souboru.

Volby a operandy

Starší verze nepodporuje progress.

Testování rychlosti zápisu na disk

Pro otestování zápisu na disk vytvoříme soubor test, který bude 1024MB veliký a výsledky se hodnotami přibližují reálným hodnotám při práci s PC:

dd bs=1M count=1024 if=/dev/zero of=test conv=fdatasync

Následovat bude výpis výsledků:

1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 0.874364 s, 1.2 GB/s

Příklady

Klonování celého disku:

dd if=/dev/sda of=/dev/sdb status=progress

Vytvoření iso obrazu disku:

dd if=/dev/sda1 of=/mnt/zaloha/zaloha.iso

Vytvoření komprimovaného obrazu disku:

dd if=/dev/sda | bzip2 > /mnt/image.bz2

Obnovení komprimovaného obrazu disku:

bzcat /mnt/image.bz2 | dd of=/dev/sda

Přenos iso obrazu na disk:

dd bs=4M if=raspbian.iso of=/dev/sdb conv=fsync

Přenos celého disku

Celý přenos disku i jeho oddílů je vcelku jednoduchý, stačí oba dva disky zapojit do sběrnice(PC) a v případě OS Linux pak stačí jen následující příkaz, kde je definovaný zdrojový(if) a cílový(of) disk.

Příkaz:

dd if=/dev/sdb of=/dev/sdc status=progress

Zdrojový disk by neměl mít součet kapacity svazků větší, než cílový disk. Pokud je zdrojový disk např. 500GB, ale jeho svazky jsou dohromady jen 240GB, můžeme i tak uskutečnit klonování 500GB disku na jiný o kapacitě 240GB.

Zatím jsem pomocí příkazu dd nezkoušel klonovat disk s OS Windows, ale mělo by to také fungovat.