Corrigir partição NTFS corrompida sem o Windows

66

A partição NTFS ficou corrompida de alguma forma (é uma relíquia dos dias em que eu tinha o Windows instalado).

Estou colocando a saída de depuração do fdisk e blkid aqui .

Ao mesmo tempo, qualquer SO não consegue montar minha partição raiz, que está localizada ao lado da minha partição NTFS. Eu não tenho certeza se isso tem alguma coisa a ver com isso, no entanto. Eu recebo o seguinte erro ao tentar montar minha partição raiz (sda5)

mount: wrong fs type, bad option, bad superblock on /dev/sda5,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

ubuntu@ubuntu:~$ dmesg | tail
[ 1019.726530] Descriptor sense data with sense descriptors (in hex):
[ 1019.726533]         72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 
[ 1019.726551]         1a 3e ed 92 
[ 1019.726558] sd 0:0:0:0: [sda]  Add. Sense: Unrecovered read error - auto reallocate failed
[ 1019.726568] sd 0:0:0:0: [sda] CDB: Read(10): 28 00 1a 3e ed 40 00 01 00 00
[ 1019.726584] end_request: I/O error, dev sda, sector 440331666
[ 1019.726602] JBD: Failed to read block at offset 462
[ 1019.726609] ata1: EH complete
[ 1019.726612] JBD: recovery failed
[ 1019.726617] EXT4-fs (sda5): error loading journal

Quando eu abro o gparted (usando live CD), recebo uma exclamação ao lado da minha unidade NTFS, que diz

Existe uma maneira de executar chkdsk sem usar o Windows?

Minha tentativa de executar fsck resulta no seguinte:

ubuntu@ubuntu:~$ sudo fsck /dev/sda
fsck from util-linux-ng 2.17.2
e2fsck 1.41.14 (22-Dec-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sda

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

Atualização: Consegui consertar a partição NTFS que está executando o chkdsk do BootCD do Hiren, mas parece que o problema do superbloco ainda permanece.

Atualização 2: problema de superbloco corrigido usando e2fsck -c /dev/sda5

    
por Nemo 08.06.2011 / 21:18

9 respostas

81

Instale o ntfs-3g com sudo apt-get install ntfs-3g . Em seguida, execute o comando ntfsfix na sua partição NTFS.

Por exemplo:

ntfsfix /dev/hda6

  

ntfsfix v2.0.0 (libntfs 10: 0: 0)

     

Uso: ntfsfix [opções] dispositivo

Attempt to fix an NTFS partition.

-h, --help             Display this help
-V, --version          Display version information
     

Endereço de e-mail dos desenvolvedores:

     

[email protected] Linux NTFS   página inicial: link

Para Ubuntus mais recentes Você pode usar a opção -b e -d juntos. -b tenta corrigir clusters defeituosos e -d para corrigir estados sujos. Então o comando pode ser

sudo ntfsfix -b -d /dev/sda6

--help mostra-os

ntfsfix v2015.3.14AR.1 (libntfs-3g)

Usage: ntfsfix [options] device
    Attempt to fix an NTFS partition.

    -b, --clear-bad-sectors Clear the bad sector list
    -d, --clear-dirty       Clear the volume dirty flag
    -h, --help              Display this help
    -n, --no-action         Do not write anything
    -V, --version           Display version information
    
por RolandiXor 08.06.2011 / 21:56
11

Acabei de consertar minha unidade USB usando o "testdisk", um utilitário de linha de comando do Linux (ainda que amigável). Minha unidade nem sequer foi montada no Windows e no Windows 8 foi descoberta como 6 partições (quando a unidade tinha apenas uma).

Para usar o utilitário, instale-o:

sudo apt-get install testdisk

Em seguida, execute:

sudo testdisk

e siga as instruções. Você deve procurar por partições e, em seguida, gravar as alterações.

Espero que isso ajude alguém.

    
por Diego Jancic 17.12.2012 / 19:35
11

Apenas para esclarecer alguns dos seus pontos.

  

Minha tentativa de executar o fsck resulta no seguinte:

ubuntu@ubuntu:~$ sudo fsck /dev/sda

...

fsck.ext2: Bad magic number in super-block while trying to open /dev/sda

Agora, isso não é de admirar, porque você está tentando fsck o disco, e não sua partição. O que o fsck faz é tentar reconhecer o tipo FS. Porque você deu a ele uma superfície bruta de disco, ele não reconhece e recorre ao tipo padrão - ext, chamando fsck.ext.

fsck.ext não encontra nenhuma assinatura FS no local e tenta encontrar superblocos. Em última análise, ele falha, porque seu disco com apenas o tipo de partição NTFS.

É por isso que você tem esse erro.

O comando correto seria:

sudo fsck /dev/sda1

Isso alimentaria a partição FIRST do primeiro disco rígido SATA, não o primeiro disco SATA em si.

    
por Who cares 09.05.2012 / 19:18
6

Seu disco é torrado. Verifique o diagnóstico SMART no utilitário de disco para confirmar; deveria dizer que você tem uma tonelada de setores defeituosos e precisa substituir a unidade.

    
por psusi 09.06.2011 / 03:36
4

Concordo com @psusi: o disco precisa ser substituído, veja meu comentário abaixo da resposta aceita. Fazer um ntfsfix não ajuda em nada e apenas atrasa a ação essencial de:

  1. fazendo backup de todos os dados no disco o mais rápido possível
  2. substituindo o disco por um novo

Não é necessário verificar realmente os diagnósticos do SMART - eles só pegam uma porcentagem de erros de qualquer maneira. As bandeiras vermelhas são as duas linhas:

[ 1019.726558] sd 0:0:0:0: [sda]  Add. Sense: **Unrecovered read error** - auto reallocate failed
[ 1019.726602] JBD: **Failed to read block** at offset 462

Assim que um disco começa a fornecer erros de leitura irrecuperáveis (UREs), ele deve ser substituído imediatamente e usado somente para recuperação de dados. (Um nível excessivo de não-UREs também indica a necessidade de substituição.)

Os discos devem ser vistos como consumíveis que devem ser substituídos a cada poucos anos, portanto, ter backups realmente bons (automatizados, diários, completos e, pelo menos, para uma unidade externa) é crucial.

    
por RichVel 16.10.2011 / 08:02
4

No Ubuntu 14.04 Apenas tente isto

sudo ntfsfix /dev/sdXY

Onde XY é sua partição. ( /dev/sda2 no seu caso)

    
por user335969 09.10.2014 / 14:12
1

Como as outras respostas disseram, nesse caso, provavelmente é um disco ruim ...

Mas para o benefício dos outros que enfrentam a corrupção real do NTFS - infelizmente a ferramenta ntfsfix é muito limitada em comparação com o chkdsk da Microsoft. Tente instalar o Windows - de preferência com a versão mais recente do Windows, já que a Microsoft está constantemente melhorando o chkdsk (espero ...) Versões mais recentes do Windows estão disponíveis gratuitamente como testes. Se o problema estiver em um disco USB, você pode tentar instalar o Windows em algo como o VirtualBox e fornecer o controle de VM do dispositivo USB.

    
por eug 01.01.2012 / 06:05
1

Infelizmente, as ferramentas gratuitas disponíveis no Linux são muito limitadas no que diz respeito à fixação de partições NTFS.

O mais provável é que você ainda possa recuperar seus dados usando a MFT secundária armazenada no final do disco. Geralmente não é usado, mas deve conter uma versão atualizada de sua estrutura de diretórios. Há uma boa chance de não ter sido afetado pelos erros do disco.

No passado, eu usei o produto (comercial, 79 $) do Runtime Software GetDataBack NTFS grande sucesso para isso. É uma das poucas ferramentas NTFS (a única?) Que é executada no WINE e como um Linux LiveCD , e a demonstração gratuita deve ser suficiente para ver se seus dados ainda estão lá . Se for, seus dados podem valer a pena comprar a ferramenta.

O LiveCD roda o Knoppix Linux e tem todas as ferramentas pré-instaladas. Observe que você ainda precisará de uma chave de licença para usar as ferramentas, mas deve ser suficiente para ver se funciona no seu computador.

Aviso: Eu não tenho nenhuma afiliação com o software Runtime além de ter comprado o produto há alguns anos.

    
por jmiserez 09.10.2014 / 15:06
0

Esta resposta provavelmente funcionará apenas para 10.04 (lúcido) e versões posteriores do Ubuntu!

Experimente sudo ntfsfix -b /dev/sda2 .

  • Você precisa ntfs-3g instalado. Se não tiver, você pode instalá-lo no Centro de Software clicando nesse link ou no Terminal ( Ctrl + Alt + T ) executando estes comandos:

    sudo apt-get update
    sudo apt-get install ntfs-3g
    
por DeGe 09.05.2012 / 19:32