User:Filam/Block size

From ArchWiki

The dd command copies and converts raw data at a low level. The block size option (i.e. bs=) defines the number of bytes involved in a single read or write operation. There is a great deal of confusion about the optimal value for this option.[1]

Note: Specifying a value for the block size is only recommended for operations that copy or convert large amounts of data.
  • Unix device files use 512-byte blocks as their allocation unit by default.

If you have a Advanced Format hard drive it is recommended that you specify a block size larger than the default 512 bytes. To speed up the overwriting process choose a block size matching your drive's physical geometry by appending the block size option to the dd command (i.e. bs=4096).

The block size value may be followed by the following multiplicative suffixes: c=1, w=2, b=512, kB=1000, K=1024, MB=10002, M=10242, etc.

Print block size

To print the block size of the device issue the following command:

# dumpe2fs -h /dev/sdX | grep 'Block size:'

For more information read How to Find the Block Size on The Linux Information Project and the Block size section in the core GNU utilites manual.

Disparate examples

This section lists examples of the dd block size flag (i.e. bs=) on English language pages. The following examples all come from the first page of a search for "bs=".

User-mode Linux

dd if=/dev/zero of=rootfs bs=1MB count=1000

Remote Arch Linux Install

# dd if=/dev/zero of=/swapfile bs=1024 count=512288

USB Installation Media

# dd count=1 bs=512 if=/dev/zero of=/dev/sdx

Windows and Arch Dual Boot

dd if=$my_boot_part of=/media/win/linux.bin bs=512 count=1

Dm-crypt with LUKS

# dd if=/dev/urandom of=mykeyfile bs=512 count=4
# dd if=/dev/urandom of=secretkey bs=512 count=4

KVM

$ dd if=/dev/zero of=image.img bs=1G count=0 seek=[NUMBER_OF_GB]

JFS Filesystem

dd bs=4k if=/dev/hdc1 of=/dev/hdj1

See also

Wikipedia:Dd (Unix)#Block size