Comment puis-je désélectionner les clusters comme étant défectueux dans NTFS?
Contexte
J'ai couru par erreur
>chkdsk /R
sur mon SSD, où
/ R : localise les secteurs défectueux et récupère les informations lisibles (implique / F)
/ F : corrige les erreurs sur le disque
Et maintenant, j'ai un cluster marqué comme mauvais sur mon disque. J'ai besoin d'annuler ce cluster comme étant mauvais.
Remarque : chkdsk
a une option pour réévaluer un cluster et le retourner à utiliser:
/ B : NTFS uniquement: réévalue les clusters défectueux sur le volume (implique / R)
Malheureusement, cette option ne désélectionnera le cluster que s'il n'est plus mauvais. J'ai besoin que le cluster soit non marqué malgré tout.
Comment annuler le marquage d'un cluster NTFS comme mauvais?
Pourquoi fais-tu ça?
Peu importe pourquoi moi, et des centaines d'autres, posons la question. Mais le problème est qu'il y a un mauvais secteur sur mon disque. Il est temps de remplacer le lecteur par un nouveau. La façon de procéder consiste à mettre en miroir le SSD sur un autre SSD à l'aide de la mise en miroir du logiciel Windows .
Malheureusement, un bogue connu dans la mise en miroir Windows NTFS empêche le miroir de se terminer, comme indiqué dans KB325615 :
Impossible de créer un miroir logiciel si le disque contient des blocs défectueux
DMIO fonctionne sous le système de fichiers et s'il détecte des erreurs d'E / S lors de la lecture d'un secteur sur le disque source ou lors de la tentative d'écriture des données sur le disque de destination, il abandonne l'opération de mise en miroir.
La solution de contournement évidente était de réduire le volume du système d'exploitation, de sorte que le secteur défectueux soit passé la fin du volume. Dans Windows 7, lorsque vous tentez de réduire un volume, il déplacera automatiquement les fichiers.
C'est une bonne chose. Dans les temps anciens, si vous vouliez réduire un volume, vous deviez utiliser un outil de défragmentation qui pousserait tous les fichiers vers l'avant du lecteur; laissant un espace libre à la fin.
Malheureusement , il y a maintenant un inébranlables fichier de la façon suivante : $BadClus
. L' opération de défragmentation Shrink note le fichier inamovible dans le journal des événements:
Une analyse de réduction du volume a été lancée sur le volume OS (C :). Cette entrée du journal des événements détaille les informations sur le dernier fichier non amovible pouvant limiter le nombre maximal d'octets récupérables.
Détails de diagnostic:
- Le dernier fichier inamovible semble être: \ $ BadClus: $ Bad: $ DATA
- Le dernier cluster du fichier est: 0xdc1ded
- Rétrécir la cible potentielle (adresse LCN): 0xa91bd9
- Les drapeaux de fichiers NTFS sont: -S - D
- Phase de rétrécissement: <analyse>
Donc:
- Je ne peux pas refléter le volume tant que les mauvais secteurs ne sont pas supprimés
- la réduction du volume supprimera les secteurs défectueux
- je ne peux pas réduire le volume tant que le
$BadClus
fichier clairsemé n'est pas déplacé - je ne peux pas bouger
$BadClus
alors qu'il occupe physiquement de mauvaises grappes $BadClus
occupera physiquement les clusters défectueux tandis que NTFS pense que le cluster est mauvais
Comment annuler le marquage d'un cluster comme mauvais?
Pour les gens qui fantômes conduisent aussi
La solution à mon problème fonctionnerait également pour le cas le plus courant:
Quelqu'un fantôme un lecteur contenant des secteurs défectueux sur un nouveau lecteur, puis le bon lecteur a toujours ces clusters marqués comme mauvais, même s'ils sont bons. Il se trouve qu'ils ont une solution de contournement à leur disposition:
>chkdsk /B
Sauf que ça ne marche pas dans mon cas. (Et même si cela a fonctionné dans mon cas, ce n'est pas la question que je pose.)
Bonus Chatter
Bien sûr, le SSD Kingson ne gère pas de secteurs de rechange. Si c'était le cas, cela pourrait remapper le secteur de rechange de manière transparente pour moi, et je n'aurais pas NTFS essayant de trop penser.
SpinRite
j'ai essayé SpinRite'ing le lecteur SS. Il rencontre le secteur défectueux, mais ne parvient pas à obtenir de valeurs du lecteur:
══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183 │ data samples : 1,999 │ first uncertain bit : · · · · ·
sector : 17 │ unique samples : 0 │ last uncertain bit : · · · · ·
head : 187 │ discarded sples : 0 │ uncertain bit span : · · · · ·
Le nombre d' échantillons de données compte jusqu'à 2 000, puis revient à zéro et continue.
Après environ 20 boucles (soit 40 000 échantillons de données), j'ai abandonné.
Clonage
Encore; ne confondons pas la question avec l'exemple. La question est de savoir comment désélectionner les clusters comme étant défectueux dans NTFS. Bien après avoir abandonné et jeté le SSD, la question restera. Ne confondez pas mon problème avec la question. Cela ne signifie pas que je pourrais essayer de résoudre mon problème:
DriveImageXML atteint le secteur défectueux et abandonne.
GParted ne parvient pas à se charger. Un écran de démarrage graphique apparaît, puis une fenêtre de console fait défiler le texte, suivie d'un écran noir rien
Clonezilla refuse de cloner mon SSD:
Ce disque contient des partitions GPT et MGR incompatibles: / dev / sdb
Cela confondra Clonezill et pourrait rendre l'image enregistrée inutile ou échouer à cloner le disque.Veuillez corriger ce problème puis redémarrez Clonezilla à nouveau.
Programme terminé.
Comment puis-je désélectionner un cluster comme mauvais dans NTFS?
CreateFile
pour ouvrir le volume directement; mais j'ai réalisé que je devrais recommencer à zéro, en analysant toutes les structures de données non documentées. J'ai ouvert le volume directement pour l'édition dans mon éditeur hexadécimal préféré, mais j'avais le même inconvénient, devant analyser manuellement les structures hexadécimales.