Restaurando uma imagem de disco que foi clonada com erros

0

Eu tenho uma imagem de disco de 500 GB que foi criada usando o seguinte:

# dd if=/dev/sda conv=sync,noerror bs=64K | gzip -c > backup.img.gz

Houve alguns erros (aproximadamente 15-20 deles) informando o seguinte, em um determinado ponto acima de aproximadamente 420 GB. Os erros foram intercalados por alguns GBs de dados entre (assim, por exemplo, o primeiro erro foi em 420 GB, o próximo em 430 GB, o próximo em 436 GB e assim por diante).

dd: error reading '/dev/sda': Input/output error

É seguro restaurar esta imagem de disco?

    
por user2064000 28.07.2016 / 19:26

1 resposta

1

Depende do que você quer dizer com "seguro".

Restaurar a imagem para uma unidade saudável não vai quebrar a unidade, por isso é seguro nesse sentido. Ainda assim, a imagem está um pouco corrompida e você pode obter arquivos e arquivos corrompidos como resultado, portanto, não é seguro nesse sentido.

Eu digo "você pode obter arquivos corrompidos", não "você vai", porque há uma chance de todos esses erros estarem em blocos marcados como vazios. Isso ocorre porque dd não sabe nada sobre o sistema de arquivos e um conceito de espaço livre, ele lê todos os dados. Se houver muito espaço livre durante a criação da imagem, talvez você tenha tido sorte e todos os seus arquivos e dados cruciais estejam na imagem. Os erros não estavam no início do disco, então a tabela de partição estará OK (a menos que fosse MBR e houvesse partição estendida com partições lógicas e alguma entrada de partição lógica não tenha sido lida por dd ; isso é possível porque qualquer partição lógica é definida pouco antes de começar, não no início do disco, como partições primárias e estendido um).

Por outro lado, você pode não ser tão sortudo, você pode experimentar não apenas alguns arquivos corrompidos, mas também sistemas de arquivos corrompidos, que podem se manifestar como (por exemplo) falta de pastas inteiras que deveriam estar lá com muitos arquivos. Compare esta questão ; você está em situação semelhante quando se trata de acessar arquivos e pastas. Leia a minha resposta lá, especialmente a segunda edição, onde eu explico o que pode acontecer.

Um dos comentários sugere para

restore it to other media, and copy the files you want back over manually.

Para copiar os arquivos que você não precisa restaurar para outra mídia. Você pode montar sua imagem diretamente. Use kpartx ou mount -o offset=… para acessar as partições dentro de sua imagem. Por exemplo, tente esta sequência (alguns passos requerem sudo ):

  • gzip -dc < backup.img.gz > backup.img (no momento fsck e talvez algumas outras ferramentas alterem a imagem, por isso é bom ter o arquivo original intocado para o caso, espero que você tenha espaço livre suficiente para isso);
  • kpartx -av backup.img (leia a saída, suas partições de dentro da imagem agora estão disponíveis como /dev/mapper/loop?p? );
  • use fsck on /dev/mapper/loop?p? de sua escolha;
  • monte /dev/mapper/loop?p? de sua escolha;
  • copie os arquivos;
  • umount … ;
  • kpartx -dv backup.img para limpar.

Caso você encontre arquivos ou pastas ausentes, poderá usar o software de recuperação, como photorec . Um bom software desse tipo deve operar em uma imagem sem a necessidade de restaurá-la ao dispositivo físico.

    
por 02.08.2016 / 20:41