¿Cómo desmarcar un clúster NTFS como malo?


14

¿Cómo desmarco los clústeres como malos en NTFS?

Antecedentes

Corrí por error

>chkdsk /R

en mi SSD, donde

/ R : localiza sectores defectuosos y recupera información legible (implica / F)
/ F : corrige errores en el disco

Y ahora tengo un clúster marcado como malo en mi disco. Necesito desmarcar ese clúster como malo.

Nota : chkdsktiene una opción para reevaluar un clúster y volver a usarlo:

/ B : solo NTFS: reevalúa los clústeres defectuosos en el volumen (implica / R)

Desafortunadamente, esa opción solo desmarcará el clúster si ya no es malo. Necesito que el clúster no esté marcado, independientemente.

¿Cómo desmarco un clúster NTFS como malo?

¿Por qué estás haciendo esto?

No importa por qué yo, y cientos de otros, hacemos la pregunta. Pero el problema es que hay un sector defectuoso en mi disco. Es hora de reemplazar el disco por uno nuevo. La forma de hacerlo es duplicar el SSD en otro SSD utilizando el reflejo del software de Windows .

Desafortunadamente, un error conocido en la duplicación de Windows NTFS impide que se complete la duplicación, como se documenta en KB325615 :

No se puede crear software espejo si el disco contiene bloques defectuosos

DMIO funciona debajo del sistema de archivos, y si encuentra errores de E / S mientras lee desde un sector en el disco de origen o cuando intenta escribir los datos en el disco de destino, aborta la operación de duplicación.

La solución obvia era reducir el volumen del sistema operativo, de modo que el sector defectuoso haya pasado el final del volumen. En Windows 7, cuando intenta reducir un volumen, automáticamente moverá los archivos fuera del camino.

ingrese la descripción de la imagen aquí

Ésto es una cosa buena. En los viejos tiempos, si deseaba reducir un volumen, tenía que usar una herramienta de desfragmentación que empujaría todos los archivos hacia la parte frontal de la unidad; dejando un espacio flojo al final.

Desafortunadamente en la actualidad es un inamovible archivo en el camino: $BadClus. La operación de desfragmentación de contracción toma nota del archivo inamovible en el registro de eventos:

Se inició un análisis de reducción de volumen en OS de volumen (C :). Esta entrada del registro de eventos detalla información sobre el último archivo inamovible que podría limitar el número máximo de bytes recuperables.

Detalles de diagnóstico:

  • El último archivo inamovible parece ser: \ $ BadClus: $ Bad: $ DATA
  • El último clúster del archivo es: 0xdc1ded
  • Objetivo potencial de contracción (dirección LCN): 0xa91bd9
  • Los indicadores del archivo NTFS son: -S - D
  • Fase de contracción: <análisis>

Entonces:

  • no puedo reflejar el volumen hasta que se eliminen los sectores defectuosos
  • reducir el volumen eliminará los sectores defectuosos
  • No puedo reducir el volumen hasta $BadClusque se mueva el archivo disperso
  • no puedo moverme $BadClusmientras ocupa físicamente grupos malos
  • $BadClus ocupará físicamente clústeres malos mientras que NTFS piensa que el clúster es malo

¿Cómo desmarco un clúster como malo?

Para las personas que también usan discos fantasmas

La solución para mi problema también funcionaría para el caso más común:

Alguien convierte una unidad que contiene sectores defectuosos en una unidad nueva, y luego la unidad buena todavía tiene esos clústeres marcados como defectuosos, a pesar de que son buenos. Sucede que tienen una solución disponible para ellos:

>chkdsk /B

Excepto que eso no funciona en mi caso. (E incluso si funcionó en mi caso, no es la pregunta que estoy haciendo).

Chatter de bonificación

Por supuesto, el SSD de Kingson no mantiene sectores libres. Si lo hiciera, podría reasignar de manera transparente el sector de repuesto para mí, y no tendría que NTFS intentara pensar demasiado.

SpinRite

Intenté SpinRite'ing el disco SS. Se encuentra con el sector defectuoso, pero no puede obtener ningún valor de la unidad:

══════════════════╤═══════════════════════════╤═════════════════════════════════
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 : · · · · ·

El número de muestras de datos cuenta hasta 2,000, luego vuelve a cero y continúa.

ingrese la descripción de la imagen aquí

Después de unos 20 bucles (es decir, 40,000 muestras de datos) me di por vencido.

Clonación

De nuevo; No confundamos la pregunta con el ejemplo. La pregunta es cómo desmarcar clústeres como malos en NTFS. Mucho después de que me doy por vencido y desecho el SSD, la pregunta seguirá pendiente. No confundas mi problema con la pregunta. Eso no significa que pueda tratar de resolver mi problema:

DriveImageXML llega al sector defectuoso y aborta.

GParted no se carga. Aparece una pantalla gráfica de arranque, luego una ventana de consola desplaza el texto, seguido de la pantalla negra.

Clonezilla se niega a clonar mi SSD:

Este disco contiene particiones GPT y MGR no coincidentes: / dev / sdb Confundirá
a Clonezill y puede hacer que la imagen guardada sea inútil o no clone el disco.

Por favor, solucione este problema y luego reinicie Clonezilla nuevamente.
Programa terminado.

ingrese la descripción de la imagen aquí

¿Cómo desmarco un clúster como malo en NTFS?


¿Desea una solución de Windows o estaría bien usar Linux?
Thomas Weller

2
@ThomasW. no me importa una herramienta de autoarranque; usando cualquier sistema operativo que le guste. Por supuesto, preferiría una herramienta GUI. Me cansé de usar líneas de comando en 1990. Empecé a buscar CreateFilepara abrir el volumen directamente; pero me di cuenta de que tendría que comenzar desde cero, analizando todas las estructuras de datos indocumentadas. Abrí el volumen directamente para editarlo en mi editor hexadecimal favorito, pero tenía el mismo inconveniente, ya que tenía que analizar manualmente las estructuras hexadecimales.
Ian Boyd

@ThomasW. ¿Por qué incluso preguntar si no puede responder cómo solucionarlo en Linux? si todo lo que quieres decir es que si arreglarlo desde un CD de Linux Live está bien, entonces no sabes cómo, pero debería agregar una etiqueta de Linux.
barlop

Si está utilizando MBR para la partición del disco, sgdisk -z / dev / sdb borrará el GPT y el clonezilla lo copiará. backup-utility.com/articles/…
cybernard

Respuestas:


7

Contestaré la pregunta del título nada más. 1

Primero, tenga en cuenta que, si el sector es realmente malo, desmarcarlo no lo hará legible. Por lo tanto, es probable que su software de clonación se ahogue al leerlo.

En NTFS, un clúster se marca como malo asignándolo a una secuencia especial$BadClus:$Bad , un archivo disperso.

Lo que necesitas es

  • edite su lista de ejecución para eliminar los bloques asignados correspondientes
  • marque los grupos correspondientes como libres en $Bitmap.

  • Para desmarcar todos los bloques defectuosos, hay ntfsfix -b -d( -b= borrar la lista de bloques defectuosos, -d= borrar / no establecer el indicador "sucio") ( otro método conntfstruncate hace exactamente lo mismo 2 ).

    • Se podría introducir inconsistencias menores en metadatos (en mi caso, unos índices aparentemente se hicieron sin ordenar), no estoy seguro de por qué, así que o correr chkdsk -fcon la mano u omitir -da los activa en el arranque de Windows si / en caso de que se FS errores.
  • Eliminar un bloque específico es mucho más difícil ya que no encontré ningún software existente que pueda hacer esto de forma inmediata 3 . Resolución de sectores defectuosos de NTFS: el metarchivo $ BadClus: el código de Katy describe el camino, básicamente, está editando la lista de ejecución y el mapa de bits a mano.


1 Solo porque manejar sectores defectuosos + NTFS + clonación es un tema demasiado amplio. Con mucho gusto responderé a aquellos directamente relacionados con el asunto en cuestión.
2 comprobó el código fuente de ntfsfix v2015.3.14.
3 para los más insistentes, éstos no pueden hacerlo: ntfscat(no se puede leer sectores ilegibles), ntfscp(no se puede escribir en offset), ntfstruncate, ntfsfallocate, dd(no se puede abrir $BadClus:$Badpara la escritura)


Esto debe seleccionarse como Mejor respuesta.
Hashim

1

Tenía un disco duro que desarrollaba algunos clústeres malos. Lo reemplacé con un buen disco conocido. El proceso de restauración restauró los datos del clúster incorrecto, así como los otros datos. Esto estaba en una computadora con Windows 7 Enterprise.

Mi solución fue ejecutar "chkdsk d: / b" (como se sugirió anteriormente). / B le dice (solo para NTFS) que vuelva a escanear clústeres defectuosos previamente marcados. Al menos en mi caso (y sospecharía que todas las versiones que admiten / b), borra la lista de clústeres defectuosos inmediatamente antes de comenzar el análisis de lectura. Una vez que vea el mensaje "Eliminando clústeres X del archivo de clústeres defectuosos", debería poder matar el proceso chkdsk (ya que solo está leyendo datos).

Nota: existe la posibilidad de que chkdsk actualice el archivo de clústeres defectuosos en el instante en que finaliza el proceso si encuentra un sector defectuoso al comienzo de la unidad. Me arriesgué y restableció con éxito el archivo de clústeres defectuosos sin la necesidad de descargar un montón de otros programas que requieren un chkdsk completo después de todos modos. YMMV.


Esto realmente funcionó. Después del paso 2, simplemente cierra la cmdventana. Luego ejecute chkdsk d: /flo que dirá CHKDSK discovered free space marked as allocated in the volume bitmap.y siguiendo Windows has made corrections to the file system..
Davor Josipovic el

0

Primero, la mejor manera de hacerlo es clonar el disco. Luego úselo chkdsk /Ben la nueva unidad de trabajo.

Ahora, en cuanto a desmarcar un sector realmente malo que es complicado. Podrías usar:

  • SpinRite , o
  • mhdd (encienda la reasignación)

Cualquiera de los productos debería reasignar el sector defectuoso y luego CHKDSK / B debería desmarcarlo.

Descargar gparted o partedmagic ISO. Arranca desde allí y encoge la partición.

Esto va a trabajar porque las ventanas no se está ejecutando por lo que este software de reducir la partición no importa qué. Luego chkdsk /Bse encargará del resto.

Si todo esto falla, ahora te encontrarás con un feo camino de dolor. Necesita obtener un editor de sector y editar manualmente el sistema de archivos. Desafortunadamente, está más allá del alcance de mi conocimiento para NTFS. Para FAT o FAT32 es súper simple.


Como SSD, no hay sectores de repuesto para reasignar. Es por eso que la unidad SMART continúa observando un Pending Sector Countcero y un Reallocated Sector Countcero.
Ian Boyd

Katy Coe tiene un excelente blog que comienza a profundizar en las entrañas de NTFS. Pero mis ojos se llenaron de lágrimas cuando tuve que comenzar a calcular las compensaciones, los números de clúster lógico, los números de clúster virtual y el hecho de que $ BadClus es un archivo de repuesto que en realidad es del tamaño de todo el volumen. Seguramente destruiría mi disco (en funcionamiento).
Ian Boyd

2
En realidad, un SSD tiene toneladas de sectores de repuesto. De hecho, un ssd de 120 gb probablemente tenga hasta 8 gb de sectores de repuesto. No sé por qué su unidad no se reasignó automáticamente. Use gparted y reduzca la partición.
cybernard

Es muy posible que se trate de una unidad Kingston de 64 GB antigua, ahora descontinuada, ahora no compatible. O tal vez es solo un error en el firmware de la unidad donde olvidaron implementar la reasignación del sector.
Ian Boyd

Además, la clonación de unidades falla cuando se encuentran con el sector defectuoso (al menos lo hizo DriveImageXML ).
Ian Boyd

0

Como está intentando duplicar su disco (y parece que está utilizando Windows 7), hay otro enfoque:

Use la herramienta integrada para crear una copia de seguridad que se restaurará en un buen disco. Vaya a Panel de control, Sistema y seguridad, Copia de seguridad. Allí, cree una imagen del sistema y también un disco de reparación del sistema.

Después de eso, puede reemplazar el viejo disco defectuoso por uno bueno, luego restaurar el sistema a su estado utilizando el disco de reparación del sistema y la copia de seguridad realizada.


0

el paquete gddrescue (gddrescue - herramienta de recuperación de datos GNU) debería hacer el trabajo por usted.

Tome una distribución independiente basada en Debian (CD o memoria USB) instale gddrescue con "sudo apt-get install gddrescue", luego clone el SSd abriendo una ventana de terminal y emitiendo:

ddrescue -f / dev / sda / dev / sdb ./ddrescue.log

(donde / dev / sda es la fuente y / dev / sdb es el SSD de destino)

ddrescue intentará recuperar el bloque defectuoso y si no puede omitirlo.

Cuando termine chkdsk / f / b debería completar el trabajo.


0

Parece que su objetivo es reducir el tamaño de la partición, y que Windows no lo reducirá debido al archivo $ BadClus, que existe debido a clústeres defectuosos.

Tengo una solución alternativa para usted que debería reducir el tamaño del disco sin tener que lidiar directamente con el archivo $ BadClus. Use el Asistente de partición para reducir la partición. Partition Wizard es fácil de usar, es gratuito para uso no comercial, puede ejecutarse desde el interior de Windows con una GUI, o desde un CD o arranque USB que ejecuta un pequeño Linux y luego le ofrece la misma GUI. Este programa también puede recuperar particiones borradas y convertir entre tablas de particiones MBR y GPT.

Me he encontrado con problemas con Windows al no reducir una partición más allá de cierto punto, luego intentaré Partition Wizard en la misma partición que lo hace sin ningún problema. Supongo que el Partition Wizard está dispuesto a ignorar el archivo $ BadClus. He estado usando este programa durante más de 8 años y finalmente compré la versión Pro, porque se lo ganaron. Encontré este programa como un reemplazo para PQMagic que compré en 1996, que era un fabuloso programa de partición de DOS para unidades más pequeñas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.