Несколько дней назад я решил дефрагментировать и оптимизировать внешний жесткий диск объемом 2 ТБ с помощью средства дефрагментации Auslogics. Теперь немного фона здесь. Раздел, который я дефрагментировал, был разделом 1,8 ТБ, зашифрованным VeraCrypt, ответвлением от TrueCrypt. После завершения дефрагментации я обнаружил, что несколько файлов были повреждены. Все файлы, в которых я мог обнаружить повреждение, были сжатыми файлами, сжатыми с использованием сжатия по умолчанию в Windows 10. Я открыл файлы в WinHex и увидел любопытную вещь: конец всех этих поврежденных файлов был блок последовательности "DF DF DF". Вот скриншот проблемы. Обратите внимание, что, хотя на рисунке показано, что это дуговой файл, он все еще был сжат с помощью сжатия Windows. Любопытно, что, несмотря на то, что файлы содержали эти фрагменты DF, двоичный поиск смонтированного раздела не дал такой последовательности.
Теперь я хочу создать командный файл, который будет:
- Создать список сжатых файлов на диске
- Проверьте последовательность DF в конце двоичного содержимого каждого файла
- Составьте список всех затронутых файлов
Я пытался решить эту проблему с помощью скрипта Powershell, но безуспешно. Я думаю, что подойти к проблеме на платформе Linux было бы намного проще, но я понятия не имею, как это сделать. Любая помощь или предложение будет принята с благодарностью.
Дополнительное примечание: многие говорят, что бинарный поиск смонтированного раздела был неудачным из-за того, что раздел зашифрован. Это неверно. Я установил раздел перед поиском. Следовательно, поиск проводился не по RAW-данным жесткого диска, а по данным незашифрованного раздела.
Дополнительные сведения: ОС: Windows 10 Professional X64 / Ubuntu 14.04 x64 Файловая система: NTFS