Пометить удаленные файлы как восстановленные

емкость жесткого диска составляет 500 Гб. 150 ГБ данных были удалены случайно. Я не записывал байт на диск после этого инцидента, поэтому мои данные гарантированно будут там. Я пробовал такие приложения, как Recuva, все приложения показывают, что данные есть, и позволяют мне сохранять данные в другом месте, но проблема в том, что я не хочу этого делать.

Я просто хочу, чтобы файлы снова помечены как не удаленные в MFT. Есть ли приложение для этой цели? Я много искал, но ничего не нашел, Можно ли удалить файлы как удаленные в MFT или я что-то пропустил? Я мог бы написать приложение для этого, если бы знал, как это сделать вручную.

2 ответа:

восстановление файлов на NTFS объем не так просто, как листать один бит. Это правда, что разница между удаленным и не удаленным файлом только один бит в MFT, но нужно также восстановить содержимое файла, которые хранятся в виде потоков, а также повторно пометить удаленные сектора, как используется в $ Bitmap псевдо-файл, который содержит один бит на сектор, каждый бит указывает, используется ли соответствующий кластер (выделен) или свободен (доступен для распределение.)

сложность задания такова, что все средства восстановления предпочитают не писать поврежденный объем. Например, маркировка сектора в $ Bitmap может привести к перекрестной цепочке если этот сектор уже использовался другим файлом.

эта статья очень хорошо продемонстрировала проблему с шестнадцатеричными дампами:
Windows "восстановление файлов" серия: Часть 5 вручную восстановить удаленный файл из файловой системы NTFS.

еще одна статья даже содержит исходный код программы, которую можно изменить чтобы открепить" удаленный " бит : восстановить файл в NTFS.

существует довольно много редакторов дисков NTFS, которые могут редактировать MFT, чтобы перевернуть этот бит. Некоторые, которые я нашел через Google (но, к счастью, никогда не нужно использовать) являются:
WinHex
NTFS Data Recovery Toolkit
DMDE
Бесплатный Редактор Активных Дисков

возможный решение, которое может даже работать, было бы отменить удаленный бит в MFT, затем используйте утилиту chkdsk, чтобы попытаться восстановить содержимое. Эта утилита может восстановить сектора-цепочки файлов, чьи сектора были ошибочно помечены как доступно для перераспределения и исправит $ Bitmap.

всегда есть шанс, что эта процедура может уничтожить ваш компьютер.

вот почему вы и все комментаторы выше (включая меня) не нашли продукт, который делает восстановление на месте. Возможности для завинчивания диска просто слишком много для тех, кто не является сотрудником Microsoft, работающим на NTFS.

мои самые лучшие рекомендации для вас, чтобы получить второй жесткий диск и восстановить файлы. Я полагаю, вы обнаружили, что одного резервного диска недостаточно. У меня уже было несколько случаев, когда друзья просили меня восстановить их единственную резервную копию, и я всегда советую им (иногда слишком поздно) иметь две резервные копии диски.

кроме того, по крайней мере один из двух дисков резервного копирования должен быть отключен от компьютера. Я советую это после слушания случая, когда компьютер поджарил себя и каждый подключенное USB-устройство, оставляя владельца без данных и без резервного копирования одним ударом.

как Я вчера сказал, вы всегда можете попробовать сделать это вручную с помощью hex/disk-editor, если есть только несколько файлов для восстановления, но я, конечно, не рекомендовал бы его.

через несколько минут исследования и тестирование, мне в конечном итоге удалось пометить файл как не удален в $MFT, но проблема в том, что этого недостаточно, вы также должны отметить кластеры, которые он использует в использовании в $BITMAP. Эта задача оказалась слишком сложной и слишком много работы, чтобы найти и я в конце концов сдался. Я решил бежать chkdsk /f чтобы увидеть, обнаружит ли он несоответствие и правильно пометит кластеры, но это было слишком рискованно, потому что раздел NTFS, на котором я тестировал, имел несколько других файлов, которые я не хотел терять.

(также обратите внимание, что в отличие от FAT*, NTFS хранит цепочку кластеров для файла в $MFT, Это не гарантирует, что у вас будет доступ ко всей цепочке кластеров во время восстановления, поэтому фрагментированный файл может закончиться быть неустранимым. Даже если вы ничего не писали на диск после случайного стирания, это не значит, что Windows этого не сделала. Например, он мог написать \System Volume Information, особенно если Теневая Копия/служба предыдущих версий запущена.)

очевидно, ручное восстановление на самом деле не решение, ни ответ на ваш вопрос, поэтому я разместил его только в качестве комментария. К сожалению, все поиски, которые я сделал, оказались пустыми и короткий ответ ваш вопрос: нет, нет общедоступных программ, которые могут просто пометить файл как не-удаленный на томе NTFS.