Como recuperar partição ext4 parcialmente formatada (testdisk não ajudou)

1

Eu tenho um disco rígido "partição única formatada em ext4" de 2TB. Recentemente, enquanto trabalhava no Windows 7 na mesma máquina, danifiquei a partição mencionada anteriormente. O que aconteceu é que, enquanto eu estava tentando recuperar o drive USB externo, eu abri a ferramenta padrão de gerenciamento de disco do Windows e ele me perguntou se eu queria tornar o disk1 "ativo". Naquele momento, não percebi que "disk1" não é meu disco USB, mas o disco interno ext4. Depois de clicar em OK, o Windows criou 100 MB de "partição reservada pelo sistema" no disco e deixou o resto intocado ..? Quando eu entrei no linux, a partição não estava montada. Eu apaguei criado pelo Windows 100MB NTFS "partição reservada pelo sistema" e tentei executar o testdisk. O Testdisk vê minha antiga partição ext4, mas no final diz algo como "nenhuma partição pode ser recuperada". É possível recuperar minha partição e estrutura de diretórios + dados? O problema é que eu tinha lá todos os meus programas (C / C ++) e diretórios de trabalho, bem como alguns dados experimentais, ou seja, arquivos que não têm cabeçalhos específicos como jpg ou pdf ... Existe uma maneira de recuperar esses dados? Posso, por exemplo, recuperar parte da partição? Digamos que o que está acima de 100MB?

Obrigado antecipadamente!

P.S. Por favor, vamos evitar "você deveria ter feito um backup", como comentários .. :) Eu tinha um backup, mas foi armazenado na unidade USB que eu estava tentando recuperar primeiro .. (uma falha geral do disco, disco não é legível ).

    
por Abraham 26.08.2013 / 19:02

3 respostas

1

Você pode ter encontrado problema, mas isso não é muito claro. Em caso afirmativo, o seu é o primeiro caso do tipo que eu já ouvi falar, e você pode agradecer aos desenvolvedores do GNU por ficarem parados por mais de dois anos.

Na prática, sua melhor aposta para a recuperação é esta:

  1. (Opcional, mas strongmente recomendado.) Faça um backup de baixo nível do disco danificado. Por exemplo, sudo dd if=/dev/sdc of=/path/to/backup.img faz backup de /dev/sdc (se for o disco danificado) para /path/to/backup.img (você pode alterar esse diretório de destino ou nome de arquivo, se desejar). Obviamente, você deve ter espaço livre suficiente em /path/to para armazenar o backup. Isso significa que você pode precisar comprar um novo disco de backup, prepará-lo e montá-lo em /path ou /path/to . Você pode pular este passo, mas se piorar, ficará mais difícil de recuperar - talvez a ponto de se tornar impossível de recuperar.
  2. Use fdisk (se o disco usou o MBR) ou gdisk (se o disco usou o GPT) para recriar suas partições originais. Como você disse que tinha uma única partição no disco, é provável que tenha começado no setor 2048 e estendido até o final do disco. Assim, excluir a (s) partição (ões) atual (s) e recriar essa (s) partição (ões) pode funcionar. Não crie um novo sistema de arquivos no disco; basta criar uma partição vazia . (O GParted gosta de criar um novo sistema de arquivos e por isso deve ser evitado. É possível criar uma partição vazia, mas por que correr o risco?)
  3. Reinicie. (Isso apenas garante que você está usando a nova tabela de partições. Existem maneiras menos radicais de fazer isso, mas essa é fácil de descrever.)
  4. Execute e2fsck na partição que você acabou de criar. Se você tiver muita sorte, pode localizar o suficiente das estruturas de dados do ext4fs para trazer o disco de volta para o live, embora provavelmente com alguns arquivos ausentes ou outros problemas. Você pode querer usar fsck.ext4 para ter certeza de que ele reconhece corretamente que é um sistema de arquivos ext4. Brincando com e2fsck opções (como -b ) pode melhorar suas chances de recuperar dados, mas essas opções são muito avançadas. Veja a página e2fsck man para detalhes.
  5. Se isso falhar, execute PhotoRec no disco. Isso deve permitir a recuperação de arquivos individuais, embora eles provavelmente não tenham nomes de arquivos ou qualquer tipo de organização, portanto, você precisará analisá-los para descobrir o que todos eles são.
por Rod Smith 26.08.2013 / 22:04
1
  1. Para a recuperação eu estava usando apenas a cópia "dd" do disco:

    sudo dd if=/dev/sdb of=/dev/sdd
    

("sdb" é o disco danificado e "sdd" é o que eu usei nos testes)

  1. Primeiro, usei "gdisk" para criar uma nova tabela de partições GUID vazia (opção -o).

    $ sudo gdisk /dev/sdd
    Command (? for help):   
    $ o
    This option deletes all partitions and creates a new protective MBR.
    Proceed? (Y/N): 
    $ y
    $ w
    
  2. Eu tentei sudo e2fsck /dev/sdd - malsucedido (o primeiro superbloco foi corrompido)

    $ sudo e2fsck /dev/sdd
    e2fsck 1.41.12 (17-May-2010)
    e2fsck: Superblock invalid, trying backup blocks...
    e2fsck: Bad magic number in super-block while trying to open /dev/sdd
    
    The superblock could not be read or does not describe a correct ext2
    filesystem.  If the device is valid and it really contains an ext2
    filesystem (and not swap or ufs or something else), then the superblock
    is corrupt, and you might try running e2fsck with an alternate superblock:
        e2fsck -b 8193 <device>
    
  3. então eu fiz sudo mke2fs -n /dev/sdd para listar os superblocos

    $ sudo mke2fs -n /dev/sdd1
    mke2fs 1.41.12 (17-May-2010)
    /dev/sdd is entire device, not just one partition!
    Proceed anyway? (y,n) 
    $ y
    
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    122101760 inodes, 488378646 blocks
    24418932 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=0
    14905 block groups
    32768 blocks per group, 32768 fragments per group
    8192 inodes per group
    Superblock backups stored on blocks:
    
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
            4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
            102400000, 214990848
    
  4. então - sudo e2fsck -b 214990848 /dev/sdd depois de aplicar várias correções acabei com uma partição parcialmente recuperada! Na verdade, não foi tão direto. Eu tentei com vários superblocos e diferentes opções e2fsck. De qualquer forma, esta foi a receita geral.

Adendo: durante a recuperação eu respondi "não" a todas as perguntas como:

One or more block group descriptor checksums are invalid. Fix(y)?
$ no
/lost+found not found.  Create(y)?
$ no
Free blocks count wrong for group # (32768, counted=0). Fix(y)?
$ no
Free inodes count wrong (122101749, counted=1606). Fix(y)?
$ no
    
por Abraham 29.08.2013 / 18:34
0

Experimente o GNU ddrescue.

O GNU ddrescue é uma ferramenta de recuperação de dados. Ele copia dados de um arquivo ou dispositivo de bloco (disco rígido, cdrom, etc) para outro, tentando recuperar dados em caso de erros de leitura.

A operação básica do ddrescue é totalmente automática. Ou seja, você não precisa esperar por um erro, parar o programa, ler o log, executá-lo no modo reverso, etc.

Para mais informações, e para baixar o ddrescue, consulte o site .

O Ubuntu Rescue Remix é um sistema live GNU / Linux que roda em CD ou flash USB dispositivo. Ele fornece ao especialista em recuperação de dados um ambiente de interface de linha de comando equipado com as melhores ferramentas gratuitas de recuperação de dados de código aberto e análise forense disponíveis.

Também há ótimos produtos, mas não gratuitos. Tal como o R-STUDIO para Linux Data Recovery .

Você também pode tentar o R-Studio .

  

O R-Studio é uma família de undelete e dados poderosos e econômicos   software de recuperação. Potencializado pela nova recuperação de dados exclusiva   tecnologias, é a solução de recuperação de dados mais abrangente para   arquivos de recuperação de NTFS, NTFS5, ReFS, FAT12 / 16/32, exFAT, HFS / HFS +   (Macintosh), variantes Little e Big Endian do UFS1 / UFS2   (FreeBSD / OpenBSD / NetBSD / Solaris) e Ext2 / Ext3 / Ext4 FS (Linux)   partições. Ele também usa recuperação de arquivos brutos (verificação de tipos de arquivos conhecidos)   para sistemas de arquivos altamente danificados ou desconhecidos. Funciona em locais e   discos de rede, mesmo que tais partições sejam formatadas, danificadas ou   excluído. Configurações de parâmetros flexíveis oferecem controle absoluto sobre   recuperação de dados.

Fonte: GNU & amp; R-Studio

    
por Mitch 26.08.2013 / 20:56