Recupere-se de um sistema de arquivos corrompido quando o fsck não ajudar

12

Algo deu errado com meu sistema de arquivos, o Ubuntu definiu como somente leitura e agora no Ubuntu Live Disc, o fsck não pode corrigi-lo.

Estou executando o 13.04 e ele não inicializa - na inicialização, apenas mostra o prompt de resgate do grub.

É uma configuração direta, apenas um disco rígido em / dev / sda1, mas nem será montado.

O programa de instalação pode ver a partição, que é ext4 e que é a partição de inicialização.

No entanto, parece que não consigo resgatar o sistema de arquivos fazendo uma instalação do Ubuntu com o disco ativo do Ubuntu, porque não dá nenhuma indicação se está prestes a sobrescrever todo o lote, para que não me arrisque.

Eu tenho um backup usando o backuppc, mas estupidamente perdi meus discos de resgate. Prefiro evitar uma instalação completa seguida de uma restauração que não tenho experiência na execução.

O cerne da questão é que o fsck diz que corrige tudo, mas na verdade não corrige; portanto, da próxima vez que o executar, receberei exatamente as mesmas mensagens de erro e correções.

Aqui está a saída:

ubuntu@ubuntu:~$ sudo fsck.ext4 -vy /dev/sda1
e2fsck 1.42.8 (20-Jun-2013)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
Block bitmap for group 0 is not in group.  (block 2553887680)
Relocate? yes

Inode table for group 0 is not in group.  (block 2440124416)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes

One or more block group descriptor checksums are invalid.  Fix? yes

Group descriptor 0 checksum is 0x761e, should be 0xcf25.  FIXED.
Block bitmap for group 4352 is not in group.  (block 2553887680)
Relocate? yes

Inode table for group 4352 is not in group.  (block 3731970048)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes

Group descriptor 4352 checksum is 0x5eda, should be 0x3da3.  FIXED.
Inode bitmap for group 4353 is not in group.  (block 2785042439)
Relocate? yes

Group descriptor 4353 checksum is 0xd8b1, should be 0xedfb.  FIXED.
Inode bitmap for group 4354 is not in group.  (block 838860807)
Relocate? yes

Group descriptor 4354 checksum is 0x1718, should be 0x0438.  FIXED.
Inode bitmap for group 4355 is not in group.  (block 771751943)
Relocate? yes

Group descriptor 4355 checksum is 0x0bc8, should be 0x4170.  FIXED.
fsck.ext4: e2fsck_read_bitmaps: illegal bitmap block(s) for /dev/sda1

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****

/dev/sda1: ********** WARNING: Filesystem still has errors **********

ubuntu@ubuntu:~$ 

É exatamente o mesmo que era 10 vezes mais cedo e tenho certeza que nas próximas dez vezes eu o experimento - exatamente as mesmas somas de verificação e identificações de bloco. Qualquer ajuda recebida com prazer!

Obrigado.

EDIT: basicamente eu acho que a pergunta é: este sistema de arquivos pode ser reparado no local agora ou essas informações do fsck significam que meu disco está morto? E se não estiver morto, o que posso fazer além do que fiz com o fsck?

EDIT: usou o tune2fs para identificar superblocos e executou o e2fsck -b 01234 / dev / sda1 como uma alternativa ao fsck ... sem efeito.

EDIT: tentando testdisk que me diz que a partição é ruim. ... OK testdisk parece não oferecer muito.

Adão
fonte
eu basicamente não cobri o material desse link com fsck.ext4 -vy / dev / sda1? A única diferença é a bandeira '-p' e, com isso, ela diz apenas para fazer manualmente - ou seja, o que eu recortei e colei acima.
Adam

Respostas:

15

Finalmente encontrei este link em que o tipo de sistema de arquivos ext4 é contagioso, mas depois de dar todas as dicas que eu já tentei, finalmente diz:

sudo mkfs.ext4 -S /dev/sda1

Isso substituirá todos os seus superblocos pelos dados corretos, assumindo que o tamanho do bloco seja calculado corretamente (o padrão é correto para a maioria dos sistemas). Se você precisar usar isso, leia a página de manual em -S primeiro. Não me culpe!

mas somente se você tiver sorte.

Consertou a partição para que eu pudesse lê-la novamente. No entanto, eu tive que correr fsckpara corrigir os erros que ainda estavam lá, e que despejavam o conteúdo de / etc e muitas outras coisas em / lost + encontradas, então vou ter que reinstalar e restaurar backup para fazê-lo funcionar novamente.

Adão
fonte
Obrigado, interessante. Eu tive o problema com uma partição raiz ext2 que desisti de corrigir. Testei o comando e ele "funcionou" (especifiquei o tamanho do bloco), mas a partição acabou não sendo inicializada de qualquer maneira, depois que o fsck precisou consertar muitos setores. Agora me pergunto o que teria acontecido com o unix.stackexchange.com/a/193778/59808 .
Nemo
2

Primeiro: se você tiver dados importantes nesse disco, seria um bom momento (na verdade um momento ruim) para fazer um backup. Consulte Recuperação de dados: Criação de imagens de um dispositivo, sistema de arquivos ou unidade danificado . Talvez o seu disco rígido esteja morrendo.

Segundo: Veja o seguinte: Como posso corrigir a montagem da minha unidade de dados após uma falha?

Terceiro: verifique seu disco rígido usando Smartmontools e, eventualmente, badblocks: sudo badblocks -vsn /dev/sda(Isso pode levar algum tempo, não faça isso se você tiver um ssd)

interior
fonte
Obrigado pela edição! É engraçado ver uma resposta crescer desse jeito. A resposta a que você se refere é sobre números mágicos, e não é isso que eu estou vendo - na verdade, essa é uma das várias respostas no askubuntu que eu já olhei. Vou tentar a rota de recuperação de dados também enquanto não tiver outras soluções. Execute o teste curto do smartmontools e ele não encontrou nenhum erro.
Adam
1
Desculpe pela edição. Como os sistemas de arquivos modernos como o ext4 são difíceis de quebrar, estou sempre pensando em uma falha de hardware primeiro. Quando inteligente diz que o disco está ok, não é realmente necessário. Por que seu fs está corrompido? Se eu onde você e o fsck não puderem reparar o fs, eu faria uma instalação limpa. Provavelmente seria mais fácil do que tentar consertar o fs manualmente.
innerand
OK, não se preocupe, obrigado apenas por responder! Eu não estava sendo sarcástico. Eu o sigo completamente sobre o que você está dizendo. Eu só tenho que colocar meu sistema em funcionamento o mais rápido possível. Na pior das hipóteses, levará três dias para que um novo disco rígido seja entregue, então eu gostaria de encontrar uma solução 'sem novo hardware' para isso.
Adam
de acordo com o link na resposta que dei abaixo, aparentemente ext4 não é tão difícil de quebrar. mas de qualquer forma.
Adam
Host virtual com 9 Windows e 1 Ubuntu. O host desceu levando todos os 10 com ele. Quando ele voltou, todo o Windows foi inicializado. A máquina Linux exibia "INCONSISTÊNCIA INESPERADA" e exigia o manual fsck. Eu nunca vi tantas correções no iNode [desde o Solaris nos anos 90]. Isso não era hardware, era puramente uma queda de energia. Eu nunca pensei que veria o dia em que NTFS gerou EXT4.
precisa saber é o seguinte