Recuperar arquivos do arquivo corrompido

1

Eu tenho um arquivo tar de 40Gb, mas quando eu abro com o gerenciador de arquivos no Ubuntu eu recebo apenas 512MB. A maior parte dos meus arquivos está bagunçando. Mesmo quando eu faço:

tar -tf myfile.tar.gz

Eu não entendo a lista de todos os meus arquivos. Quando eu crio o arquivo eu usei o comando:

tar -zcvf myfile.tar.gz myhomefolder

Depois, parei o comando porque não quero comprimir (demora muito) e corro:

tar cvf myfile.tar.gz myhomefolder

No Windows, quando uso o 7-Zip, recebo este erro:

There are data after the end of file

O problema é que há um final ruim no arquivo. Como fazer para remover esse fim. Quais são os softwares que podem fazer abrir o arquivo no modo binário ou algo assim.

Como posso obter meus arquivos?

    
por Hunsu 09.05.2014 / 22:35

2 respostas

1

Você pode tentar o utilitário gzrecover e extrair o arquivo recuperado com cpio .

Ele ajudou na recuperação de arquivos corrompidos no passado, mas sua milhagem pode variar. Estou tendo um problema em que ele não pode recuperar um arquivo para mim, aviso tão justo.

EDIT: Por um mod me ameaçando violentamente com uma faca, vou adicionar alguns detalhes como eu recuperei arquivos antecipadamente. (Estou brincando. Não me machuque, @ Scott!)

Você pode instalar os dois pacotes usando

sudo apt-get install cpio gzrt

Depois de garantir que ambos os pacotes estejam instalados, vamos começar a trabalhar.

Primeiro, coloque seu arquivo onde você não se importa com os dados que estão sendo extraídos. De lá, você pode correr

gzrecover broken-archive.tar.gz

O gzrecover provavelmente levará algum tempo, dependendo do tamanho do arquivo. No entanto, com alguma sorte, você verá "broken-archive.tar.recovered" no mesmo diretório após a conclusão da operação.

O arquivo recuperado provavelmente sofreu algum tipo de dano também; é aqui que o cpio é útil. Já deve estar instalado no seu sistema.

Para extrair o arquivo recuperado, use

cpio -F broken-archive.tar.recovered -i -v

Esteja ciente de que o cpio divulgará uma grande quantidade de informações durante esse período. Eu recomendo que você faça isso em um tty separado inteiramente ao invés de um terminal em sua sessão X. Para fazer isso, você pode simplesmente pressionar CTRL + ALT + F1 e sua tela irá mudar para um terminal. Para retornar à sua sessão X, pressione CTRL + ALT + F8 (pode variar, mas geralmente é F7-9).

O processo de extração do arquivo recuperado também será bastante intensivo. Como o cpio não é otimizado para uso com múltiplos núcleos, ele se ater a um núcleo. Qualquer que seja o núcleo que aconteça, provavelmente prenderá o núcleo com 100% de uso. Se você tiver uma máquina dual-core, talvez não tenha que usar o computador por um tempo.

Esteja avisado que este processo pode levar vários dias, especialmente considerando o tamanho do arquivo. Encontre uma máquina diferente para descarregar esse trabalho (CPUs mais lentas farão com que isso demore mais), planeje não usar o computador por um tempo ou simplesmente prepare-se para o seu sistema sufocando durante o trabalho. Além disso, se você fizer isso execute isto dentro de um terminal em sua sessão X, você provavelmente fixará um segundo núcleo em 100%. Se você for um usuário avançado, poderá usar o comando taskset para atribuir o (s) processo (s) a um núcleo específico. No entanto, isso está fora do escopo da minha resposta.

Desejo-lhe boa sorte.

    
por 03.01.2016 / 05:58
0

Primeiro tar cvf myfile.tar.gz myhomefolder deve ser tar cvf myfile.tar myhomefolder .

Segundo, você pode tentar tar xvf myfile.tar.gz .

    
por 10.05.2014 / 04:50

Tags