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

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

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

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

Фильтр записи UWF представляет собой отдельный компонент Windows и включается через панель управления optionalfeatures.exe : 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, выполните следующую команду и перезагрузите компьютер:

uwfmgr.exe filter enable
Unified Write Filter -включить фильтр uwfmgr.exe filter enable

При включении фильтра, Windows автоматически перенастраивается так, чтобы исключить лишние операций записи на диск. Будут отключены следующие компоненты:

  • файл подкачки
  • точки восстановления
  • cлужба инлексирования файлов
  • задание дефрагментации в сценариях обслуживания дисков

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

uwfmgr.exe volume protect c:

Чтобы включить защиту для всех разделов:

uwfmgr.exe volume protect all

После загрузки, любые данные, которые пользователь запишет на диск за время сессии будет доступны только до момента следующей перезагрузки компьютера. Любые изменения будут сброшены.

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

uwfmgr.exe get-config

uwf - Volume state: Protected

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

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

uwfmgr overlay get-config

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

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

uwfmgr overlay get-config вывести настройки UWF фильтра записи

По умолчанию используется RAM оверлей размером 1 Гб. Этого размера как правило недостаточно для нормальной работы. Дело в том, что при превышении размера данных в оверлее этого значения, компьютер будет автоматически перезагружен и сброшен (потому что UWF будет некуда писать данные).

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

Unified Write Filter
Save you work somewhere other than this device. When the device is reset, any work saved will be lost.
Reserved space:

предупреждение об окончании места в overlay для uwf фильтра записи на диск

Например, для компьютера с 8 Гб RAM предположим, что для работы системы и приложений достаточно 4 Гб, а остальную память отдадим под оверлей. И сразу увеличим пороги выдачи предупреждений о нехватке оверлея:

uwfmgr overlay set-size 4096
uwfmgr overlay set-criticalthreshold 4000
uwfmgr overlay set-warningthreshold 3500

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

uwfmgr overlay set-type Disk

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

uwfmgr overlay get-consumption

Вывести оставшееся (доступное) место в оверлее:

uwfmgr overlay get-availablespace

uwfmgroverlay-get-availablespace свободное место в оверлее

При заполнении оверлей в Event Log записывается событие Event ID 2 от источника uwfvol с сообщением:

The UWF overlay size has reached CRITICAL level.

Событие eventid 2 от источника uwfvol The UWF overlay size has reached CRITICAL level

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

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

uwfmgr servicing enable

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

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

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

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:\Distr\TestFile.txt

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

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

uwfmgr file commit-delete C:\Distr\TestFile.txt

Аналогичные команды фиксации изменений при добавлении или удалении веток в системном реестре при включенном фильтре защиты от записи:

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

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

Чтобы добавить в исключения отдельный каталог:

Uwfmgr.exe file add-exclusion c:\student

Добавить в исключения файл:

Uwfmgr.exe file add-exclusion c:\student\report.docx

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

Uwfmgr.exe registry add-exclusion “HKLM\Software\MyRegKey”

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

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

uwfmgr file get-exclusions all

Исключения реестра:

uwfmgr.exe registry get-exclusions

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

uwfmgr file remove-exclusion c:\student\report.docx

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

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

  • Файлы реестра в каталоге \Windows\System32\config\
  • Корень диска
  • Каталоги \Windows, \Windows\System32, \Windows\System32\Drivers
  • Файлы подкачки
  • И т.д.

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

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

  • % ALLUSERSPROFILE%\Microsoft\Network\Downloader
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\BITS\StateIndex

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

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Wireless\GPTWirelessPolicy
  • C:\Windows\wlansvc\Policies
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\wlansvc
  • C:\ProgramData\Microsoft\wlansvc\Profiles\Interfaces\{<Interface GUID>}\{<Profile GUID>}.xml
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Wlansvc
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WwanSvc

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

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WiredL2\GP_Policy
  • C:\Windows\dot2svc\Policies
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\dot3svc
  • C:\ProgramData\Microsoft\dot3svc\Profiles\Interfaces\{<Interface GUID>}\{<Profile GUID>}.xml
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\dot3svc

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

  • C:\Program Files\Windows Defender
  • C:\ProgramData\Microsoft\Windows Defender
  • C:\Windows\WindowsUpdate.log
  • C:\Windows\Temp\MpCmdRun.log
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender
Подробнее рекомендации Microsoft по стандартным исключениям UWF фильтра для Windows описаны в статье https://learn.microsoft.com/en-us/windows/configuration/unified-write-filter/uwfexclusions

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

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

uwfmgr filter reset-settings

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

uwfmgr.exe filter disable

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

uwfmgr.exe volume unprotect C:

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

  • Отключить запуск UWF фильтра можно в ветке HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\uwfvol, задав значение параметра start равное 4.
  • Затем отключите строку uwfvol в ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{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).

Фильтр защиты от записи в Windows можно использовать в студенческих классах и на учебных компьютерах, для предоставления услуг на публичных компьютерах (своеобразный режим киоска Windows), на промышленных и встроенных системах для обеспечения максимальной целостности ОС и предотвращения изменений и сбоев. Один из недостатков – системы с интенсивным дисковым I/O будут довольно быстро расходовать доступное место в оверлее и уходить в перезагрузку. В этом случае нужно либо переносить оверлей из RAM на диск, либо наращивать оперативную память.


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


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

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

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

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