Quando clonar a partição ext4 com o comando “dd” para um espaço livre de partição maior não aumenta [duplicado]

6

Recentemente eu tenho tentado clonar meu hd usando a ferramenta dd. Tudo estava bem, como clonar partições NTFS, mas quando se trata de ext4 - dd faz uma coisa estranha. Por exemplo. Tendo 12GB de partição com 4GB de espaço livre, quando estou tentando clonar na nova partição de 25GB ele clona, mas os dados que anteriormente eram 12GB, agora são 21GB com 4GB (a mesma quantidade de espaço livre ainda como estava em a partição antiga). Isso acontece toda vez im clonando minha casa e partições raiz (ext4). Eu também estava tentando diminuir o tamanho da nova partição, para o tamanho da antiga, mas então o dd termina com um erro dizendo que não há espaço suficiente, o que deve ser suficiente ...

Alguém? O que está acontecendo?

    
por Piotr Kołątaj 09.08.2012 / 19:07

1 resposta

9

Eu suponho que você está fazendo algo como:

sudo dd if=/dev/sda98 of=/dev/sda99

onde / dev / sda98 tem um tamanho de 12GB e / dev / sda99 tem 25GB de tamanho.

Obviamente, esses nomes estão errados, mas você tem a idéia.

O que você fez foi mover não apenas os dados, mas todo o sistema de arquivos, incluindo todos os metadados que descrevem o que é livre e usado, para a nova partição. Ele tem muito espaço livre, mas o espaço livre não foi incorporado ao sistema de arquivos em / dev / sda99, então está oculto no final da partição e completamente inutilizável.

A solução é redimensionar o sistema de arquivos localizado na partição:

sudo resize2fs /dev/sda99

funciona em sistemas de arquivos EXT2, EXT3 e EXT4.

Recomendamos que você faça um backup primeiro, mas suponho que você ainda tenha os dados na partição original.

Isto irá dizer ao sistema de arquivos para expandir em todo o espaço disponível na partição, incorporando o novo espaço nos metadados dos sistemas de arquivos para que os arquivos possam ser armazenados nele.

Você não pode copiar uma partição maior para uma partição menor com dd , a menos que você diga para copiar apenas com o parâmetro count. dd faz um bit para copiar bit de tudo na partição de origem para a partição de destino, nesse caso ele tenta copiar todo o espaço oculto / invisível para a partição menor juntamente com o conteúdo original. Não tem idéia ou se importa com o que está copiando - não precisa ser um sistema de arquivos válido.

    
por John S Gruber 09.08.2012 / 21:42

Tags