О восстановлении удаленных файлов/разделов с SSD накопителей с поддержкой TRIM

На данный момент доступно большое количество программ для восстановления случано удаленных файлов и разделов на жестком диске или USB накопителе. Все эти программы основываются на том, что при удалении файла с файловой системы, его данные и метаданные продолжают хранится на физическом носителе, пока не будут перезаписаны новыми файлами. Программы восстановления удаленных файлов позволяют просканировать диск и найти удаленные файлы по сигнатурам на диске и при анализе неиспользуемых блоков диска. Однако классический подход восстановления файлов не работает с устройствами SSD (Solid State Drive) с поддержкой функции TRIM. Давайте разберемся почему.

Удаление файлов с SSD накопителя и команда TRIM

Процесс удаления файлов на SSD кардинально отличается от процесса удаления файлов на классическом жестком диске. При удалении файла ОС посылает на SSD устройство команду интерфейса ATA — TRIM, которая сообщает что эти данные не нужны. Устройство SSD помечает эти ячейки на удаление и в фоновом режиме обнуляет их (фоновый процесс сбора мусора). Это позволяет более быстро сохранять данные в свободные ячейки SSD и увеличивает срок службы устройства. Таким образом команда TRIM заставляет накопитель физически очищать неиспользуемые блоки данных.

В результате любая программа восстановления файлов видит в незанятых ячейках SSD только нули.

Получается, что если ваш SSD диск подключен к компьютеру через SATA интерфейс, то практически невозможно восстановить с него удаленные данные. Это относится и к SSD дискам с интерфейсом NVMe. Для таких устройств есть аналог команды TRIM, которая называется – Deallocate (является аналогом TRIM для ATA, поддерживается в Windows 8 и выше).

Как Windows определяет SSD диски?

Windows по-умолчанию включает поддержку команду TRIM для SSD дисков, которые подключены через интерфейс ATA/IDE/SATA/M.2/PCI Express (но не USB!) в режиме AHCI (бывает, что внутренние SSD диски некорректно отображаются как съемные устройства). Это необходимо для оптимизации работы твердотельных накопителей. Кроме того, TRIM используется только для файловых систем NTFS и REFS. При выполнении этих условий при удалении файла автоматически выполняется команда TRIM и фоновый процесс SSD практически сразу очищает ячейки.

В MacOS TRIM включен по-умолчанию для SSD от Apple с файловыми системами APFS и HFS+. Команда TRIM также отправляется сразу после удаления файла.

Таким образом вы сможете восстановить удаленные файлы и разделы с SSD накопителя если:

  • SSD накопитель подключен к компьютеру через USB или FireWire порт;
  • У вас используется RAID массив из SSD (Windows не включает TRIM для такого устройства);
  • У вас используется старые версии ОС: Windows Vista, Windows XP, MacOS до OS X 10.10.4 (в этих версиях TRIM не поддерживается);
  • TRIM отключен на уровне ОС;
  • Ваш SSD не поддерживает команды TRIM (возможно на старых моделях SSD);
  • SSD диск отформатирован не файловой системе NTFS (например в FAT32, exFat и т.д).

Пример восстановления удаленных файлов с SSD накопителя

Рассмотрим особенности восстановления данных на SSD накопителе с помощью программы EaseUS Data Recovery Wizard Free. Бесплатная версия программы позволяет восстановить до 500 Мб удаленных файлов (либо до 2 Гб, если вы поделились ссылкой на программу в Facebook или Twitter). Но вы можете воспользоваться любой аналогичной программой для восстановления удаленных файлов или даже встроенной утилитой Windows File Recovery.

Итак, у меня к компьютеру подключен SSD диск. Проверим, что один из дисков (21 Гб), определяется как SSD с помощью команды PowerShell Get-PhysicalDisk:

Get-PhysicalDisk | Select Number, PhysicalLocation, MediaType, Size

команда powershell для определения ssd диск по mediatype

Проверим, включена ли для него функция Trim:

fsutil behavior query DisableDeleteNotify

fsutil behavior query DisableDeleteNotify проверка включенной функции TRIM в Windows

Следующая строка означает, что TRIM включен:

NTFS DisableDeleteNotify = 0 (Disabled)
ReFS DisableDeleteNotify = 0 (Disabled)

Попробую удалить с SSD накопителя один файл и восстановить его с помощью EaseUS Data Recovery Wizard:

  1. Я скачал и установил бесплатную версию программы с сайта разработчиков.
    Для предотвращения случайной перезаписи удаленных блоков на диске, нельзя устанавливать программы восстановления данных на тот же диск, с которого вы хотите восстанавливать файлы!
  2. Теперь я удаляю произвольный файл на SSD накопителе;
  3. Запускаю утилиту восстановления, выполняю полное сканирование SSD диска. В моем случае утилита восстановления данных не нашла удаленный файл.

поиск удаленных файлов на ssd диск с поддержкой trim

Теперь попробуем отключить поддержку TRIM в Windows с помощью команды:

fsutil behavior set DisableDeleteNotify 1

Если TRIM отключен успешно, вы увидите сообщение “NTFS DisableDeleteNotify = 1 (Enabled)”.

Можно отключить TRIM только для определенной файловой системы. Так:

fsutil behavior set disabledeletenotify NTFS 1

или так

fsutil behavior set disabledeletenotify ReFS 1

В macOS вы можете отключить TRIM командой:
sudo trimforce disable

fsutil behavior set DisableDeleteNotify отключить TRIM в Windows

Я удаляю еще один файл с SSD накопителя и запускаю полное сканирование диска утилитой восстановления. Программа моментально находит удаленный файл и предложит восстановить его.

на ssd диске найдены удаленный файлы

Выберите файл, который нужно восстановить и нажмите кнопку Recover. При восстановлении файла желательно указать другой диск, чтобы случайно не перезатереть метеданные на диске.

Чтобы обратно включить TRIM, выполните команду:

fsutil behavior set DisableDeleteNotify 0

Итак, мы убедилесь что при включенном TRIM нельзя восстановить удаленный файл с SSD диска. Не помогает даже поиск по файловым сигнатурам.

Таким образом, чтобы команда TRIM не применялась к SSD диску, вы можете:

  • подключить SSD устройство через интерфейс USB, FireWire или Thunderbolt;
  • Отключить TRIM на уровне ОС. Однако это сокращает срок службы SSD накопителя и уменьшает скорость записи на диск.

Предыдущая статья Следующая статья


Комментариев: 4 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)