> Под винду и на подобные случаи были штуки вроде WinHex Это антипод вон тех техноолгий. Там видите ли рояль в кустах разложен так чтобы оно САМО себя фиксило по максимуму из избыточной копии. Или накрайняк, если полсистемы стерли или там что еще - ну вот за пару минут снапшот переключить на заведомо исправный, где все еще ок было.
Винда так не умела по нормальному никогда. Это уповает на "гибкую аллокацию" (write-anywhere) для записи 2 копий в разные логические смещения с одной стороны. И на недеструктивность CoW операций с другой: даже если я перезаписал системный файл в хламину, в снапшоте он таки останется как был. И это простая, дешевая и быстрая операция. Которая в CoW ничем не отличается от нормальной записи. Так что даже и не задумываешься сколько там снапшотов и проч. А откат - по сути переназначение 1-2 дир с которых грузиться будем, грубо говоря. Там нечему время занимать.
В винде ничего сравнимого никогда не было. Каким-то отдаленным подобием является ReFS но это классическое "too little and too late" и к тому же домашних юзеров на него совсем надрали.
> В былые времена позволявшие очень многое - от непосредственного сканирования данных с
> поиском заголовков известных типов файлов Хотя там и не ext4 была
Testdisk и photorec это и сейчас позволяют. И им вообще пофиг что за ФС. И варез качать не надо - алилуя, можно опенсорсом под линухом хомякам данные вытаскивать оптом. И "продвинутые читалки" для осыпающихся дисков - есть. Так что достаточно продвинутый датарекавери можно и в линухе забацать. Я проверял, это работает.
> И вплоть до собирания свободного пространства кластеров в отдельную "кучу", по которой
> делается нужный поиск.
Есть довольно большая разница между корректным монтированием файлухи или хотя-бы оффлайн парсингом на (почти) полном автомате и вот этим вот. И вот эти технологии на фоне тех уже не поражают воображение. А передовой свинцово-кислотный акум, достижение конца XIX века - в XXI выглядит тяжелым, токсичным балластом с хреновыми параметрами.
> чего-то другого. Но, поскольку новый файл обычно весит меньше суммы
> занимаемых им кластеров - в последнем кластере остаётся кусок старого удалённого файла.
А в CoW файло - и даже метаданные в случае btrfs - так сразу вообще не сносятся. Это кроме всего прочего означает что если стало совсем тяжко, то при хардкорном рековери такого уровня вообще есть более 1 точки входа для начала парсинга.
...а крашрекавери CoW файлухи - его почти нет! Это в общем то "отбросить неудавшиеся записи". И вуаля, поскольку сперва делается запись, в новое место, а потом апдейтятся метаданные указывать на уже новое состояние, с учетом этого - если это не успели - ну, окей, этой записи никогда и не случалось. В btrfs эту механику и к метаданным смогли применить, так что ему вон то в общем случае просто не надо. А в каких-то очень частных аномалиях есть возможность попробовать разные точки входа для парсинга. Что умеет даже ее встроенная оффлайн читалка. Ога, это тул уровня лучших коммерческих прог под винду для NTFS - нашару, в тулките ФС. Пожелаем остальным файлухам чтобы они свои тулкиты так же делали, а не отдавали это на откуп левым комерсам.
> Но при копировании - копировались покластерно, т.е переносился и кусок удалённого файла
> Иногда следаки из подобных остатков много интересного вытаскивали
Добро пожаловать в чудный мир forensic analisys. Как вы понимаете, никто и никогда нигде не стирает данные от и до де факто протирая регион, это очень медленно и ресурсоемко. В ряде программ есть "secure erase" но даже так у FTL и проч все равно могли быть свои идеи куда там запись отправится. Так что если вы не хотите чтобы данные нашли, лучше всего никогда их и не записывать. В остальных случаях возможны варианты. Ну или хотя-бы шифрованные диски использовать. Бинарный мусор неинформативен. Но всегда есть риск что интрудер влезет когда он прицеплен - и таки утащит файло, понятия не имея какой ключ.