
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:
sudo fdisk -l
como dito por Videonath. Localize a partição que deseja clonardd 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. -c
significa clone, -b
de 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 uuidgen
para 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 fdisk
para 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 gparted
para o novo tamanho máximo.