dd: unidade diferente para bs, pular e contar?

0

Estou tentando copiar uma partição de uma imagem de disco inteira.

Este comando está funcionando: dd if=image.iso of=test bs=512 skip=1161215 count=32768

Para aumentar a velocidade, gostaria de definir um bs maior.

dd if=image.iso of=test bs=1M skip=1161215 count=32768

A unidade

skip e count é bs , é possível definir uma unidade separada?

Eu poderia então fazer este comando:

dd if=image.iso of=test bs=4M skip=1161215*512 bytes count=32768*512 bytes

    
por Alexis_FR_JP 15.07.2016 / 10:04

2 respostas

1

É possível combinar os comandos dd .

dd if=image.iso bs=4M | { dd bs=1161215 count=1 of=/dev/null; dd bs=${16*512} count=${32768/16} of=partition.dump; }

Podemos usar apenas o tamanho da contagem como um elemento divisível sem o restante, em vez de ambos, deslocamento e tamanho.

Ou use os setores finais.

    
por Alexis_FR_JP 16.07.2016 / 03:52
0

O que você quer alcançar parece impossível para mim.

De man dd :

   bs=BYTES
          read and write up to BYTES bytes at a time

   ibs=BYTES
          read up to BYTES bytes at a time (default: 512)

   obs=BYTES
          write BYTES bytes at a time (default: 512)


   count=N
          copy only N input blocks

   skip=N skip N ibs-sized blocks at start of input

Embora bs (ou ibs e obs ) tenha um argumento BYTES que determina o tamanho do bloco , ou seja, a quantidade de bytes processados de uma só vez, o count e os parâmetros seek têm um argumento N que determina o número de blocos a processar / pular.

Assim, como dd pode sempre copiar ou pular blocos inteiros de dados (tamanho de bloco determinado por bs / ibs & obs ), você deve definir o tamanho do bloco como um valor pelo qualskip offset e o count tamanho são divisíveis sem resto.

    
por Byte Commander 15.07.2016 / 10:16