
Eu uso um notebook com Mint Linux, e por alguns dias estarei usando Windows. Então, eu gostaria de "salvar" meu sistema operacional e depois colocá-lo de volta na mesma unidade.
Ele usa criptografia completa de disco (aquela que vem como padrão na instalação do Mint).
Inicializando um live CD com Linux e criando uma cópia com algo como:
dd if=/dev/sda of=/media/externalhd/mint.img
[Aqui eu formato e adiciono janelas] e depois de terminar inicializo com um CD ao vivo novamente e faço:
dd if=/media/externalhd/mint.img of=/dev/sda
Deve funcionar, certo?
Responder1
Seus comandos estão corretos e, como foi apontado, isso também economizará todo o espaço vazio em sua unidade. No entanto, se você escolher a opção de limpeza segura ao instalar o sistema, o espaço vazio da unidade ficará cheio de ruído aleatório, portanto, compactar a saída gera muito pouco.
Você deve usar um tamanho de bloco maior para a cópia e evitar poluir o cache do buffer do sistema para tornar as leituras brutas mais rápidas.
- As opções dd iflag=direct ou oflag=direct são lidas ou diretamente do dispositivo, ignorando a camada de cache do Linux.
- A opção dd bs (tamanho do bloco) informa ao dd quantos dados devem ser lidos ou gravados de uma só vez; as unidades de disco modernas funcionam muito mais rápido com blocos maiores de dados.
A compactação exige muito da CPU e o gzip usa apenas um único núcleo, o que significa que esse provavelmente será o fator limitante em termos de velocidade para a cópia. Usar o pigz, que usa todos os núcleos da CPU, o tornará mais rápido, mas ainda assim provavelmente estará vinculado à CPU.
Como um estádio difícil com uma CPU moderna, eu usaria compactação se o espaço de armazenamento fosse um problema ou se você estivesse conectado por algo mais lento que USB2. A rede USB3, SATA ou 100Mbit+ quase certamente será mais rápida que o gzip, portanto não ganhará velocidade, mas poderá economizar algum espaço.
Os comandos que eu usaria no caso de conexão lenta ao armazenamento (ou seja, Ethernet de 10Mbit ou USB1/2) ou falta de espaço são:
dd if=/dev/sda bs=1M iflag=direct | pigz -c > /media/external/image.sda.gz
Se você tiver uma conexão rápida com o armazenamento e o espaço usado não for um problema, eu usaria o seguinte comando:
dd if=/dev/sda of=/media/external/image.sda.raw oflag=direct iflag=direct bs=1M
Responder2
Funciona, mas não é o melhor caminho. A imagem ficará muito grande por causa dos zeros nos dados brutos. Se você quiser evitar esse comportamento, você pode fazer algo assim:
dd if=/dev/sda | gzip > /media/externalhd/backup.img.gz
O Gzip sabe que os zeros não precisam ser considerados na imagem, apenas contados, então a imagem ficará menor, principalmente se você tiver algum espaço livre no disco, mais isso com a compactação do gzip, então é muito melhor.