La herramienta de Microsoft DISKEDIT.EXE es una herramienta de bajo nivel para leer y escribir directamente datos en bruto del disco. Debería poder cargar el cluster que contiene la entrada de directorio para este archivo y simplemente cambiar el carácter ‘?’ ofensivo por algo inocuo y escribirlo de nuevo en el disco.
Tengo entendido que la herramienta diskedit de Microsoft (no la herramienta Norton Utilities del mismo nombre, que es sólo para volúmenes FAT) fue vista por última vez en Windows 2000 SP4. Pero hay un enlace a ella que se puede encontrar aquí .
Para localizar el cluster adecuado, puedes descargar una versión de prueba de DiskExplorer for NTFS .
Empezarías con Archivo-\NDrive… para abrir la unidad que contiene este archivo defectuoso. Seleccione Goto->Directorio raíz para obtener una vista de directorio. Navegue hasta el directorio que contiene su archivo defectuoso utilizando los enlaces MFT#. Cuando llegue allí, la parte superior de la ventana dirá algo como: “MFT# x12345 DIR: ‘dirname’, …blah blah blah… comenzando en el cluster x9302AE ,… blah blah”
Ahora pase a Microsoft diskedit. Primero haz File->Open… y especifica Volume Name C: (si el archivo está en tu unidad C:). Deje en blanco el Nombre de archivo del volumen. Tome ese número de clúster inicial e introdúzcalo en diskedit en Leer->Clústeres NTFS…->Clúster inicial (introdúzcalo como un número hexadecimal).
Ahora use sus teclas de flecha para desplazarse hacia abajo hasta el nombre de archivo malo. Está en unicode, así que buscarás algo como “W.h.e.r.e. .H.a.v.e. .A.l.l. .t.h.e. .C.o.w.b.o.y.s. .G.o.n.e.? Coloca el cursor sobre el carácter "3F” malo y escribe algo seguro, como 5F (‘_’). Elija Write->It para escribirlo de nuevo en el disco.
Hay otro punto a golpear (no estoy seguro si uno o ambos son necesarios). Ahora, de vuelta en DiskExplorer, haga clic en el Mft# para el archivo malo. Obtendrá una pantalla con una cosa de árbol a la izquierda que dice “estructuras”. Haz clic en “Atributos” en el árbol. Te mostrará una lista de atributos, uno de los cuales será algo así como $30 … $FILE_NAME. Así, $30 tiene el nombre del archivo. Haga clic en el nodo Cuerpo bajo el nodo $30 en el árbol de Estructuras. Seleccione el menú Ver-\N-como-Hex. Varias líneas más abajo, debería ver el nombre del archivo de nuevo W.h.e.r.e. .H.a.v.e… etc. En la parte izquierda de la pantalla, verás la columna Sector, que muestra el sector del disco que estás viendo.
Vuelve sobre el diskedit. Haz Lectura-\N>Sectores… e introduce el número de sector desde DiskExplorer. Al igual que antes, desplázate hacia abajo y sustituye el carácter “3F” por el mismo carácter que hiciste anteriormente. Elija Write->It para escribirlo en el disco.
Hice todo esto, y las herramientas me dicen que he cambiado el carácter, pero el explorador no lo hace. El directorio debe estar almacenado en algún lugar. Después de un reinicio, el cambio se hace visible.