для результата:
НА ДИСК НУЖНО МИНИМИЗИРОВАТЬ/ИСКЛЮЧИТЬ ЗАПИСЬ
используйте photorecovery, testdisk.
для процесса:
1. вам нужно понимать устройство NTFS на уровне ВСЕХ структур, служебных файлов типо MFT$ и тп, разметки, процесса пометки удаления файла. (NTFS бывают разных версий!), маппинг записей файловой системы на физические адреса диска. Понимание устройства интерфейсов низкоуровневого доступа к диску.
2. сканирование всего раздела (ну эффективнее свободного места) на предмет наличия нужных сигнатур файлов, записей файловой системы. Не забываем, что файл может быть фрагментирован/частично перезаписан служебной информацией.
я слабо представляю как в HEX редакторе диска это можно сделать вручную. Но не говорю, что невозможно.
В качестве тренировки я бы создал виртуалку с win7/10, Добавил к ней диск на пару десятков метров (Так проще делать бэкапы, проверять результат в той же виртуалке. ), отформатил в NTFS, создал бы файл .dat с каким-то шаблонным содержимым, но не нулями, вроде DE AD BE EF в хексе, нашел бы его сначала на диске, потом удалил бы файл и пробовал бы его найти/восстановить на хосте после выключения вируталки.
Причем надо понимать, что на физической машине вам не даст ОС и антивирь прямого монопольного доступа к диску. Ну за исключением linux с флешки и DOS.
Успехов! =)