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.
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.
- Disk sdb jako zdroj
- Disk sdc jako cíl
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.