Quando o dd é adequado para copiar dados? (ou, quando são lidos () e gravados () parciais) aponta uma advertência importante ao usar count: ddpode copiar blocos parciais; portanto, quando fornecido, countele será interrompido após o número especificado de blocos, mesmo que alguns deles estejam incompletos. Portanto, você pode acabar com menos de bs * countbytes copiados, a menos que você especifique iflag=fullblock.
O tamanho do bloco padrão para dd é 512 bytes. counté um limite; conforme sua pergunta sugere, não é necessário ao copiar um dispositivo de tamanho finito e realmente pretende copiar apenas parte de um dispositivo.
Eu acho que há dois aspectos a serem considerados aqui: desempenho e recuperação de dados.
No que diz respeito ao desempenho, o ideal é que o tamanho do bloco seja pelo menos igual e múltiplo ao tamanho do bloco físico subjacente (daí 2048 bytes ao ler um CD-ROM). De fato, hoje em dia, você também pode especificar tamanhos de bloco maiores para dar aos sistemas de cache subjacentes a chance de armazenar coisas em buffer para você. Porém, aumentar o tamanho do bloco significa ddusar muito mais memória e pode ser contraproducente se você estiver copiando em uma rede devido à fragmentação de pacotes.
No que diz respeito à recuperação de dados, você pode recuperar mais dados de um disco rígido com falha se usar tamanhos de bloco menores; é isso que programas como dd-rescuefazem automaticamente: eles leem blocos grandes inicialmente, mas se um bloco falhar, eles o relerão com tamanhos menores. ddnão fará isso, apenas falhará em todo o bloco.
dd bs=4m iflag=fullblockvsdd bs=1111e observe as taxas de dados substancialmente mais altas que o primeiro fornecerá. Isso ocorre porque o primeiro se alinha com o tamanho natural do bloco no cartão SD, enquanto o último requer que o controlador SD faça muita leitura, cópia e atualização para gravar blocos físicos parciais. A importância defullblocknão deve ser subestimada, a propósito, como sem ela,bsé apenas uma leitura máxima e parcial e pode levar a desalinhamentos subsequentes persistentes.