Crie imagem do SO

2

Estou usando um dispositivo Nano Pi que tem o sistema operacional Debian nele. A imagem do SO é existente em sua memória interna (8 GB). O tamanho total da memória usada é um pouco de 4 GB. Eu quero fazer um backup deste sistema operacional em um arquivo de imagem.

Depois de fazer

dd if=/dev/mmcblk1 of=NanoPi.img bs=8M status=progress

O tamanho total do arquivo de imagem vai até 8 GB. Como posso fazer a imagem de apenas o usado pela memória e não todos?

    
por ron123456 11.10.2018 / 08:23

1 resposta

2

Você não pode fazer isso facilmente usando dd porque o dispositivo de bloco é apenas um dump de bytes. Pode conter dados de arquivos excluídos longos em espaço não alocado. dd não está ciente disso porque é o trabalho do sistema de arquivos. Você tem poucas opções:

Continue usando o dd

... e aceite uso de espaço maior. Em vez disso, faça algo como dd if=/dev/mmcblk1 of=NanoPi.img bs=64K conv=noerror,sync status=progress . O tamanho de bloco menor oferece um pouco mais de segurança em caso de erros de leitura. Se dd não conseguir ler pelo menos um setor - o resto do bloco não será processado. O tamanho do bloco é a quantidade máxima de bytes que você pode perder para um setor defeituoso. conv=noerror garante que a clonagem continua em caso de erro. conv=sync desloca o ponteiro no arquivo de destino para frente em caso de erros de leitura, de forma que os dados permaneçam alinhados e, portanto, válidos.

Você pode canalizar dd de saída através de gzip para compactar dados e economizar espaço: %código% Para voltar a imagem bruta, faça dd if=/dev/mmcblk1 bs=64K conv=noerror,sync status=progress | gzip -c > NanoPi.img.gz .

Use o rsync

... e lida com arquivos brutos. %código%. Isso pode ou não funcionar para você, dependendo de o sistema de arquivos estar montado ou não.

    
por 11.10.2018 / 09:28