Correggi la partizione NTFS corrotta senza Windows


84

La mia partizione NTFS è stata corrotta in qualche modo (è una reliquia dei giorni in cui avevo installato Windows).

Schermata GParted che mostra diverse partizioni

Sto inserendo l'output di debug di fdisk e blkid qui .

Allo stesso tempo, qualsiasi sistema operativo non è in grado di montare la mia partizione di root, che si trova accanto alla mia partizione NTFS. Non sono sicuro se questo abbia qualcosa a che fare con esso, però. Ottengo il seguente errore mentre provo a montare la mia partizione di root (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 apro gparted (usando il live CD), ottengo un'esclamazione accanto al mio disco NTFS che afferma Screenshot GParted che mostra errore

C'è un modo per correre chkdsksenza usare Windows?

Il mio tentativo di eseguire i fsckrisultati è il seguente:

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>

Aggiornamento: sono stato in grado di riparare la partizione NTFS che eseguiva chkdsk dal BootCD di Hiren, ma sembra che il problema del superblocco rimanga ancora.

Aggiornamento 2: risolto il problema con il superblocco tramitee2fsck -c /dev/sda5


1
Link a una domanda correlata: askubuntu.com/q/58755/31592
blong

Risposte:


106

Installa ntfs-3g con sudo apt-get install ntfs-3g. Quindi eseguire il comando ntfsfix sulla partizione NTFS.

Per esempio:

ntfsfix /dev/hda6

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

Utilizzo: ntfsfix [opzioni] dispositivo

Attempt to fix an NTFS partition.

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

Indirizzo e-mail degli sviluppatori:

linux-ntfs-dev@lists.sf.netHomepage di Linux NTFS: http://www.linux-ntfs.org


Per Ubuntus più recenti È possibile utilizzare -be l' -dopzione insieme. -bcerca di riparare i cluster danneggiati e -ddi correggere gli stati sporchi. Quindi il comando può essere

sudo ntfsfix -b -d /dev/sda6

--help li mostra

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

Hai qualche suggerimento per il problema del superblocco? Ho corretto la partizione NTFS.
Nemo,

5
Purtroppo questa non è una risposta utile - il problema non è in realtà come riparare le strutture del filesystem NTFS, ma gli errori di lettura irrecuperabili a livello di dispositivo a blocchi (sotto NTFS). Ciò significa che (come già detto psusi) "il tuo disco è toast" - l'unica opzione è quella di acquistare un nuovo disco rigido e ripristinare dal backup. Se non si dispone di backup aggiornati, è possibile provare a utilizzare GNU ddrescue ("apt-get install gddrescue") per recuperare quanti più dati possibili in un file immagine del disco. Ripristino del disco di Google per Ubuntu per ulteriore assistenza.
RichVel,

3
@RolandTaylor: sono sicuro che avrebbe dovuto essere utile, ma dire a qualcuno di eseguire un controllo del filesystem quando c'è un errore di lettura visibile irreversibile nei registri non li aiuterà. Potrebbero essere in grado di correggere temporaneamente il loro errore, ma l'hardware del disco non funziona davvero e ntfix non lo aiuta.
RichVel,

5
Spiacenti, non è corretto: la prima versione della domanda includeva la riga "sd 0: 0: 0: 0: [sda] Add. Senso: errore di lettura non recuperato - riallocazione automatica non riuscita" nei registri - errore di lettura non recuperato (URE ) è ciò che indica che l'unità non funziona. Se si verificano errori di scrittura non recuperati , è possibile sopravvivere per un po '(l'unità rimappa i blocchi), ma gli URE non sono OK. Vedere superuser.com/questions/114675/… per un errore simile. Vedi en.wikipedia.org/wiki/SMART#cite_note-labs.google.com-1 - enorme analisi di Google.
RichVel,

1
Un altro buon collegamento sulla questione URE è questa risposta su un altro sito Stack Exchange: unix.stackexchange.com/questions/1869/…
RichVel

14

Ho appena riparato la mia unità USB usando "testdisk", un'utilità da riga di comando (ma amichevole) di Linux. La mia unità non stava nemmeno montando in Windows e Windows 8 ha scoperto come 6 partizioni (quando l'unità ne aveva solo una).

Per utilizzare l'utilità, installala:

sudo apt-get install testdisk

Quindi eseguilo:

sudo testdisk

e segui le istruzioni. È necessario cercare le partizioni e quindi scrivere le modifiche.

Spero che questo aiuti chiunque.


3
è stato grandioso ... risolto un problema con la tabella delle partizioni sul mio disco fisso esterno! Grazie! V
vellvisher,

11

Solo per chiarire alcuni dei tuoi punti.

Il mio tentativo di eseguire fsck provoca quanto segue:

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

...

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

Ora, non c'è da meravigliarsi, perché stai cercando di bloccare il disco e non la sua partizione. Ciò che fsck fa è, cerca di riconoscere il tipo di FS. Dato che gli hai dato la superficie del disco grezzo, non riesce a riconoscere e ricorre al tipo predefinito - ext, chiamando fsck.ext.

fsck.ext non trova alcuna firma FS nella posizione e cerca di trovare superblocchi. Alla fine fallisce, perché il suo disco ha solo il tipo di partizione NTFS.

Ecco perché hai questo errore.

Il comando corretto sarebbe:

sudo fsck /dev/sda1

Ciò alimenterebbe la PRIMA partizione del primo disco rigido SATA, non il primo disco SATA stesso.


questa potrebbe non essere la risposta alla soluzione del problema dei PO, ma le sue informazioni sono oro puro. Grazie mille!
oliverjkb,

sei sda1 ntfs?
Adi Prasetyo,

5

Il tuo disco è toast. Verificare la diagnostica SMART nell'utilità del disco per confermare; dovrebbe dire che hai un sacco di settori danneggiati e devi sostituire l'unità.


5

Sono d'accordo con @psusi: il disco deve essere sostituito, vedere il mio commento nella risposta accettata. Fare una ntfsfixvolontà non aiuta affatto e ritarda semplicemente l'azione essenziale di:

  1. il backup di tutti i dati sul disco al più presto
  2. sostituendo il disco con uno nuovo

Non è davvero necessario controllare la diagnostica SMART: rilevano comunque solo una percentuale di errori. Le bandiere rosse sono le due linee:

[ 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

Non appena un disco inizia a generare errori di lettura (URE) irrecuperabili, deve essere sostituito immediatamente e utilizzato solo per il recupero dei dati. (Un livello eccessivo di non URE indica anche che è necessaria la sostituzione.)

I dischi devono essere visti come materiali di consumo che devono essere sostituiti ogni pochi anni, pertanto è fondamentale disporre di backup davvero validi (automatizzati, giornalieri, completi e almeno su un'unità esterna).


5

In Ubuntu 14.04 Basta provare questo

sudo ntfsfix /dev/sdXY

Dov'è la XYtua partizione. ( /dev/sda2nel tuo caso)


2

fscke le gpartedapp non possono essere utilizzate per risolvere un problema con una partizione NTFS. ntfsfixnon dovrebbe essere usato per provare a risolvere questo problema.

Gli strumenti di Windows dovrebbero essere normalmente utilizzati. Tuttavia, chkdsknon aiuta qui.

Potresti provare a utilizzare testdiskdal sistema operativo Ubuntu.

sudo apt-get update # aggiorna i database del software

sudo apt-get install testdisk # installa testdisk

sudo testdisk # avvia testdisk

Vai a http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step per assistenza nell'uso di questo strumento.


Potrebbe voler aggiungere che gli errori I / O di solito significano un'unità o una sezione morente. Esp. se NTFS è così corrotto non è possibile risolverlo con chkdisk o altri strumenti di Windows.
Thomas Ward

@ThomasWard hai assolutamente ragione ... Gli errori I / O di solito significano più problemi. "@karel" mi ha fatto aggiungere questo qui come seguito di un link che ha inserito in un'altra domanda ... quindi non ho letto tutti i dettagli qui ... e la domanda ha già una risposta accettata, con aggiornamenti.
heynnema,

1

Come hanno detto le altre risposte, in questo caso è probabilmente un disco danneggiato.

Ma a beneficio di altri che affrontano l'effettiva corruzione NTFS - sfortunatamente lo strumento ntfsfix è molto limitato rispetto al chkdsk di Microsoft. Prova ad avviare un'installazione di Windows, preferibilmente con la versione più recente di Windows poiché Microsoft presumibilmente migliora costantemente chkdsk (spero ..) Le versioni più recenti di Windows sono spesso disponibili gratuitamente come versioni di prova. Se il problema si trova in un disco USB, puoi provare a installare Windows in qualcosa come VirtualBox e dare il controllo VM al dispositivo USB.


1

Sfortunatamente gli strumenti gratuiti disponibili su Linux sono molto limitati per quanto riguarda il fissaggio delle partizioni NTFS.

Molto probabilmente è ancora possibile recuperare i dati utilizzando la MFT secondaria memorizzata alla fine del disco. Di solito non viene utilizzato, ma dovrebbe contenere una versione aggiornata della struttura della directory. È probabile che non sia stato influenzato dagli errori del disco.

In passato ho usato GetDataBack NTFS (commerciale, 79 $) di Runtime Software con grande successo. È uno dei pochi strumenti NTFS (l'unico?) Che funziona in WINE e come LiveCD Linux , e la demo gratuita dovrebbe essere sufficiente per vedere se i tuoi dati sono ancora lì. In tal caso, i tuoi dati potrebbero valere la pena acquistare lo strumento.

Il LiveCD esegue Knoppix Linux e ha tutti i suoi strumenti preinstallati. Tieni presente che avrai comunque bisogno di una chiave di licenza per utilizzare effettivamente gli strumenti, ma dovrebbe essere sufficiente per vedere se funziona sul tuo computer.

Disclaimer: non ho alcuna affiliazione con il software Runtime se non quello di aver acquistato il loro prodotto qualche anno fa.


+1 non perché ho esperienza con cosa c'è in questa risposta; lo scopo è sensibilizzare sulle alternative meno conosciute a cose come la Parted Magic.
Graham Perrin,

0

Questa risposta probabilmente funzionerà solo per 10.04 (lucido) e versioni successive di Ubuntu!

Prova sudo ntfsfix -b /dev/sda2.

  • È necessario installare ntfs-3gInstalla ntfsprogs . Se non lo possiedi, puoi installarlo nel Software Center facendo clic su quel link o dal Terminale ( Ctrl+ Alt+ T) eseguendo questi comandi:

    sudo apt-get update
    sudo apt-get install ntfs-3g
    

4
Perché usare NTFSProgs quando NTFS-3g è installato per impostazione predefinita? NTFSProgs è morto, poiché è stato completamente unito in NTFS-3g. Il passaggio al primo potrebbe causare più problemi di quanti ne risolva.
TSJNachos117,

1
NTFSProgs non fa più parte degli archivi del pacchetto dopo la 12.04 precisa.
kynan,

0

Ho appena avuto lo stesso problema su un USB NTFS da 3 TB. Grande dramma, come puoi immaginare.

Prima ho provato a ripararlo sulla scatola di Windows di mia moglie. Nessuna gioia.

sudo ntfsfix / dev / sdcx lo ha risolto molto rapidamente.

Evviva! Di nuovo in gioco. Deve davvero ottenere un nuovo disco e prontamente riformattarlo in un vero filesystem per adulti.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.