Usar DD para clonar apenas partição Linux em unidade USB externa?

Usar DD para clonar apenas partição Linux em unidade USB externa?

Eu tenho uma unidade interna de 1 TB que possui duas partições de 1/2 TB, uma para Windows e outra para Ubuntu 14.04 LTS. A estação tornou-se principalmente uma estação Linux e nunca mais inicializo no Windows.

Eu queria criar um backup de imagem, então usei o DD para clonar a unidade interna em uma unidade USB externa de 1 TB. Infelizmente, a unidade USB parece estar a apenas alguns Gigabytes da unidade interna e o DD terminou com uma mensagem de erro "Não há espaço suficiente na unidade". Agora estou vendo algo estranho. Quando ejetei a unidade USB e a conectei novamente, vejo duas partições de 1/2 GB que parecem duplicadas. Eles têm GUIDs idênticos e o Nautilus mostra estruturas e conteúdo de diretórios idênticos. Suponho que algo sobre a cópia incompleta de uma das partições deixou a unidade externa quebrada.

Como posso usar o DD parabasta clonar a partição Linuxpara a unidade externa? Isso é tudo que eu realmente quero.

Responder1

Como primeiro você precisa descobrir dados sobre o seu HDD, você pode fazer isso digitando no terminal:

sudo fdisk -l

Você deve obter uma saída como esta:

Disk /dev/sda: 149,1 GiB, 160041885696 bytes, 312581808 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x06bd4abe

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 230055935 230053888 109,7G 83 Linux
/dev/sda2       292970494 312580095  19609602   9,4G  5 Extended
/dev/sda3       230055936 292968447  62912512    30G 83 Linux
/dev/sda5       292970496 312580095  19609600   9,4G 82 Linux swap / Solaris

Partition table entries are not in disk order.

Então, digamos que /dev/sda3 seja a unidade que você deseja clonar, então você pode fazer:

dd bs=512 if=/dev/sda of=/dev/sdb1/partition.ddfile seek=230055936 count=$(expr 292968447 - 230055936)

Lembre-se de que aqui estão apenas exemplos de que você precisa para adequar isso à sua situação.

Responder2

Maneira mais fácil:

  1. sudo fdisk -lcomo dito por Videonath. Localize a partição que deseja clonar
  2. dd bs=512 if=/dev/<partition-name> of=/<external-media-path>

por exemplodd bs=512 if=/dev/sda2 of=/dev/sdb1

Observação:

  • dd requer que o tamanho do alvo seja maior ou igual ao tamanho da origem
  • O backup criado desta forma (nível de partição) não seria inicializável

Responder3

Enquanto você pergunta sobre dd, posso recomendar partclone? É feito para clonar e restaurar uma partição. Ele precisa estar ciente do sistema de arquivos subjacente, a vantagem ddé que ele copia apenas ousadobloqueia e economiza muito tempo ou espaço, pois é raro que a parte não utilizada de uma partição seja compactável (lixo de dados antigos em vez de zeros).

sudo partclone.ext4 -c -b -s /dev/sdaX -o /dev/sdbY 

fará o que você quiser. -csignifica clone, -bde dispositivo para dispositivo, -sé origem, -oé destino. Além disso, como você fez um clone, os UUIDs de origem e destino são idênticos. Verifique isso com blkid, use uuidgenpara gerar um novo UUID e depois sudo tune2fs /dev/sdbY -U <uuidgen-generated new UUID>alterá-lo.

Ter dois UUIDs idênticos na mesma máquina pode até ser a causa raiz dos problemas que você teve com o estado “quebrado” do dispositivo externo.

Antes de fazer isso, o dispositivo de destino precisa ser configurado fdiskpara que a nova partição não seja menor que a partição antiga. Se for maior, você poderá aumentar a partição clonada posteriormente gpartedpara o novo tamanho máximo.

informação relacionada