Duplicando um disco rígido

2

Gostaria de simplesmente duplicar uma unidade de disco rígido para outra unidade de disco rígido do mesmo tamanho.

Eu sei que posso simplesmente fazer:

dd if=/dev/sda of=/dev/sdb

(ou qualquer que seja o nome dos drives em /dev ).

Existe uma ferramenta melhor para isso que me mostrará o progresso visual? Se eu estiver usando apenas 30 GB da unidade, será necessário apenas o tempo necessário para transferir 30 GB ou a capacidade da unidade?

    
por Naftuli Kay 20.12.2011 / 20:59

3 respostas

4

Você pode fazer com que o GNU dd mostre seu progresso - para citar a página do manual :

Sending a USR1 signal to a running 'dd' process makes it print I/O statistics to standard error and then resume copying.

$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid

O dd de Schily ( sdd ) tem uma opção semelhante e usa SIGQUIT por padrão ( Ctrl+\ ).

Com relação à sua segunda pergunta: Sim, dd apenas copia todos os blocos se usados pelo sistema de arquivos ou não - o que leva DEVICE_CAPACITY / TRANSFER_RATE segundos.

Se você quiser evitar a cópia de blocos de disco não utilizados, use tar :

# cd /mnt/sda
# tar -c -f - . | tar -C /mnt/sdb -x -f -

O GNU tar também tem opções de tempo:

# tar -c -f - . --totals=SIGQUIT | tar -C /mnt/sdb -x -f - \
                                      --totals --totals=SIGQUIT

Assim, você obtém estatísticas de leitura / gravação ao atingir Ctrl+\ e no final.

Outra possibilidade é usar parted ou gparted para copiar um sistema de arquivos - o que deve ser feito de maneira eficiente com os sistemas de arquivos que ele possui conhecimento suficiente. Pelo menos gparted deve exibir um belo diálogo de progresso gráfico.

    
por 20.12.2011 / 21:12
3

Talvez você possa usar ddrescue /dev/sda /dev/sdb , que suporta erros e tem uma barra de progresso

    
por 20.12.2011 / 21:24
3

Eu sugiro que você use o programa pv (ele está no repositório de todas as distribuições que eu conheço). Isso lhe dará uma boa barra de progresso.

$dd if=/dev/sda |pv -s 80g |dd of=/dev/sdb

com o -s você adiciona a quantia da cópia / disco original que você está copiando (o if no comando dd). Se você não colocar o argumento -s , basta fornecer uma barra móvel para indicar que os dados estão em movimento, mas não informam quanto você deseja.

adicione sudo se você precisar.

    
por 20.12.2011 / 21:31

Tags