Eu estava tentando copiar uma iso do instalador do Windows em um disco rígido para evitar a gravação de um disco. Tentei pela primeira vez a função de restauração do Disk Utility, no entanto, por algum motivo, ele não gostou do ISO. Então eu tentei usar o dd:
dd if=/path/to/image.iso of=/dev/disk3
Percebi que estava copiando o arquivo no ritmo de um caracol, cerca de 160 KB / s. Reiniciei a instalação do linux e executei o comando novamente quase literalmente:
dd if=/path/to/image.iso of=/dev/sdc
Desta vez, o comando foi executado em menos de um minuto, com uma velocidade média de 57 MB / s. Nos dois casos, a origem e o destino foram os mesmos discos rígidos físicos. O que está acontecendo?
Estou executando o OSX 10.7.3 e Linux 2.6.38-13.
bs
parâmetro. Você tem um alias paradd
configuração no linux (digitealias
em um prompt)?Respostas:
Para o OS X, use
/dev/rdisk3
.Por alguma razão
rdisk
é mais rápido quedisk
. Eu acredito que tem a ver com buffers.Também em geral, usando a
bs
bandeira comdd
ajuda com velocidade.O tamanho do bytes é de 1 milhão, que é transferido mais rapidamente. No OS X, você precisa usar
1m
(letras minúsculas) em vez de1M
.fonte
bs=1m
e foi lento como o inferno!Discos brutos BSD
Os BSDs em geral têm 2 tipos de dispositivos de disco: bufferend e sem buffer (bruto). Na
hdutil(1)
página do manual:Por causa do segundo parágrafo, o disco deve ser desmontado para poder usá
dd
-lo no "modo bruto".dd tamanho do bloco
Na
dd(1)
página do manual:O tamanho do bloco padrão é 512 bytes ...
fonte