Lo strumento Microsoft DISKEDIT.EXE è uno strumento di basso livello per leggere e scrivere direttamente dati grezzi su disco. Dovreste essere in grado di caricare il cluster che contiene la voce della directory per questo file e semplicemente cambiare il carattere ‘?’ incriminato con qualcosa di innocuo e riscriverlo sul disco.
Mi risulta che lo strumento Microsoft diskedit (non lo strumento Norton Utilities con lo stesso nome, che è solo per volumi FAT) sia stato visto per l'ultima volta in Windows 2000 SP4. Ma c'è un link ad esso che può essere trovato qui .
Per individuare il cluster giusto, puoi scaricare una versione di prova di DiskExplorer for NTFS .
Dovresti iniziare con File->Drive… per aprire l'unità che contiene questo file difettoso. Selezionate Goto->Root Directory per ottenere una vista della directory. Naviga fino alla directory che contiene il tuo file difettoso usando i collegamenti MFT#. Quando ci arrivate, la parte superiore della finestra dirà qualcosa come, “MFT# x12345 DIR: ‘dirname’, …blah blah blah… a partire dal cluster x9302AE ,… blah blah blah”
Ora passate a Microsoft diskedit. Prima fai File->Apri… e specifica Volume Name C: (se il file è sul tuo drive C:). Lasciate vuoto il Volume File Name. Prendi il numero del cluster di partenza e inseriscilo in diskedit sotto Read->NTFS Clusters…->Starting Cluster (inseriscilo come numero esadecimale).
Ora usa le tue frecce per scorrere verso il basso fino al nome del file sbagliato. È in unicode, quindi dovrai cercare qualcosa come “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.?..o.g.g.” Posiziona il tuo cursore sul brutto carattere “3F” e scrivi qualcosa di sicuro, come 5F (‘_’). Scegliete Write->It per scriverlo di nuovo sul disco.
C'è un altro punto da colpire (non sono sicuro se uno o entrambi siano necessari). Ora, di nuovo in DiskExplorer, clicca sull'Mft# per il file cattivo. Otterrai una schermata con un albero sulla sinistra che dice “strutture”. Clicca su “Attributi” nell'albero. Ti mostrerà una lista di attributi, uno dei quali sarà qualcosa come $30 … $FILE_NAME. Quindi, $30 ha il nome del file. Cliccate sul nodo Body sotto il nodo $30 nell'albero Structures. Selezionate il menu View->as Hex. Diverse righe più in basso, dovresti vedere il nome del file di nuovo W.h.e.r.e. .H.a.v.e… ecc. Sul lato sinistro dello schermo, vedrai la colonna Settore, che mostra quale settore del disco stai guardando.
Torniamo al diskedit. Fai Lettura>Settori… e inserisci il numero del settore da DiskExplorer. Come prima, scorri in basso e sostituisci il carattere “3F” con lo stesso carattere che hai fatto sopra. Scegliete Write->It per scriverlo sul disco.
Ho fatto tutto questo, e gli strumenti mi dicono che ho cambiato il carattere, ma explorer no. La directory deve essere memorizzata nella cache da qualche parte. Dopo un riavvio, il cambiamento diventa visibile.