1

Я хочу восстановить перезаписанный файл в разделе NTFS.

Допустим, у меня есть файл с именем A в каталоге.

Я сделал другой файл, но я сохранил этот новый файл с тем же именем, "A". Будет ли новый файл храниться в существующем физическом местоположении A (это означает, что исходное содержимое A никогда не сможет быть восстановлено), или новый файл, вероятно , будет занимать другое физическое расположение на диске (что означает, что исходное содержимое может, вероятно, все еще подлежит восстановлению)?

3 ответа3

3

Это зависит от приложения. Например, Word пишет новый файл, а затем удаляет старый, чтобы он не перезаписывал его и его можно было восстановить. Другое приложение может переписать файл на месте, а затем обрезать до нужного размера, в этом случае вы потеряете все данные.

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

Если файл достаточно мал, чтобы поместиться в запись MFT для этого файла (~ 4k?, Я не помню), у вас больше шансов перезаписать данные.

2

Этот заслуживающий доверия пост группы новостей, а также ответ Тони Ли указывают, что для большинства приложений перезапись "сохранить как" - это то же самое, что и удаление, за которым следует создание нового, что касается файловой системы. Я могу поддержать это обобщение, потому что, как программист, это имеет смысл. Если бы я реализовывал функцию "Сохранить как", то нет смысла использовать открываемый файл для вызова API перезаписи, так как этот путь к коду будет использоваться только в редких случаях перезаписи. Программист гораздо чаще использует вызов файла create-new с быстрым вызовом fileDelete в тех редких случаях, когда это необходимо.

Тем не менее, нет точного способа узнать, как программатор перезаписывающего приложения решал иметь дело с существующим файлом, если только вы не можете их спросить или проследить поведение файловой системы приложения с помощью такого инструмента, как FileMon или Process Monitor.

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

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

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .