reparando partições com o linux

Upload: edian-nunes

Post on 21-Jul-2015

41 views

Category:

Documents


0 download

TRANSCRIPT

Reparando partiesPossivelmente, o tipo mais comum de "recuperao" de arquivos no implica em realmente recuperar arquivos deletados, mas simplesmente reaver arquivos depois de problemas no sistema operacional, que impeam o boot. Antes de mais nada, comece verificando se os arquivos realmente foram perdidos, ou se ficaram simplesmente inacessveis por causa da pane do sistema. Muitas vezes, parties aparentemente danificadas, que no so mais vistas atravs do Windows podem ser lidas perfeitamente ao dar boot usando uma distribuio Linux live-cd. Comece abrindo o gparted (como root, atravs do terminal), de forma a verificar se as parties do HD continuam presentes (se no estiverem, passe para o tpico seguinte). Se tudo estiver em ordem, o prximo passo montar as parties 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 parties do HD foram montadas sem erros, significa que provavelmente a estrutura est intacta, bom sinal. interessante usar a opo "-o ro", como no exemplo, para que as parties sejam montadas em modo somente-leitura, eliminando qualquer possibilidade de piorar as coisas caso elas estejam danificadas. Abra o Konqueror (ao utilizar uma distribuio baseada no KDE), ou o Nautilus (ao usar o Ubuntu ou outra baseada no Gnome). Faa isso usando o terminal aberto como root, para evitar qualquer problema relacionado s permisses de acesso. Para abrir o Konqueror, j mostrando o contedo da pasta onde foi montada a partio, 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 partio, o prximo passo reparar as estruturas lgicas do sistema de arquivos, de forma que a partio possa ser montada e os dados voltem a ficar acessveis. Mais uma vez, tudo pode ser feito a partir do live-cd. Para parties formatadas em FAT16 ou FAT32, incluindo pendrives, cartes, cmeras e outros dispositivos, use o comando "fsck.vfat". Verificar parties formatadas em FAT regularmente importante, pois este sistema de arquivos no possui um mecanismo confivel de deteco de erros. As parties e pendrives so montados mesmo que o sistema de arquivos esteja corrompido, fazendo com que os erros acabem se acentuando at o ponto em que os arquivos no possam ser lidos ou modificados, ou o sistema realmente no consegue montar a partio, dizendo que ela no est formatada ou outro erro similar. Comece fazendo o teste no 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 importncia dos dados, voc pode optar pela recuperao automtica, que simplesmente corrige todos os erros, colocando arquivos corrompidos que puderam ser recuperados no diretrio raiz, ou a recuperao manual, onde voc pode verificar

cada modificao. Para fazer a recuperao automtica, use: # fsck.vfat -a /dev/hda1 Para a recuperao manual (bem mais longa e sujeita a erro humano), use: # fsck.vfat -r /dev/hda1 Para que ele faa um exame de superfcie, marcando os setores defeituosos, use a opo "-at", como em: # fsck.vfat -at /dev/hda1 Erros em parties NTFS so mais incomuns, pois o sistema de arquivos inclui mais camadas de tolerncia a falhas e o Windows realiza uma verificao a cada boot, executando o teste longo quando necessrio. Apesar disso, em casos onde a partio acumule erros a ponto de no ser mais montada pelo Windows, voc pode utilizar o "ntfsfix", um pequeno utilitrio que corrige os problemas mais comuns. Para us-lo, indique a partio NTFS a recuperar, como em: # ntfsfix /dev/sda1 Depois de executado, o ntfsfix marca a flag de verificao para a partio, o que fora a verificao do sistema de arquivos no prximo boot do Windows. Normalmente ele consegue reparar a partio o suficiente para que ela volte a ser montada e o scandisk do Windows cuida do resto. Caso o ntfsfix no esteja disponvel, abra o gerenciador de pacotes e procure pelo programa "ntfsprogs". A maioria das distribuies live-cd atuais utilizam o UnionFS, que permite instalar pequenos programas mesmo com o sistema rodando a partir do CD. Temos em seguida as parties Linux, onde so utilizados os sistemas de arquivos EXT3 (ou EXT2), ReiserFS e (mais raramente) XFS. Assim como no caso do Windows, danos nas estruturas lgicas das parties podem fazer com que o sistema no inicialize mais, ou mesmo fazer com que voc no consiga mais montar a partio, mesmo ao dar boot atravs do live-CD. Nesse caso, um reparo manual necessrio. Para reparar uma partio EXT3, use o comando: # fsck.ext3 /dev/hda1 Ele vai comear 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 partio melhor prestar mais ateno. Arquivos danificados ou fragmentos de arquivos que puderam ser recuperados vo para a pasta "lost+found" no diretrio raiz da partio. Voc pode tambm adicionar o parmetro "-f", que fora a verificao da partio mesmo que o sistema de arquivos parea no ter problemas: # fsck.ext3 -f /dev/hda1 O fsck no capaz de recuperar o sistema de arquivos em casos de problemas com o superbloco, o setor que contm informaes essenciais, como o tipo, tamanho, status e informaes sobre a estrutura do sistema de arquivos. Quando no encontra o superbloco, o fsck simplesmente falha miseravelmente, exibindo um "fatal error", sem maiores explicaes. Sempre que a partio criada, so criados vrios superblocos alternativos, que servem justamente de backups para casos de problemas com o primeiro. Voc pode ver a lista de endereos usando o comando "mkfs.ext3 -n partio", como em: # mkfs.ext3 -n /dev/hda1 Ao usar o comando, nunca esquea de incluir o "-n". Caso contrrio, ao invs de mostrar as informaes, ele vai formatar a partio (estou falando srio). No final do relatrio voc encontra:

Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Alternativamente, voc pode usar tambm o comando "dumpe2fs /dev/hda1 | grep -i superblock", que devolve a mesma informao. Outra opo usar o Testdisk (que veremos a seguir). Ele oferece uma opo para listar superblocos alternativos em parties EXT, que voc acessa em "Advanced > Superblock". Para restaurar o superbloco, chame novamente o comando "fsck.ext3", adicionando a opo "-b", seguida do endereo 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 parties EXT2, use o comando "fsck.ext2", que suporta os mesmos parmetros. Em parties 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 operao. Ele vai verificar toda a estrutura do sistema de arquivos e indicar os erros encontrados. O prximo passo usar a opo "--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 operao. 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 operao pode demorar bastante, de acordo com o tamanho e quantidade de arquivos na partio. Nunca interrompa a reconstruo, caso contrrio voc no vai conseguir acessar nada dentro da partio, at que recomece e realmente conclua a operao. O "--rebuild-tree" vai corrigir qualquer tipo de erro no sistema de arquivos. Ele s no vai resolver o problema se realmente existir algum problema fsico como, por exemplo, um grande nmero de setores defeituosos no HD. Finalmente, se voc estiver usando uma partio 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 automtico. Ao contrrio do EXT3, tanto o ReiserFS quanto o XFS so sistemas de arquivos muito complexos, por isso qualquer interveno manual s aumentaria a possibilidade de destruir tudo.