Linux and Unix tutorials for new and seasoned sysadmin.
How to make make disk image with dd on Linux or Unix
You can easily use the dd command for making an image of a partition or of a full hard disk drive.
What is a dd image?
Disk cloning is nothing but a mere process of creating an image of an entire disk. This can be useful for copying disks, backups, recovery and more. The dd command is easy to use tool for making such clones.
Warning: You should be very careful when using dd command; it can destroy data. Remember the order of input file (if=) and output file (of=).
How to clone an entire hard disk
The syntax is:
To clone /dev/sdc (250G) to /dev/sdd (250G) in Linux, enter:
To clone /dev/ada0 (250G) to /dev/adb0 (250G) in FreeBSD, enter:
Where,
dd if=/dev/input/DEVICE-HERE of=/dev/OUTPUT/DEVICE-HERE bs=64K conv=noerror,sync
To clone /dev/sdc (250G) to /dev/sdd (250G) in Linux, enter:
# dd if=/dev/sdc of=/dev/sdd bs=64K conv=noerror,sync
To clone /dev/ada0 (250G) to /dev/adb0 (250G) in FreeBSD, enter:
# dd if=/dev/ada0 of=/dev/adb0 bs=64K conv=noerror,sync
Where,
- if=/dev/file : Input device/file.
- of=/dev/file : Output device/file.
- bs=64k : Sets the block size to 64k. You can use 128k or any other value.
- conv=noerror : Tell dd to continue operation, ignoring all read errors.
- sync : Add input blocks with zeroes if there were any read errors, so data offsets stay in sync.
How to clone a partition
To clone /dev/sdc1 to /dev/sdd1, enter:
Sample outputs:
# dd if=/dev/sdc1 of=/dev/sdd1 bs=128K conv=noerror,sync
Sample outputs:
15874+0 records in 15873+0 records out 1040252928 bytes transferred in 3.805977 secs (273320858 bytes/sec)
dd make disk image
You can boot from a live cd. Once booted, make sure no partitions are mounted from the source hard drive disk. You can store disk image on an external USB disk. The syntax is as follows
In this example, create disk image for /dev/da0 i.e. cloning /dev/da0 and save in the current directory:
Sample outputs:
dd if=/dev/INPUT/DEVICE-NAME-HERE conv=sync,noerror bs=64K | gzip -c > /path/to/my-disk.image.gz
In this example, create disk image for /dev/da0 i.e. cloning /dev/da0 and save in the current directory:
# dd if=/dev/da0 conv=sync,noerror bs=128K | gzip -c > centos-core-7.gz
Sample outputs:

Fig.01: dd command in action
The above command just cloned the entire hard disk, including the MBR, bootloader, all partitions, UUIDs, and data.
How to restore system (dd image)
The syntax is:
For example:
# gunzip -c IMAGE.HERE-GZ | dd of=/dev/OUTPUT/DEVICE-HERE
For example:
# gunzip -c centos-core-7.gz | dd of=/dev/da0
Tip #1: Not enough disk space locally? Use remote box
You can send the image through ssh and save it on the remove box called server1.cyberciti.biz:
# dd if=/dev/da0 conv=sync,noerror bs=128K | gzip -c | ssh vivek@server1.cyberciti.biz dd of=centos-core-7.gz
No hay comentarios:
Publicar un comentario