Recuperando partições danificadas no linux

Recuperando partições danificadas

Assim como no Windows, você nunca deve desligar o micro no botão ao rodar qualquer distribuição Linux.

Mas, acidentes acontecem. A energia elétrica acaba de vez em quando, alguns dos drivers de softmodems podem fazer o micro travar (estes drivers são proprietários, por isso não é possível corrigir bugs, como em outras partes do sistema; você depende unicamente da boa vontade do fabricante) e assim por diante.

Durante o boot, o sistema verifica as partições em busca de problemas, tentando resolver qualquer inconsistência no sistema de arquivos causado por um desligamento incorreto. Você pode perder alguns arquivos que ainda não tivessem sido salvos no HD, mas a idéia é que a verificação coloque todo o resto em ordem.

Para partições em ReiserFS é usado o reiserfsck, para partições em EXT2 ou EXT3 é usado (respectivamente) o fsck.ext2 ou o fsck.ext3 e para partições em XFS é usado o xfs_repair.

Mas, em alguns casos, o dano pode ser grande o suficiente para que não seja possível repará-lo automaticamente, fazendo com que o sistema simplesmente deixe de dar boot.

Não há motivo para pânico. Você pode dar boot pelo CD do Kurumin e usá-lo para reparar as partições danificadas.

Abra um terminal e vire root (su), lembre-se de que, ao rodar o Kurumin pelo CD, você pode definir a senha de root usando o comando “sudo passwd“. A partição a ser reparada precisa estar desmontada. Vou usar como exemplo a partição /dev/hda1.

Se for 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.

É difícil estimar quantas reinstalações já foram feitas, e qual foi o efeito negativo sobre a reputação do sistema durante sua história por causa deste simples problema, que é felizmente fácil de resolver.

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. 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“. O Testdisk (que vimos a pouco) também oferece uma opção para listar superblocos alternativos em partições EXT, que você acessa em “Advanced > Superblock“.

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.

Numa partição 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. Esta 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 termine a operação.

O “–rebuild-tree” vai realmente corrigir qualquer tipo de erro no sistema de arquivos. Ele só não vai resolver o problema caso realmente existe algum problema físico, como, por exemplo, um grande número de setores defeituosos no HD.

Finalmente, caso você esteja 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 EXT2, 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.

Mas, ambos incluem algumas opções avançadas, que podem ser especificadas no comando. Você pode dar uma olhada dentro dos manuais: “man reiserfsck” ou “man xfs_repair“.

Fonte: Falha de memória para atribuir a devida autoria (havendo provas contate-me).

~ por Cissô em 21 abril 2008.

Uma resposta to “Recuperando partições danificadas no linux”

  1. A fonte é do guia do hardware, o autor é o criador do kurumin

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: