Фильтр записи Unified Write Filter (UWF) в Windows 10



Предыдущая |

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

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

 

После перезагрузки системы, все изменения на защищаемых дисках не сохраняются, т.е. система всегда возвращается к исходному состоянию на момент включения фильтра UWF.

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

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

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

Enable-WindowsOptionalFeature -Online -FeatureName "Client-UnifiedWriteFilter" –All

Или Dism:

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

После того, как компонент установлении, управлять параметрами фильтра можно с помощью утилиты uwfmgr.exe.

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

uwfmgr.exe filter enable

При включении фильтра, он автоматически перенастраивает систему для исключения лишних операций записи на диск (отключаются файл подкачки, точки восстановления, индексирование файлов, дефрагментация).

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

uwfmgr.exe volume protect c:

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

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

uwfmgr.exe get-config

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

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

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

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

Uwfmgr.exe file add-exclusion  c:\student

Или

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

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

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

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

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

Uwfmgr.exe servicing enable

Компьютер загрузится с локальной учетной записью UWF-Servicing и можно установить необходимые обновления. После этого компьютер автоматически перезагрузится в нормальном режиме с включенным фильтром UWF.

Переход системы в режим обслуживания можно автоматизировать с помощью планировщика задач.

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

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

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

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

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

  • 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

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

uwfmgr.exe filter disable

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

uwfmgr.exe volume unprotect C:

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

  • Отключить запуск фильтра можно в ветке HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\uwfvol, задав значение параметра start на 4.
  • Удалить строку uwfvol в ключе HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{71a27cdd-812a-11d0-bec7-08002be2092f}\Lower Filters

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

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

    Довольно полезная фича! А случаем она на Win 10 Pro никак не портируется? Как я помню, была возможность запуска EFW фильтра из Win 7 Embedded в Pro редакции..

    Ответить
    • K0NCTANT1N 31.10.2017

      Если это как минимум Windows 10 Pro Anniversiary Update, то доступно под названием Объединенный фильтр записи.

      Ответить
  2. ptizz 22.01.2018

    Компьютер загрузится с локальной учетной записью UWF-Servicing и можно установить необходимые обновления

    Требует пароль при входе в учетную запись UWF-Servicing.
    Где его взять?

    Ответить
    • itpro 23.01.2018

      По идее система не должна спрашивать пароль UWF-Servicing, а просто автоматически логинится под ним.
      Какая версия Windows 10 используется? Насколько я помню, в 1607 был какой-то баг UWF, который даже патчился отдельной заплаткой.
      Попробуйте обновиться как минимум до 1903

      Ответить
      • ptizz 23.01.2018

        16299.
        Переустановил начисто, думал, может какие настройки мешают.
        После активации UWF-Servicing на экране входа две учетные записи: User и UWF-Servicing и обе хотят пароль.
        Если с первой всё понятно, то со второй… Вопрос.
        Хотя, по-моему, это не критично. Проще
        uwfmgr.exe filter disable/enable
        (Меньше времени на перезагрузку уходит).

        Ответить
  3. Василий 10.10.2019

    Чувак спасибо тебе большое, отличная статья, статья косвенно помогла решить проблему с активированным UWF фильтром, отключили свет выдал синий экран, uwfs.sys error, пришлось вырубать жёстко через реестр.

    Ответить