Инструмент Microsoft DISKEDIT.EXE является низкоуровневым инструментом для непосредственного чтения и записи необработанных данных на диск. Вы должны иметь возможность загрузить кластер, содержащий запись каталога для этого файла и просто изменить оскорбительный символ ‘?’ на что-то безобидное и записать его обратно на диск.
Насколько я понимаю, инструмент Microsoft diskedit (а не одноименная утилита Norton Utilities, которая предназначена только для томов FAT) последний раз был замечен в Windows 2000 SP4. Но есть ссылка на него, которую можно найти здесь .
Чтобы найти нужный кластер, вы можете скачать пробную версию DiskExplorer for NTFS .
Вы начнете с File->Drive… чтобы открыть диск, содержащий этот плохой файл. Выберите Goto->Root Directory, чтобы получить вид каталога. Перейдите в каталог, содержащий ваш плохой файл, используя ссылки MFT#. Когда вы туда доберетесь, в верхней части окна будет написано что-то вроде “MFT# x12345 DIR: ‘dirname’, …bla bla bla… начиная с кластера x9302AE ,… bla bla bla”
Теперь перейдите к диску Microsoft Diskedit. Сначала сделайте File->Open… и укажите Имя тома C: (если файл находится на вашем диске C:). Оставьте имя файла тома пустым. Возьмите этот стартовый номер кластера и введите его в поле Diskedit под Read->NTFS Clusters…->Запуск кластера (введите его в виде шестнадцатеричного номера).
Теперь используйте клавиши со стрелками для прокрутки вниз до плохого имени файла. Оно в юникоде, поэтому вы будете искать что-то вроде “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.”. Наведите курсор на плохой символ “3F” и напечатайте что-нибудь безопасное, например, 5F (‘_’). Выберите Write->Записать на диск.
Есть еще одно место для удара (не уверен, нужно ли одно или оба). Теперь, вернувшись в DiskExplorer, кликните на Mft# для плохого файла. Вы получите экран с древовидной штукой слева, на которой написано “структуры”. Щелкните на “Атрибуты” в дереве. Появится список атрибутов, одним из которых будет нечто вроде $30 … $FILE_NAME. Итак, у $30 есть имя файла. Щелкните по узлу “Тело” под узлом $30 в дереве структур. Выберите меню View->as Hex. Через несколько строк вниз снова должно появиться имя файла W.h.e.e.r.e. .H.a.v.e… и т.д. В левой части экрана вы увидите столбец “Сектор”, в котором указано, на какой сектор диска вы смотрите.
Назад по диску. Сделайте Read->Sectors… и введите номер сектора из DiskExplorer. Как и прежде, прокрутите вниз и замените символ “3F” на тот же символ, что и выше. Выберите Write->Записать на диск.
Я все это сделал, и инструменты говорят мне, что я изменил символ, а вот Explorer - нет. Каталог должен быть где-то кэширован. После перезагрузки изменение становится видимым.