clonagem com dd - o espaço não particionado é considerado igual ao espaço vazio no sistema de arquivos para o tamanho resultante da imagem?

1

nota: all = tudo o que eu encontrei

todas as informações de "clonagem com dd" falam sobre como dd copia todo o "espaço vazio", mas literalmente todos os escritos parecem estar respondendo a uma situação em que os sistemas de arquivos preenchem todo o disco.

e a situação em que eu tenho duas partições que juntas preenchem apenas 10% do disco de 160G. Qual será o tamanho da imagem para o bom "dd if = / dev / sda de = disk.img" run: 16G ou 160G?

a menos que eu esteja cego, Usando DD para clonagem de disco não tem esse informação.

    
por lkraav 06.11.2010 / 17:16

2 respostas

2

sda é o disco como um todo - 160 GB

sda1 é a primeira partição desse disco - 8 GB (digamos)

sda2 é a segunda partição desse disco - 8 GB (digamos)

Se você deseja clonar apenas os 16 GB de dados do sistema de arquivos, use dd on sda1 e sda2 .

Para restaurar os dados em um disco diferente, você deve primeiro particionar esse disco (idealmente idêntico ao disco original). Eu espero que você provavelmente tenha que reinstalar o bootloader também.

Veja, por exemplo, link

    
por 06.11.2010 / 17:30
1

Primeiro, quero responder à sua pergunta:

what about the situation where i have two partitions that together fill up only 10% of 160G disk. what is the image size going to be for the good ol "dd if=/dev/sda of=disk.img" run: 16G or 160G?

Se você executar dd em / dev / sda, ou seja, o disco inteiro sda de 160G, então disk.img será 160G, já que o dd copiará todos os bits em sda um por um. Não faz diferença se o espaço depois de / dev / sda1 e / dev / sda2 for particionado ou não! Infelizmente, se o disco rígido já estava cheio de dados antes, mesmo se você tentar compactar o disk.img, ele não ficará realmente menor devido ao fato de que o "espaço vazio" na superfície do disco na realidade não está vazio, mas contém os bits restantes dos sistemas de arquivos e dados usados anteriormente. Eu não sei o que o caso de novos discos rígidos que nunca foram usados antes é, no entanto!

Além disso, quero responder ao seu comentário que você deu à resposta da RedGrittyBrick. Se o seu objetivo for criar uma imagem de disco inteiro de tamanho mínimo, uma solução possível é a seguinte

  1. Crie uma terceira partição com o espaço vazio, no seu exemplo: / dev / sda3. Não há necessidade (mas também nenhum dano) de formatá-lo com um sistema de arquivos, pois a partição será sobrescrita com zeros na próxima etapa, eliminando qualquer formatação do sistema de arquivos novamente

  2. Agora preencha toda a partição com zeros: dd if=/dev/zero of=/dev/sda3 . Isso levará bastante tempo e o dd não tem barra de progresso, então seja paciente. Em algum momento, o dd informará que o disco está cheio e, algum tempo depois, sairá com um relatório final sobre os bits copiados

  3. Se você não quiser que esta partição exista, poderá excluí-la novamente agora. Os zeros permanecerão na superfície do disco!

  4. Agora crie a única imagem de disco à medida que você planeja em primeiro lugar: dd if=/dev/sda of=disk.img . A propósito: Não há nenhuma necessidade de qualquer parâmetro dd adicional, como conv=notrunc , etc. como relatado em muitos outros fóruns. O notrunc tem absolutamente nada a ver com o que queremos fazer aqui (clonar um disco para um arquivo) e é usado para algo totalmente diferente (resumindo: Inserir dados em um arquivo que já existe sem cortar off [= truncando] os restos do arquivo existente, caso os dados recém-adicionados sejam menores que o arquivo existente). Não dê ouvidos àqueles que escrevem que o notrunc é especialmente necessário ao clonar discos em um arquivo, ou seja, 100% de bollocks

  5. O disk.img terá 160 GB novamente, não é surpresa aqui. Mas a diferença agora para antes é que se você comprimir o disk.img, desta vez ele vai quase ter o mesmo tamanho que a soma das imagens compactadas de / dev / sda1 e / dev / sda2, já que os zeros no a superfície de disco não particionada restante comprimirá praticamente nada!

  6. Lá você vai, agora você tem uma imagem de disco inteiro de um único arquivo de todo o disco, mas que é quase apenas o tamanho da área de dados realmente usada de / dev / sda1 e / dev / sda2

  7. No caso em que você não teria criado / dev / sda1 e / dev / sda2 ainda, você poderia apenas escrever zeros com dd em todo o disco / dev / sda primeiro, ou usar uma ferramenta de limpeza de disco que escreve zeros em um disco inteiro, etc. e depois apenas cria / dev / sda1 e / dev / sda2. O resultado deve ser o mesmo

HTH! Cumprimentos Um anônimo nativo da internet no planeta Terra

    
por 11.06.2014 / 18:48

Tags