Narzędzie Microsoftu DISKEDIT.EXE jest niskopoziomowym narzędziem do bezpośredniego odczytu i zapisu surowych danych na dysku. Powinieneś być w stanie załadować klaster zawierający wpis do katalogu dla tego pliku i po prostu zmienić obraźliwy znak ‘?’ na coś nieszkodliwego i zapisać go z powrotem na dysk.
Według mnie narzędzie Microsoft diskedit (nie narzędzie Norton Utilities o tej samej nazwie, które jest przeznaczone tylko dla woluminów FAT) było ostatnio widziane w Windows 2000 SP4. Ale jest do niego link, który można znaleźć tutaj .
Aby zlokalizować właściwy klaster, możesz pobrać wersję próbną DiskExplorer for NTFS .
Zacznij od File->Drive…, aby otworzyć dysk zawierający ten uszkodzony plik. Wybierz Goto->Root Directory, aby uzyskać widok katalogu. Przejdź do katalogu zawierającego uszkodzony plik, używając linków MFT#. Gdy tam dotrzesz, w górnej części okna pojawi się następujący komunikat: “MFT# x12345 DIR: ‘dirname’, …bla bla bla… starting at cluster x9302AE ,… bla bla bla”
Teraz przejdź do programu Microsoft diskedit. Najpierw wykonaj File->Open… i podaj Volume Name C: (jeśli plik znajduje się na dysku C:). Pozostaw nazwę pliku woluminu pustą. Weź numer klastra startowego i wpisz go w diskedit w Read->NTFS Clusters…->Starting Cluster (wpisz go jako liczbę szesnastkową).
Teraz użyj klawiszy strzałek, aby przewinąć w dół do złej nazwy pliku. Jest ona w unicode, więc będziesz szukał czegoś w stylu “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.”. Ustaw kursor nad złym znakiem “3F” i wpisz coś bezpiecznego, np. 5F (‘_’). Wybierz Write->It, aby zapisać go z powrotem na dysku.
Jest jeszcze jedno miejsce, w które należy uderzyć (nie jestem pewien, czy jedno czy oba są potrzebne). Teraz, z powrotem w DiskExplorer, kliknij na Mft# dla uszkodzonego pliku. Pojawi się ekran z drzewem po lewej stronie, które mówi “struktury”. Kliknij na “Attributes” w drzewie. Wyświetli się lista atrybutów, z których jeden będzie wyglądał jak $30 … $FILE_NAME. Tak więc, $30 ma nazwę pliku. Kliknij na węzeł Body pod węzłem $30 w drzewie Structures. Wybierz menu View->as Hex. Kilka linii niżej, powinieneś zobaczyć nazwę pliku ponownie W.h.e.r.e. .H.a.v.e… itd. Po lewej stronie ekranu zobaczysz kolumnę Sektor, która pokazuje, na który sektor dysku patrzysz.
Wróć do diskedita. Wykonaj Read->Sectors… i wprowadź numer sektora z DiskExplorera. Tak jak poprzednio, przewiń w dół i zastąp znak “3F” tym samym znakiem, co powyżej. Wybierz Write->It, aby zapisać go na dysku.
Zrobiłem to wszystko i narzędzia mówią mi, że zmieniłem znak, ale explorer nie. Katalog musi być gdzieś zbuforowany. Po ponownym uruchomieniu komputera zmiana staje się widoczna.