Como clonar um dispositivo USB, incluindo partições?

12

Eu tenho várias unidades flash USB e uma delas possui uma instalação do Ubuntu com várias partições. Eu quero fazer as outras unidades USB exatamente iguais àquelas (para compartilhar com a família e os amigos), tudo até as partições e a formatação devem ser idênticas. Esse disco flash será basicamente um disco utilitário que qualquer pessoa pode querer, para que eu possa fazer muitas cópias.

Eu também tenho uma unidade flash USB muito menor (4gb), que é um disco de inicialização do Ubuntu. Eu tenho 3 portas USB, então eu gostaria de inicializar com a menor, conectar 2 unidades USB maiores e criar um clone completo do disco utilitário - substituindo tudo o que possa estar no disco existente. Pode-se supor que aquele que está sendo copiado seja pelo menos tão grande e provavelmente esteja vazio (ou cheio de lixo a ser excluído).

Isso é possível usando software livre no Ubuntu?

codefator
fonte
A primeira parte é um trabalho perfeito para o dd, que é uma ferramenta básica no Linux. Se alguns não responderem por muito tempo, darei detalhes sobre uma resposta quando estiver no computador. A segunda parte é um pouco mais complicada, mas factível.
acejavelin

Respostas:

15

Sim, isso é muito fácil. Obviamente, as unidades de destino precisam ser pelo menos tão grandes quanto a unidade de origem.

Então, tendo ambos unidade de origem e de destino conectados, use algo como fdisk -l, lsblkou o que quer identificar os nomes dos dispositivos (como /dev/sdb) para cada um. Certifique-se de obter o pedido corretamente!

Para clonar diretamente de uma unidade para outra, use este comando:

dd if=/dev/source of=/dev/target bs=1M

Como alternativa, se você tiver espaço suficiente na unidade interna, poderá criar uma imagem primeiro, facilitando a criação de várias cópias:

dd if=/dev/source of=/home/me/image.img bs=1M

Em seguida, use a imagem para criar clones:

dd if=/home/me/image.img of=/dev/target bs=1M

Dessa forma, você pode provisionar várias unidades ao mesmo tempo, desde que uma unidade de destino ainda não sature a largura de banda USB.

Se a unidade de destino for maior, convém aumentar a última partição posteriormente, usando partedou outra ferramenta adequada. Observe que você não pode redimensionar partições entre outras, se copiar toda a estrutura.

Daniel B
fonte
Você pode adicionar ao comando status = progress para ver o progresso enquanto o dd está copiando.
user1757247
status=progressinfelizmente não está disponível em todas as versões (a maioria, inclusive) do dd.
Daniel B
3

Você pode usar o dd https://en.wikipedia.org/wiki/Dd_(Unix)

Exemplo:dd if=/dev/sdc of=/dev/sdd bs=1M

ifé o dispositivo de origem. Use o nome do dispositivo e não a partição (o número no final é a partição, por exemplo / dev / sdc1).

of é o dispositivo de destino.

Tenha MUITO cuidado com este comando. Ele limpará completamente o dispositivo de destino.

Paulo Gonçalves
fonte