¿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 : chkdsk
tiene 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.
É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
$BadClus
que se mueva el archivo disperso - no puedo moverme
$BadClus
mientras 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.
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.
¿Cómo desmarco un clúster como malo en NTFS?
CreateFile
para 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.Respuestas:
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
$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 ).chkdsk -f
con la mano u omitir-d
a 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:$Bad
para la escritura)fuente
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.
fuente
cmd
ventana. Luego ejecutechkdsk d: /f
lo que diráCHKDSK discovered free space marked as allocated in the volume bitmap.
y siguiendoWindows has made corrections to the file system.
.Primero, la mejor manera de hacerlo es clonar el disco. Luego úselo
chkdsk /B
en la nueva unidad de trabajo.Ahora, en cuanto a desmarcar un sector realmente malo que es complicado. Podrías usar:
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 /B
se 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.
fuente
Pending Sector Count
cero y unReallocated Sector Count
cero.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.
fuente
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.
fuente
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.
fuente