Фильтр защиты от записи на диск Unified Write Filter (UWF) в Windows 10

UWF ( Unified Write Filter — объединенный фильтр записи ) – это специальный фильтр записи файловой системы в Windows 10, который позволяет защитить системные файлы Windows и данные на диске от любых изменений. При включенном UWF фильтре любые операции записи на защищаемый диск или в системный реестр перехватываются драйвером UWF фильтра и помещаются в отдельное виртуально пространство (оверлей). После перезагрузки Windows все изменения на защищаемых дисках не сохраняются, т.е. Windows всегда возвращается к исходному состоянию на момент включения фильтра UWF.

Как работает фильтр UWF? Он защищает файловую систему выбранных разделов локальных дисков от изменений, прозрачно перенаправляя все операции записи на файловую систему в виртуальный оверлей в памяти, который хранит все изменения.

Примечание . В предыдущих версиях Windows фильтры записи были доступны только в редакциях для встроенных систем ( Embedded ), которая использовалась в банкоматах, POS-системах, терминалах самообслуживания, промышленных системах и т.д. Теперь этот функционал доступен в редакциях Windows 10 Enterprise (в том числе LTSB/ LTSC ) и Windows 10 Education , открывая дополнительные сценарии использования Windows на предприятиях и в учебных заведениях (информационные киоски, классы обучения, демонстрационные стенды и т.д.).

Как включить и настроить Unified Write Filter в Windows 10

Фильтр записи UWF представляет собой отдельный компонент Windows и включается через панель управления: Control Panel -> Programs and Features -> Turn Windows Features On or Off -> Device Lockdown -> Unified Write Filter .

Установка компонента фильтр записи Unified Write Filter (UWF) в Windows 10

Также можно установить компонент UWF с помощью PowerShell:

Enable-WindowsOptionalFeature -Online -FeatureName "Client-UnifiedWriteFilter" –All
Или DISM:

DISM.exe /Online /enable-Feature /FeatureName:client-UnifiedWriteFilter

Для управления настройками UWF используется консольная утилита uwfmgr.exe .

Чтобы включить UWF фильтр в Windows 10, выполните следующую команду и перезагрузите компьютер:

uwfmgr.exe filter enable
Unified Write Filter -включить фильтр uwfmgr.exe filter enable При включении фильтра, Windows автоматически перенастраивается так, чтобы исключить лишние операций записи на диск (отключаются файл подкачки, точки восстановления, индексирование файлов, дефрагментация).

Чтобы включить защиту от записи для конкретного диска, выполните команду:

uwfmgr.exe volume protect c:
Теперь нужно перезагрузить компьютер. После его загрузки все, что пользователь запишет на диск за время сессии будет доступно только до момента следующей перезагрузки компьютера. Любые изменения будут сброшены.

Проверить состояние UWF фильтра можно командой:

uwfmgr.exe get-config

uwf - Volume state: Protected В нашем примере видной, что системный диск находится в защищенном состоянии, UWF фильтр включен (Volume state: Protected).

Текущие настройки оверлея, в котором UWF хранит временные данные можно вывести с помощью команды:

uwfmgr overlay get-config

Вы можете настроить следующие параметры:

  • Type – тип оверлея. Вы можете хранить данные на диск (DISK) или в оперативной памяти (RAM);
  • Maximum size – максимальный размер оверлея;
  • Warning Threshold – размер оверлея, при превышении которого нужно вывести предупреждение;
  • Critical Threshold – размер оверлея, при превышении которого появится ошибка UWF;
  • Freespace Passthrough – используется только для дискового оверлея. Позволяет разрешать писать данные в любое свободное место на диске, а не в выделенный файл.

По умолчанию используется RAM оверлей с размером 1 Гб.

Можно изменить эти настройки (если у вас достаточно свободной RAM):

uwfmgr overlay set-size 8192
uwfmgr overlay set-criticalthreshold 8192
uwfmgr overlay set-warningthreshold 7168

Если нужно использовать оверлей на диске, выполните команду:

uwfmgr overlay set-type Disk

Текущий размер данных в оверлее можно вывести так:

uwfmgr overlay get-consumption

Оставшееся место:

uwfmgr overlay get-availablespace

Обслуживание Windows 10 с включенным фильтром UWF

При выполнении обслуживания системы (установка обновлений, обновление антивирусных сигнатур, копирование новых файлов), нужно перевести компьютер в специальный сервисный режим UWF:

uwfmgr servicing enable

Uwfmgr servicing enable режим обслуживаний Windows 10 с включенным фильтром UWF

После перезагрузки Windows загрузится под локальной учетной записью UWF-Servicing и автоматически установит доступные обновления Windows (через Windows Update или одобренные обновления WSUS ), обновит сигнатуры антивируса. При желании, вы сможете войти на компьютер под учетной записью UWF-Servicing (пароль этого пользователя неизвестен, но можно сменить его).

При автовходе пользователя запускается uwfservicingshell.exe и запускает скрипты обслуживания Windows 10. Что-то другое выполнить в сервисном режиме нельзя.

windows 10 встроенный пользователь UWF-Servicing

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

Вы можете установить обновления Windows и из обычного режима, без перехода в режим Servicing. Воспользуйтесь командой:

uwfmgr servicing update-windows

uwfmgr servicing update-windows установка обновлений windows в UWF

Unified Write Filter updated Windows result: REBOOT REQUIRED.

Добавление исключений в фильтр записи UWF

Если вам нужно принудительно сохранить на диск некий изменённый файл при включенном фильтре UWF, нужно выполнить команду:

uwfmgr file commit C:DistrTestFile.txt

Теперь файл не исчезнет, даже если вы перезагрузите Windows.

Чтобы удалить файл при включенном UWF, используйте команду:

uwfmgr file commit-delete C:DistrTestFile.txt

Аналогичный команды для реестра:

uwfmgr registry commit ...
uwfmgr registry commit-delete ...

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

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

Uwfmgr.exe file add-exclusion  c:student

Или

Uwfmgr.exe file add-exclusion  c:studentreport.docx

Чтобы разрешить запись изменений в ключ реестра:

Uwfmgr.exe registry add-exclusion “HKLMSoftwareMyRegKey”

Для применения исключений нужно перезагрузить компьютер.

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

uwfmgr file get-exclusions

Для удаления файла из исключений, выполните команду:

uwfmgr file remove-exclusion c:studentreport.docx

Некоторые системные каталоги и файлы нельзя добавить в исключения, например:

  • Файлы реестра в каталоге WindowsSystem32config;
  • Корень диска;
  • Каталоги Windows, WindowsSystem32, WindowsSystem32Drivers;
  • Файлы подкачки
  • И т.д.
Примечание . Фильтр UWF нельзя использовать для защиты данных на флешках и внешних USB устройствах. Скорее всего на программном уровне запрещено включение защиты от записи для дисков типа Removable. Впрочем, это ограничение можно обойти с помощью такого трюка .

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

Исключения для BITS :

  • % ALLUSERSPROFILE%MicrosoftNetworkDownloader
  • HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionBITSStateIndex

Исключения для корректной работы в беспроводных сетях (данные исключения позволят подключаться к Wi-Fi сетям и сохранять WLAN профили ):

  • HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWirelessGPTWirelessPolicy
  • C:WindowswlansvcPolicies
  • HKEY_LOCAL_MACHINESOFTWAREMicrosoftwlansvc
  • C:ProgramDataMicrosoftwlansvcProfilesInterfaces{<Interface GUID>}{<Profile GUID>}.xml
  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWlansvc
  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWwanSvc

Исключения для корректной работы в проводных сетях:

  • HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWiredL2GP_Policy
  • C:Windowsdot2svcPolicies
  • HKEY_LOCAL_MACHINESOFTWAREMicrosoftdot3svc
  • C:ProgramDataMicrosoftdot3svcProfilesInterfaces{<Interface GUID>}{<Profile GUID>}.xml
  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesdot3svc

Исключения для Windows Defender

  • C:Program FilesWindows Defender
  • C:ProgramDataMicrosoftWindows Defender
  • C:WindowsWindowsUpdate.log
  • C:WindowsTempMpCmdRun.log
  • HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows Defender

Отключение фильтра UWF, сброс настроек

Вы можете сбросить настройки UWF фильтра к начальным (на момент включения фильтра):

uwfmgr filter reset-settings

Чтобы полностью отключить UWF фильтр (после перезагрузки все изменения на диске будут сохраняться):

uwfmgr.exe filter disable

Либо можно отключить защиту фильтра конкретного раздела:

uwfmgr.exe volume unprotect C:

Важно . Если ваша Windows не загружается из-за некоренной настройки UWF фильтра, вы можете отключить его, загрузив в свой компьютер с загрузочного диска и отредактировать реестр в офлайн режиме :

  • Отключить запуск UWF фильтра можно в ветке HKEY_LOCAL_MACHINESYSTEMControlSet001Servicesuwfvol, задав значение параметра start равное 4 .
  • Затем отключите строку uwfvol в ключе реестра HKEY_LOCAL_MACHINESYSTEMControlSet001ControlClass{71a27cdd-812a-11d0-bec7-08002be2092f}Lower Filters

Режим Hibernate Once/Resume Many (HORM) в UWF

Начиная с Windows 10 1709 появился еще один режим работы фильтра UWF – Hibernate Once /Resume Many (HORM ) . Этот режим позволяет быстро получить состояние Windows с запущенными программами. При каждой загрузке компьютера Windows сразу возвращается к этому состоянию.

Ограничения режима HORM:

  • Фильтр UWF должен быть включен для всех локальных дисков;
  • Исключения фильтра UWF не поддерживаются
  • Оверлей работает в режиме RAM (disk-overlay не поддерживается);
  • Режим гибернации и быстрого запуска отключен.

Для включения HORM нужно выполнить команду:

uwfmgr filter enable-horm

Unified Write Filter enabled HORM. Please hibernate the system to use HORM functionality. The system must be hibernated at least once after run enable-horm command, or it may bring the system into corrupted state.

vkluchit режим horm для uwf фильтра в windows10

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

shutdown /h

Разбудите компьютер и перезагрузите его. При следующей перезагрузке Windows 10 сразу запустится в состоянии, хранящемся в файле гибернации.

Для отключения HORM выполните команду:

uwfmgr filter disable-horm

Из интересных сценариев, возможность реализации которых предоставляет фильтр UWF:

  1. Ускорение работы Windows (на диск ничего не пишется, а все операции записи на диск производятся в оперативной памяти, а-ля RAM диск );
  2. При запуске Windows на твердотельных накопителях (SSD/CompactFlash) можно уменьшить износ ячеек накопителя за счет уменьшения количества операций записи;
  3. Проведение различных экспериментов, тестирование стороннего ПО и изучение зловредов (для этих целей также можно использовать режим песочницы Windows ).
EnglishRussianUkrainian