em Sem categoria

Recuperando parti??es danificadas

Este artigo foi retirado do site Dicas-L da Unicamp

Por Carlos E. Morimoto (http://www.guiadohardware.net)

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
tivesse 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 o fsck 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 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 Ext2 ou Ext3, use o comando:

# fsck /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.

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”.