Como fazer backup de um disco rígido grande multi-partição para um pequeno?

0

Para ajudar alguém a aprender a se acostumar com o Linux - e sair da espiral descendente da versão do Windows -, eu preciso instalar o Debian GNOME do Linux exclusivamente em um Laptop. No entanto, para o plano de backup e, eventualmente, querendo vender a máquina algum dia, preciso de um backup das partições reais do sistema. Uma vez que o portátil Samsung tem uma infinidade de partições de serviço secreto-segurança-etc. & -blablabla (sete) em um disco de 500GB, existem alguns desafios para o backup de dados.

  1. Possibilidade de restaurar o estado real (tabelas de partição + carregador de boot + Windows 8.1 com instalações e configurações reais + todas as partições de serviço) fast & Confiantemente - preferivelmente em um passo sem nenhuma complicação.

  2. Faça backup de uma só vez.

  3. Seria muito bom se eu conseguisse fazer uma imagem menor (> > 500 GB) e depois o disco rígido - já que o espaço agora em uso em todas as partições totaliza cerca de 125 GB.

  4. Se for possível, seria bom poder explorar a "imagem" das várias partições. O Macrium Reflect (no Windows) oferece esse recurso, no entanto, em seu formato proprietário - preferia um formato aberto / livre.

(Depois de pesquisar um pouco por boas soluções, perguntei como seria se eu minimizasse o tamanho da partição do Windows - digamos 80GB - e deixasse o espaço restante não alocado. Portanto, o tamanho total das partições alocadas seria de cerca de 125GB, então clonar _all_the_allocated_partitions_ com algo como Clonezilla ou dd . Seria legal se fosse possível usar um Live Debian 8 (Jessie) para a operação - obrigado para Ben Armstrong, eu já consegui obter um sistema persistente em uma chave USB -, mas estou aberto a qualquer solução confiável .

Isso funciona?

Atualização: Depois de reduzir o tamanho da partição do Windows e obter o espaço não alocado proposto, percebi que, parcialmente, há partições de serviço no final do disco rígido. Então o espaço não alocado está entre o espaço alocado / partições - isso poderia ser um problema?)

    
por alex 17.11.2016 / 10:50

1 resposta

1

Um truque que eu gosto de usar para esse tipo de coisa é cópia esparsa . Tente o seguinte:

$ dd if=/dev/zero of=some_file bs=1024 count=1 seek=1048576
$ ls -l some_file
-rw-r--r-- 1 jander jander 1073742848 Nov 20 23:38 foo
$ du some_file
12      some_file

O tamanho do arquivo é 1 GB, mas o espaço em disco usado é de 12kB. Agora, se você cat deste arquivo, você terá 1GB de zeros. Louco, certo? O truque é que estamos apenas escrevendo o último 1kB do arquivo, então o Linux apenas registra que há apenas 1kB de dados reais e está em um offset de 1GB no arquivo. Em qualquer lugar, não há dados reais que serão lidos como zeros.

Clonagem esparsa de um disco arbitrário: o caminho mudo e universal

Para fazer uso disso para fazer backup de um sistema de arquivos, você pode preencher todos os espaços não utilizados no sistema de arquivos com zeros e, em seguida, usar dd com a opção conv=sparse para criar uma imagem esparsa. Para facilitar as coisas, clonaremos todo o disco de uma só vez.

$ mount /dev/sdc1 /mnt
$ dd if=/dev/zero of=/mnt/fill_up_with_zeroes bs=1048576
$ rm /mnt/fill_up_with_zeroes
$ umount /mnt
$ mount /dev/sdc2 /mnt
$ dd if=/dev/zero of=/mnt/fill_up_with_zeroes bs=1048576
$ rm /mnt/fill_up_with_zeroes
$ umount /dev/sdc2 /mnt
$ dd if=/dev/sdc of=sdc-sparse.img bs=1048576 conv=sparse

Em seguida, para restaurar:

$ dd if=sdc-sparse.img of=/dev/sdc bs=1048576

Tenha em atenção que, quando gravar a sua imagem num disco rígido real, não deverá fazer uma cópia esparsa. Se você fizer isso, você acabará corrompendo o sistema de arquivos: qualquer lugar que contivesse um bloco de zeros deveria conter um bloco de dados aleatórios em seu lugar!

Finalmente, se o laptop for novo e você não tiver excluído nenhum arquivo dele, não se preocupe em zerar o espaço não utilizado nas partições - elas provavelmente já estão zeradas.

Clonagem esparsa de uma partição NTFS: há uma ferramenta para isso

Agora, se você estiver trabalhando especificamente com sistemas de arquivos NTFS, há uma ferramenta para isso: ntfsclone . Cria uma cópia esparsa de um sistema de arquivos NTFS. Ele fará um trabalho melhor que dd e o fará mais rápido, porque sabe quais partes do sistema de arquivos NTFS podem ser ignoradas.

No entanto, você terá que manter cada partição em um arquivo separado nesse caso. Você também terá que fazer o backup de sua tabela de partições separadamente - usando dd bs=512 count=63 deve fazê-lo.

    
por 21.11.2016 / 07:26