REPARANDO PARTIÇÕES
Possivelmente, o tipo mais comum de "recuperação" de arquivos não implica em realmente recuperar arquivos deletados, mas simplesmente reaver arquivos depois de problemas no sistema operacional, que impeçam o boot.
Antes de mais nada, comece verificando se os arquivos realmente foram perdidos, ou se ficaram simplesmente inacessíveis por causa da pane do sistema. Muitas vezes, partições aparentemente danificadas, que não são mais vistas através do Windows podem ser lidas perfeitamente ao dar boot usando uma distribuição Linux live-cd.
Comece abrindo o gparted (como root, através do terminal), de forma a verificar se as partições do HD continuam presentes (se não estiverem, passe para o tópico seguinte).
Se tudo estiver em ordem, o próximo passo é montar as partições via linha de comando, como em:
# mkdir /mnt/sda1
# mount -o ro /dev/sda1 /mnt/sda1
# mkdir /mnt/sda2
# mount -o ro /dev/sda2 /mnt/sda2
Se as partições do HD foram montadas sem erros, significa que provavelmente a estrutura está intacta, bom sinal. É interessante usar a opção "-o ro", como no exemplo, para que as partições sejam montadas em modo somente-leitura, eliminando qualquer possibilidade de piorar as coisas caso elas estejam danificadas.
Abra o Konqueror (ao utilizar uma distribuição baseada no KDE), ou o Nautilus (ao usar o Ubuntu ou outra baseada no Gnome). Faça isso usando o terminal aberto como root, para evitar qualquer problema relacionado às permissões de acesso. Para abrir o Konqueror, já mostrando o conteúdo da pasta onde foi montada a partição, use o comando:
# konqueror /mnt/sda1
Para usar o Nautilus, o comando fica:
# nautilus /mnt/sda1
Se todos os arquivos estiverem em ordem, você só precisa copiá-los para outro HD (ou um compartilhamento de rede) e o problema estará resolvido.
Caso o problema seja justamente na montagem de partição, o próximo passo é reparar as estruturas lógicas do sistema de arquivos, de forma que a partição possa ser montada e os dados voltem a ficar acessíveis. Mais uma vez, tudo pode ser feito a partir do live-cd.
Para partições formatadas em FAT16 ou FAT32, incluindo pendrives, cartões, câmeras e outros dispositivos, use o comando "fsck.vfat". Verificar partições formatadas em FAT regularmente é importante, pois este sistema de arquivos não possui um mecanismo confiável de detecção de erros. As partições e pendrives são montados mesmo que o sistema de arquivos esteja corrompido, fazendo com que os erros acabem se acentuando até o ponto em que os arquivos não possam ser lidos ou modificados, ou o sistema realmente não consegue montar a partição, dizendo que ela não está formatada ou outro erro similar.
Comece fazendo o teste não destrutivo, que acessa o dispositivo em modo somente-leitura e apenas avisa dos erros que encontrar:
# fsck.vfat /dev/hda1
De acordo com os erros que forem encontrados e a importância dos dados, você pode optar pela recuperação automática, que simplesmente corrige todos os erros, colocando arquivos corrompidos que puderam ser recuperados no diretório raiz, ou a recuperação manual, onde você pode verificar cada modificação.
Para fazer a recuperação automática, use:
# fsck.vfat -a /dev/hda1
Para a recuperação manual (bem mais longa e sujeita a erro humano), use:
# fsck.vfat -r /dev/hda1
Para que ele faça um exame de superfície, marcando os setores defeituosos, use a opção "-at", como em:
# fsck.vfat -at /dev/hda1
Erros em partições NTFS são mais incomuns, pois o sistema de arquivos inclui mais camadas de tolerância a falhas e o Windows realiza uma verificação a cada boot, executando o teste longo quando necessário. Apesar disso, em casos onde a partição acumule erros a ponto de não ser mais montada pelo Windows, você pode utilizar o "ntfsfix", um pequeno utilitário que corrige os problemas mais comuns. Para usá-lo, indique a partição NTFS a recuperar, como em:
# ntfsfix /dev/sda1
Depois de executado, o ntfsfix marca a flag de verificação para a partição, o que força a verificação do sistema de arquivos no próximo boot do Windows. Normalmente ele consegue reparar a partição o suficiente para que ela volte a ser montada e o scandisk do Windows cuida do resto.
Caso o ntfsfix não esteja disponível, abra o gerenciador de pacotes e procure pelo programa "ntfsprogs". A maioria das distribuições live-cd atuais utilizam o UnionFS, que permite instalar pequenos programas mesmo com o sistema rodando a partir do CD.
Temos em seguida as partições Linux, onde são utilizados os sistemas de arquivos EXT3 (ou EXT2), ReiserFS e (mais raramente) XFS. Assim como no caso do Windows, danos nas estruturas lógicas das partições podem fazer com que o sistema não inicialize mais, ou mesmo fazer com que você não consiga mais montar a partição, mesmo ao dar boot através do live-CD. Nesse caso, um reparo manual é necessário.
Para reparar uma partição EXT3, use o comando:
# fsck.ext3 /dev/hda1
Ele vai começar a apontar os erros e perguntar se cada um deve ser corrigido. Normalmente você pode ir apenas respondendo "y" para tudo, mas caso existam dados realmente importantes na partição é melhor prestar mais atenção. Arquivos danificados ou fragmentos de arquivos que puderam ser recuperados vão para a pasta "lost+found" no diretório raiz da partição.
Você pode também adicionar o parâmetro "-f", que força a verificação da partição mesmo que o sistema de arquivos pareça não ter problemas:
# fsck.ext3 -f /dev/hda1
O fsck não é capaz de recuperar o sistema de arquivos em casos de problemas com o superbloco, o setor que contém informações essenciais, como o tipo, tamanho, status e informações sobre a estrutura do sistema de arquivos. Quando não encontra o superbloco, o fsck simplesmente falha miseravelmente, exibindo um "fatal error", sem maiores explicações.
Sempre que a partição é criada, são criados vários superblocos alternativos, que servem justamente de backups para casos de problemas com o primeiro. Você pode ver a lista de endereços usando o comando "mkfs.ext3 -n partição", como em:
# mkfs.ext3 -n /dev/hda1
Ao usar o comando, nunca esqueça de incluir o "-n". Caso contrário, ao invés de mostrar as informações, ele vai formatar a partição (estou falando sério). No final do relatório você encontra:
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Alternativamente, você pode usar também o comando "dumpe2fs /dev/hda1 | grep -i superblock", que devolve a mesma informação.
Outra opção é usar o Testdisk (que veremos a seguir). Ele oferece uma opção para listar superblocos alternativos em partições EXT, que você acessa em "Advanced > Superblock".
Para restaurar o superbloco, chame novamente o comando "fsck.ext3", adicionando a opção "-b", seguida do endereço do superbloco que será usado. Caso, eventualmente, o primeiro resulte em erro, experimente o segundo, e assim por diante:
# fsck.ext3 -f -b 32768 /dev/hda2
Para partições EXT2, use o comando "fsck.ext2", que suporta os mesmos parâmetros.
Em partições formatadas em ReiserFS, comece com o comando:
# reiserfsck --check /dev/hda1
Ele exibe um aviso: Do you want to run this program?[N/Yes] (note need to type Yes if you do):
Ou seja, você precisa digitar "Yes" para continuar. Caso apenas dê Enter, ele aborta a operação. Ele vai verificar toda a estrutura do sistema de arquivos e indicar os erros encontrados. O próximo passo é usar a opção "--fix-fixable":
# reiserfsck --fix-fixable /dev/hda1
Este segundo comando efetivamente corrige todos os erros simples, que possam ser corrigidos sem colocar em risco as demais estruturas do sistema de arquivos. Em 90% dos casos isto é suficiente.
Caso seja encontrado algum erro grave, ele vai abortar a operação. Estes erros mais graves podem ser corrigidos com o comando:
# reiserfsck --rebuild-tree /dev/hda1
Este comando vai reconstruir do zero todas as estruturas do sistema de arquivos, vasculhando todos os arquivos armazenados. Essa operação pode demorar bastante, de acordo com o tamanho e quantidade de arquivos na partição. Nunca interrompa a reconstrução, caso contrário você não vai conseguir acessar nada dentro da partição, até que recomece e realmente conclua a operação.
O "--rebuild-tree" vai corrigir qualquer tipo de erro no sistema de arquivos. Ele só não vai resolver o problema se realmente existir algum problema físico como, por exemplo, um grande número de setores defeituosos no HD.
Finalmente, se você estiver usando uma partição formatada em XFS, comece com o:
# xfs_check /dev/hda1
Ele vai indicar os problemas encontrados. Para realmente corrigi-los, rode o:
# xfs_repair /dev/hda1
Assim como no caso do reiserfsck, todo o processo é automático. Ao contrário do EXT3, tanto o ReiserFS quanto o XFS são sistemas de arquivos muito complexos, por isso qualquer intervenção manual só aumentaria a possibilidade de destruir tudo.
Nenhum comentário:
Postar um comentário