Réparer une partition NTFS corrompue sans Windows


84

Ma partition NTFS a été corrompue d'une manière ou d'une autre (c'est une relique de l'époque où Windows était installé).

Capture d'écran GParted montrant différentes partitions

Je mets la sortie de débogage de fdisk et blkid ici .

En même temps, aucun système d'exploitation ne peut monter ma partition racine, située à côté de ma partition NTFS. Je ne sais pas si cela a quelque chose à voir avec cela, cependant. J'obtiens l'erreur suivante en essayant de monter ma partition racine (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

Lorsque j’ouvre gparted (avec un live CD), j’obtiens une exclamation à côté de mon lecteur NTFS qui indique Capture d'écran GParted montrant une erreur

Existe-t-il un moyen de fonctionner chkdsksans utiliser Windows?

Ma tentative d'exécution a les fsckrésultats suivants:

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>

Mise à jour: J'ai réussi à réparer la partition NTFS exécutant chkdsk à partir du BootCD de Hiren, mais il semble que le problème du superbloc persiste.

Mise à jour 2: Correction du problème de superbloc en utilisante2fsck -c /dev/sda5


1
Lien vers une question connexe: askubuntu.com/q/58755/31592
blong

Réponses:


106

Installez ntfs-3g avec sudo apt-get install ntfs-3g. Ensuite, exécutez la commande ntfsfix sur votre partition NTFS.

Par exemple:

ntfsfix /dev/hda6

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

Utilisation: ntfsfix [options] device

Attempt to fix an NTFS partition.

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

Adresse e-mail des développeurs:

linux-ntfs-dev@lists.sf.netPage d'accueil Linux NTFS: http://www.linux-ntfs.org


Pour les nouveaux Ubuntus, vous pouvez utiliser l’ option -bet -densemble. -btente de réparer les grappes défectueuses et -dde corriger les états incorrects . Donc, la commande peut être

sudo ntfsfix -b -d /dev/sda6

--help leur montre

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

Avez-vous des suggestions pour le problème des superblocs? J'ai corrigé la partition NTFS.
Nemo

5
Malheureusement, cette réponse n’est pas très utile. Le problème n’est pas de savoir comment corriger les structures du système de fichiers NTFS, mais bien d’erreurs de lecture irrémédiables au niveau du périphérique en mode bloc (sous NTFS). Cela signifie que (comme le dit déjà le psusi) "votre disque porte des toasts" - la seule option est d’acheter un nouveau disque dur et de le restaurer à partir d’une sauvegarde. Si vous n'avez pas de sauvegardes à jour, vous pouvez essayer d'utiliser GNU ddrescue ("apt-get install gddrescue") pour récupérer autant de données que possible dans un fichier image disque. Google pour la récupération de disque Ubuntu pour plus d'aide.
RichVel

3
@RolandTaylor: Je suis sûr que c'était censé être utile, mais dire à quelqu'un d'exécuter une vérification du système de fichiers quand il y a une erreur de lecture visible et irrécupérable dans les journaux ne va pas les aider. Ils pourraient peut-être réparer leur erreur temporairement, mais le matériel du disque est en train de tomber en panne et ntfix ne l’aide pas.
RichVel

5
Désolé, ce n'est pas correct. La première version de la question comprenait la ligne "sd 0: 0: 0: 0: [sda] Add. Sens: Erreur de lecture non récupérée - la réallocation automatique a échoué" dans les journaux - Erreur de lecture non récupérée (URE ) est ce qui indique que le lecteur est en panne. Si vous rencontrez des erreurs d’ écriture non récupérées , vous pouvez les utiliser pendant un moment (le lecteur remappe les blocs), mais les URE ne sont pas acceptables. Voir superuser.com/questions/114675/… pour une erreur similaire. Voir en.wikipedia.org/wiki/SMART#cite_note-labs.google.com-1 - Une énorme analyse de Google.
RichVel

1
Un autre bon lien sur le problème URE est cette réponse sur un autre site de Stack Exchange: unix.stackexchange.com/questions/1869/…
RichVel

14

Je viens de réparer mon lecteur USB en utilisant "testdisk", un utilitaire en ligne de commande Linux (pourtant convivial). Mon disque ne montait même pas sous Windows et Windows 8 découvert comme 6 partitions (alors que le disque n'en avait qu'une).

Pour utiliser l'utilitaire, installez-le:

sudo apt-get install testdisk

Puis lancez-le:

sudo testdisk

et suivez les instructions. Vous devez rechercher des partitions, puis écrire les modifications.

J'espère que cela aidera quelqu'un.


3
c'était génial..fixé une table de partition cassée sur mon disque dur externe! Je vous remercie! V
vellvisher

11

Juste pour effacer certains de vos points.

Ma tentative d’exécution de fsck a les résultats suivants:

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

...

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

Maintenant, ce n'est pas étonnant, car vous essayez de fsck le disque, pas sa partition. Ce que fsck fait, c’est essayer de reconnaître le type FS. Comme vous lui avez attribué une surface de disque brute, il ne parvient pas à se reconnaître et passe au type par défaut - ext, qui appelle fsck.ext.

fsck.ext ne trouve aucune signature FS dans l'emplacement et tente de trouver des superblocs. En fin de compte, il échoue, car son disque ne contient que le type de partition NTFS.

C'est pourquoi vous avez cette erreur.

La commande correcte serait:

sudo fsck /dev/sda1

Cela alimenterait la première partition du premier disque dur sata, pas le premier disque sata lui-même.


ce n'est peut-être pas la solution au problème des PO, mais ses informations sont en or pur. Merci beaucoup!
oliverjkb

es-tu sda1 ntfs?
Adi Prasetyo

5

Votre disque est toast. Vérifiez les diagnostics SMART dans l'utilitaire de disque pour confirmer. il faut dire que vous avez une tonne de secteurs défectueux et que vous devez remplacer le lecteur.


5

Je suis d'accord avec @psusi: le disque doit être remplacé, voir mon commentaire sous Réponse acceptée. Faire une ntfsfixvolonté ne va pas aider du tout, et ne fait que retarder l'action essentielle de:

  1. sauvegarder toutes les données sur le disque dès que possible
  2. remplacer le disque par un nouveau

Il n'est pas vraiment nécessaire de vérifier les diagnostics SMART - ils ne détectent qu'un pourcentage d'erreurs de toute façon. Les drapeaux rouges sont les deux lignes:

[ 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

Dès qu'un disque commence à donner des erreurs de lecture irrécupérables (URE), il doit être remplacé immédiatement et utilisé uniquement pour la récupération de données. (Un niveau excessif de non-URE indique également qu'un remplacement est nécessaire.)

Les disques doivent être considérés comme des consommables qui doivent être remplacés toutes les quelques années. Il est donc essentiel de disposer de véritables sauvegardes (automatisées, quotidiennes, complètes et au moins sur un disque externe).


5

Dans Ubuntu 14.04 Essayez ceci

sudo ntfsfix /dev/sdXY

XYest votre partition. ( /dev/sda2dans votre cas)


2

fscket les gpartedapplications ne peuvent pas être utilisées pour résoudre un problème avec une partition ntfs. ntfsfixne devrait pas être utilisé pour essayer de résoudre ce problème.

Les outils Windows doivent normalement être utilisés. Cependant, chkdskne aide pas ici.

Vous pouvez essayer d'utiliser testdiskle système d'exploitation Ubuntu.

sudo apt-get update # mettre à jour les bases de données logicielles

sudo apt-get install testdisk # installer testdisk

sudo testdisk # démarrer testdisk

Allez sur http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step pour obtenir de l'aide sur l'utilisation de cet outil.


Vous voudrez peut-être ajouter que les erreurs d'E / S signifient généralement un lecteur ou une section de lecteur en train de mourir. Esp. si NTFS est tellement corrompu, vous ne pouvez pas le réparer avec chkdisk ou tout autre outil Windows.
Thomas Ward

@ThomasWard vous avez absolument raison ... Les erreurs d'E / S signifient généralement plus de problèmes. "@karel" m'a demandé d'ajouter ceci ici pour faire suite à un lien qu'il a placé dans une autre question ... alors je n'ai pas lu tous les détails ici ... et la question a déjà une réponse acceptée, avec des mises à jour.
heynnema

1

Comme les autres réponses l'ont dit, dans ce cas, c'est probablement un mauvais disque.

Mais pour le bénéfice des autres personnes confrontées à la corruption NTFS, l’outil ntfsfix est malheureusement très limité par rapport au chkdsk de Microsoft. Essayez de lancer une installation de Windows - de préférence avec la version la plus récente de Windows, car Microsoft améliore sans cesse chkdsk (j'espère ..). Les versions les plus récentes de Windows sont souvent disponibles gratuitement à titre d'essai. Si le problème provient d'un disque USB, vous pouvez essayer d'installer Windows dans quelque chose comme VirtualBox et donner à la VM le contrôle du périphérique USB.


1

Malheureusement, les outils gratuits disponibles sur Linux sont très limités en ce qui concerne la réparation des partitions NTFS.

Très probablement, vous pouvez toujours récupérer vos données en utilisant la MFT secondaire stockée à la fin du disque. Il n'est généralement pas utilisé, mais il devrait contenir une version à jour de votre structure de répertoires. Il y a de bonnes chances que les erreurs de disque ne l'aient pas affecté.

Auparavant, j’utilisais le produit GetDataBack NTFS (commercial, 79 $) de Runtime Software avec beaucoup de succès. C'est l'un des rares outils NTFS (le seul?) Qui s'exécute dans WINE et en tant que LiveCD Linux , et la démo gratuite devrait suffire à vérifier si vos données sont toujours présentes. Si c'est le cas, vos données pourraient bien valoir la peine d'acheter l'outil.

Le LiveCD exécute Knoppix Linux et tous ses outils sont préinstallés. Notez que vous aurez toujours besoin d'une clé de licence pour utiliser les outils, mais cela devrait être suffisant pour voir si cela fonctionne sur votre ordinateur.

Clause de non-responsabilité: Je n'ai aucune affiliation avec le logiciel Runtime si ce n'est que j'ai acheté leur produit il y a quelques années.


+1 pas parce que j'ai l'expérience de ce qui est dans cette réponse; Le but est de sensibiliser le public à des solutions de remplacement moins connues que la Parted Magic.
Graham Perrin

0

Cette réponse ne fonctionnera probablement que pour les versions 10.04 (lucide) et ultérieures d'Ubuntu!

Essayez sudo ntfsfix -b /dev/sda2.

  • Vous devez installer ntfs-3gInstaller ntfsprogs . Si vous ne l' avez pas, vous pouvez l' installer dans le Software Center en cliquant sur ce lien, ou à partir du terminal ( Ctrl+ Alt+ T) en exécutant les commandes suivantes:

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

4
Pourquoi utiliser NTFSProgs lorsque NTFS-3g est installé par défaut? NTFSProgs est mort, car il a été complètement fusionné dans NTFS-3g. Passer à l'ancien peut causer plus de problèmes qu'il n'en résout.
TSJNachos117

1
NTFSProgs ne fait plus partie des archives de paquets après 12.04 précises.
Kynan

0

Je viens d'avoir le même problème sur un 3 NT NTFS USB. Grand drame, comme vous pouvez l'imaginer.

J'ai d'abord essayé de résoudre le problème sur la machine Windows de ma femme. Pas de joie.

sudo ntfsfix / dev / sdcx a très vite résolu le problème .

Hourra! Retour aux affaires. Il faut vraiment obtenir un nouveau disque et le reformater rapidement en un système de fichiers adulte adéquat.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.