UWF (Unified Write Filter — объединенный фильтр записи) – это специальный фильтр записи файловой системы в Windows 10, который позволяет защитить системные файлы Windows и данные на диске от любых изменений. При включенном UWF фильтре любые операции записи на защищаемый диск или в системный реестр перехватываются драйвером UWF фильтра и помещаются в отдельное виртуально пространство (оверлей). После перезагрузки Windows все изменения на защищаемых дисках не сохраняются, т.е. Windows всегда возвращается к исходному состоянию на момент включения фильтра UWF.
Содержание:
- Как включить и настроить Unified Write Filter в Windows 10
- Обслуживание Windows 10 с включенным фильтром UWF
- Добавление исключений в фильтр записи UWF
- Отключение фильтра UWF, сброс настроек
- Режим Hibernate Once/Resume Many (HORM) в 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.
Также можно установить компонент 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
При включении фильтра, Windows автоматически перенастраивается так, чтобы исключить лишние операций записи на диск (отключаются файл подкачки, точки восстановления, индексирование файлов, дефрагментация).
Чтобы включить защиту от записи для конкретного диска, выполните команду:
uwfmgr.exe volume protect c:
Теперь нужно перезагрузить компьютер. После его загрузки все, что пользователь запишет на диск за время сессии будет доступно только до момента следующей перезагрузки компьютера. Любые изменения будут сброшены.
Проверить состояние UWF фильтра можно командой:
uwfmgr.exe get-config
В нашем примере видной, что системный диск находится в защищенном состоянии, 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
После перезагрузки Windows загрузится под локальной учетной записью UWF-Servicing и автоматически установит доступные обновления Windows (через Windows Update или одобренные обновления WSUS), обновит сигнатуры антивируса. При желании, вы сможете войти на компьютер под учетной записью UWF-Servicing (пароль этого пользователя неизвестен, но можно сменить его).
При автовходе пользователя запускается
uwfservicingshell.exe
и запускает скрипты обслуживания Windows 10. Что-то другое выполнить в сервисном режиме нельзя.
После завершения установки обновлений, компьютер автоматически перезагрузится в нормальном режиме с включенным фильтром UWF.
Вы можете установить обновления Windows и из обычного режима, без перехода в режим Servicing. Воспользуйтесь командой:
uwfmgr servicing update-windows
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.
Настройте рабочее окружение пользователя (запустите необходимые приложения, откройте файлы и т.д.). Затем переведите компьютер в режим гибернации командой:
shutdown /h
Разбудите компьютер и перезагрузите его. При следующей перезагрузке Windows 10 сразу запустится в состоянии, хранящемся в файле гибернации.
Для отключения HORM выполните команду:
uwfmgr filter disable-horm
Из интересных сценариев, возможность реализации которых предоставляет фильтр UWF:
- Ускорение работы Windows (на диск ничего не пишется, а все операции записи на диск производятся в оперативной памяти, а-ля RAM диск);
- При запуске Windows на твердотельных накопителях (SSD/CompactFlash) можно уменьшить износ ячеек накопителя за счет уменьшения количества операций записи;
- Проведение различных экспериментов, тестирование стороннего ПО и изучение зловредов (для этих целей также можно использовать режим песочницы Windows).
Защита данных является крайне важной задачей и сегодня речь пойдет о унифицированном фильтре записи (Unified Write Filter, UWF), который позволит защитить ваши данные практически от любых нежелательных изменений.
Принцип работы UWF заключается в том, в том, что он перехватывает все операции записи на файловую систему и в системный реестр и перенаправляет их в изолированное виртуальное пространство (оверлей), в котором они сохраняются до ближайшей перезагрузки. После перезагрузки содержимое оверлея очищается, все произведенные изменения исчезают и система возвращается к исходному состоянию, в котором находилась на момент включения фильтра.
В операционных системах Windows фильтр UWF (или EWF) используется достаточно давно, однако раньше он был доступен только в редакциях Embedded, предназначенных для встроенных систем (банкоматы, POS-терминалы и т.п.). На данный момент фильтр входит в состав операционных систем Windows 10 редакций Enterprise (включая LTSB) и Education.
Установка фильтра
Фильтр UWF устанавливается как дополнительный компонент операционной системы. Установить его можно как из Панели управления, так и с помощью PowerShell.
Для установки из графической оснастки нажимаем Win+R и выполняем команду appwiz.cpl.
В открывшемся окне выбираем «Turn Windows features on or off» и в разделе «Device Lockdown» отмечаем компонент «Unified Write Filter».
Для установки с помощью PowerShell открываем консоль от имени администратора и выполняем команду:
Enable-WindowsOptionalFeature -Online -FeatureName ″Client-UnifiedWriteFilter″ -All
Вне зависимости от выбранного способа после установки необходимо перезагрузить систему.
Включение и настройка фильтра
Для управления UWF предназначена специальная утилита командной строки uwfmgr.exe. Вывести справку по ней можно командой uwfmgr, запущенной без дополнительных параметров. Как видно из справки, все команды сгруппированы по разделам, каждый из которых отвечает за управление частью функционала. Например раздел filter отвечает за глобальные настройки UWF, раздел overlay — за настройки оверлея, и т.д. Впрочем обо всем по порядку.
После установки компонента фильтр не активен, и первым делом его необходимо включить. Делается это следующей командой:
uwfmgr filter enable
Затем необходимо перезагрузить компьютер и фильтр готов к работе.
Нужно знать, что при активации фильтра UWF в системе автоматически производятся определенные действия, направленные на оптимизацию его работы:
• Отключаются файлы подкачки;
• Отключается восстановление системы;
• Отключается служба SuperFetch;
• Отключается служба индексации файлов;
• Отключается режим быстрого запуска (Fast start-up);
• Останавливается дефрагментация дисков;
• В BCD для настройки bootstatuspolicy устанавливается значение ignoreallfailures, что означает отключение режима автоматического восстановления при перезагрузке.
После включения некоторые настройки можно вернуть обратно, конечно с учетом особенностей UWF. Например можно включить файл подкачки, предварительно перенеся его на незащищенный раздел диска. А вот быстрый запуск UWF не поддерживает и включать его нельзя.
Следующее, что необходимо сделать после включения — это настроить виртуальный оверлей, в котором будет хранить данные фильтр. Вывести текущие настройки оверлея можно командой:
uwfmgr overlay get-config
Настройки следующие:
• Type — тип оверлея. Определяет, где будут храниться данные — в оперативной памяти (RAM) или на диске (DISK);
• Maximum size — максимальный размер оверлея;
• Warning Threshold — объем данных в оверлее, при достижении которого будет выдано предупреждение;
• Critical Threshold — объем данных в оверлее, при достижении которого будет выдано сообщение об ошибке;
• Freespace Passthrough — разрешает писать данные в любое свободное место на диске, не перенаправляя их в специально отведенный для этого файл. Этот параметр используется только при дисковом типе оверлея.
Что интересно, выводится два набора параметров, текущий и тот, который будет применен после перезагрузки.
Приступим к настройке. Тип оверлея по умолчанию RAM, его и оставим. Зададим максимальный размер оверлея в 4Гб:
uwfmgr overlay set-size 4096
Критический размер сделаем таким же:
uwfmgr overlay set-criticalthreshold 4096
а для предупреждения зададим размер в 3Гб:
uwfmgr overlay set-warningthreshold 3072
Теперь можно включать защиту. В качестве объекта защиты нельзя указывать отдельные файлыпапки, только весь диск целиком. Включим защиту для диска С командой:
uwfmgr volume protect C:
После включения защиты перезагружаем компьютер. Затем открываем командную консоль и проверяем состояние защиты выбранного диска:
uwfmgr volume get-config C:
Как видите, состояние диска Protected, т.е. диск C находится под защитой фильтра.
Проверка работы фильтра
Мы произвели базовую настройку UWF, теперь можно протестировать его работу. Для этого создадим самый обычный текстовый файл с именем TestUWF и сохраним его на диске С, в папке Documents.
Проверим, что файл успешно сохранен и перезагрузим компьютер.
После перезагрузки зайдем в папку Documents и убедимся, что файла там нет. Это и есть результат работы фильтра.
Сохранение изменений
Как видно из предыдущего примера, фильтр предотвращает любые изменения на защищаемом диске. Поэтому, если вам необходимо сохранить созданный файл, то изменения можно подтвердить (commit) командой, например:
uwfmgr file commit C:DocumentsTestUWF.txt
После этого систему можно смело перезагружать, файл никуда не денется. Более того, теперь его так просто не удалить, ведь после перезагрузки он опять появится на своем месте. Удаление файла возможно только через UWF, командой:
uwfmgr file commit-delete C:DocumentsTestUWF.txt
Эта команда окончательно удалит файл как с диска, так и из оверлея.
Подобным образом можно сохранить изменения только для одного конкретного файла. Если указать директорию или раздел диска, то будет выдана ошибка.
То же самое можно сделать и с изменениями в реестре. Например так мы сохраним созданный параметр TestUWF:
uwfmgr registry commit HKLMSOFTWARETestUWF TestUWF
а так удалим его:
uwfmgr registry commit-delete HKLMSOFTWARETestUWF TestUWF
Исключения
Каждый раз подтверждать изменения довольно утомительно, кроме того можно забыть это сделать и потерять результаты своей работы. На этот случай фильтр предоставляет возможность вывести отдельные файлы и папки из под защиты, добавив их в исключения (exclusions). Однако здесь есть ограничения, так в исключения нельзя добавлять следующие системные объекты:
• Windows;
• WindowsSystem32;
• WindowsSystem32Drivers;
• WindowsSystem32configDEFAULT;
• WindowsSystem32configSAM;
• WindowsSystem32configSECURITY;
• WindowsSystem32configSOFTWARE;
• WindowsSystem32configSYSTEM;
• Users<UserName>NTUSER.DAT;
• Корень диска (напр. C: или D:);
• Файлы подкачки (pagefile.sys).
Все остальное можно добавить в исключения. Для примера добавим в исключения фильтра папку C:UWF_Exclusion командой:
uwfmgr file add-exclusion C:UWF_Exclusion
Проверить текущие исключения фильтра можно такой командой:
uwfmgr file get-exclusions
Удалить исключения можно такой командой:
uwfmgr file remove-exclusion C:UWF_Exclusion
Примечание. Обратите внимание, что для применения изменений в настройках фильтра практически всегда требуется рестарт.
В исключения можно добавлять и содержимое реестра, но не все, а только находящиеся в следующих разделах:
• HKEY_LOCAL_MACHINEBCD
• HKEY_LOCAL_MACHINESYSTEM
• HKEY_LOCAL_MACHINESOFTWARE
• HKEY_LOCAL_MACHINESAM
• HKEY_LOCAL_MACHINESECURITY
• HKEY_LOCAL_MACHINECOMPONENTS
Для примера попробуем добавить в исключения раздел реестра HKCUSystemCurrentControlSetPolicies:
uwfmgr registry add-exclusion HKCUSystemCurrentControlSetPolicies
И получим ошибку. А вот раздел HKLMSystemCurrentControlSetPolicies добавится без проблем, поскольку он находится в нужном месте.
Просмотр исключений реестра производится командой:
uwfmgr registry get-exclusions
Ну а для удаления исключений воспользуемся такой командой:
uwfmgr registry remove-exclusion HKLMSystemCurrentControlSetPolicies
Стандартные исключения
Существуют стандартные, рекомендуемые Microsoft наборы исключений фильтра, необходимые для работы важных (или не очень) компонентов системы.
Windows Defender
• C:Program FilesWindows Defender;
• C:ProgramDataMicrosoftWindows Defender;
• C:WindowsWindowsUpdate.log;
• C:WindowsTempMpCmdRun.log;
• HKLMSOFTWAREMicrosoftWindows Defender;
Background Intelligent Transfer Service (BITS)
• % ALLUSERSPROFILE%MicrosoftNetworkDownloader;
• HKLMSOFTWAREMicrosoftWindowsCurrentVersionBITSStateIndex;
Сеть
Для возможности корректного добавления компьютера в проводные и беспроводные сети также необходимо добавить исключения.
Для беспроводных сетей:
• HKLMSOFTWAREPoliciesMicrosoftWindowsWirelessGPTWirelessPolicy;
• C:WindowswlansvcPolicies;
• HKLMSOFTWAREMicrosoftwlansvc;
• C:ProgramDataMicrosoftwlansvcProfilesInterfaces{<Interface GUID>}{<Profile GUID>}.xml;
• HKLMSYSTEMCurrentControlSetservicesWlansvc;
• HKLMSYSTEMCurrentControlSetservicesWwanSvc.
Для проводных сетей:
• HKLMSOFTWAREPoliciesMicrosoftWindowsWiredL2GP_Policy;
• C:Windowsdot2svcPolicies;
• HKLMSOFTWAREMicrosoftdot3svc;
• C:ProgramDataMicrosoftdot3svcProfilesInterfaces{<Interface GUID>}{<Profile GUID>}.xml;
• HKLMSYSTEMCurrentControlSetservicesdot3svc.
Daylight saving time (DST)
DST — механизм автоматического переключения на летнеезимнее время. В России на данный момент неактуален, но на всякий случай.
• HKLMSOFTWAREMicrosoftWindows NTCurrentVersionTime Zones;
• HKLMSYSTEMCurrentControlSetControlTimeZoneInformation.
Customer Experience Improvement Program (CEIP)
CEIP — программа улучшения качества обслуживания. Если вы вдруг случайно 🙂 согласились на участие в ней при установке системы, то потребуется внести следующие исключения:
• HKLMSOFTWAREPoliciesMicrosoftSQMClientWindowsCEIPEnable;
• HKLMSOFTWAREMicrosoftSQMClientWindowsCEIPEnable;
• HKLMSOFTWAREMicrosoftSQMClientUploadDisableFlag.
Кроме того, необходимо найти все папки, содержащие файлы с расширением .sqm, и также добавить их в исключения.
Примечание. Все настройки UWF также хранятся в реестре. Настройки автоматически добавляются в исключения фильтра и не отображаются в текущих исключениях.
Сервисный режим и обновление
Поскольку фильтр предотвращает внесение любых изменений, то установка обновлений становится весьма затруднительной. Поэтому для обновления операционной системы у UWF имеется специальный сервисный режим, для включения которого надо выполнить команду:
uwfmgr servicing enable
и перезагрузить систему.
При загрузке в сервисном режиме запускаются специальные скрипты обслуживания и начинается установка обновлений. Никакого дополнительного вмешательства не требуется, надо только дождаться окончания установки.
Что интересно, для загрузки в сервисном режиме создается специальный пользователь UWF-Servicing, под которым и производится установка обновлений. Пароль этого пользователя неизвестен и зайти под ним просто так нельзя,
но можно зайти под другим пользователем с административными правами и сбросить его пароль.
Впрочем, делать это стоит разве что из любопытства, поскольку никаких действий в сервисном режиме производить нельзя. Единственное, что вы увидите, войдя под этим пользователем — это процесс выполнения сервисных скриптов.
По окончании установки обновлений система автоматически перезагрузится и выйдет из сервисного режима. Убедиться в этом можно командой:
uwfmgr servicing get-config
Обновления можно установить и без перехода в сервисный режим. Для этого надо выполнить команду:
uwfmgr servicing update-windows
В таком варианте надо только дождаться завершения команды и вручную перезагрузить компьютер.
Примечание. Честно говоря, большой разницы между сервисным режимом и установкой обновлений в текущей сессии я не нашел. Вроде как и там и там запускается один и тот же скрипт. Хотя в документации Microsoft рекомендуется для обновления по возможности использовать сервисный режим.
Отключение фильтра
При необходимости фильтр можно отключить, частично или полностью. К примеру для остановки защиты диска C выполним команду:
uwfmgr volume unprotect C:
А полностью отключить фильтр можно такой командой:
uwfmgr filter disable
Также отключить UWF можно через реестр. Для этого надо:
• В разделе HKLMSYSTEMControlSet001Servicesuwfvol изменить значение параметра start на 4 ;
• В разделе HKLMSYSTEMControlSet001ControlClass{71a27cdd-812a-11d0-bec7-08002be2092f}Lower Filters удалить значение параметра uwfwol.
Такой способ может помочь в том случае, если система неработоспособна в результате работы фильтра.
Сброс настроек
Иногда может потребоваться вернуть настройки фильтра к первоначальным, которые были на момент включения. Произвести сброс настроек можно командой:
uwfmgr filter reset-settings
Мониторинг
При использовании фильтра крайне важно помнить, что оверлей имеет ограниченный размер и при его превышении вас ждут неприятности. К примеру, если попытаться скопировать на защищенный диск файл, объемом превышающий размер оверлея, то по мере его заполнения процесс копирования остановится а система просто наглухо зависнет и перестанет отвечать на любые действия.
Для проверки оставшегося в оверлее места служит такая команда:
uwfmgr overlay get-availablespace
А вывести текущий объем данных в оверлее можно так:
uwfmgr overlay get-consumption
Также при настройке оверлея мы указываем параметры Warning Threshold и Critical Threshold, которые определяют уровень заполнения оверлея. Соответственно при достижении этих значений в системный журнал записывается соответствующее событие.
Обратите внимание, что кроме записи в журнал никаких сообщений или оповещений не выдается, поэтому о переполнении оверлея можно догадаться только по зависанию системы. Если вы хотите этого избежать, то придется придумывать какой либо механизм для проверки заполнения оверлея и выдачи предупреждений, поскольку штатных средств не предусмотрено.
Режим HORM
Расшифровывается HORM как Hibernate Once/Resume Many и является достаточно новой фичей, которая появилась в Windows 10 версии 1709. Суть HORM заключается в том, что с его помощью можно сохранить определенное состояние системы, включая запущенные программы, открытые файлы и т.п., и затем при перезагрузке каждый раз возвращаться к этому состоянию.
HORM имеет достаточно много ограничений:
• При использовании HORM все фиксированные диски должны быть защищены фильтром;
• Не допускается использование исключений для файлов, папок или разделов реестра;
• Оверлей должен работать только в режиме RAM, поскольку HORM не поддерживает работу с дисковым оверлеем.
Также необходимо отключить все функции, способные изменить файл гибернации, такие как гибридный спящий режим и режим быстрого запуска. Это необходимо для того, чтобы сохраненное в файле гибернации состояние оставалось неизменным.
Перед включением HORM необходимо убедится в том, что режим гибернации включен, после чего активировать режим командой:
uwfmgr filter enable-horm
После включения HORM надо создать привычную рабочую среду, после чего отправить компьютер в гибернацию, для создания исходного файла. Затем надо вывести компьютер из гибернации и перезагрузить его, и после перезагрузки вы получите свою рабочую среду, сохраненную фильтром.
Еще одним важным моментом является то, что при включенном режиме HORM нельзя изменять настройки фильтра или отключать его. Если необходимо произвести какие либо действия с UWF, то сначала необходимо отключить HORM:
uwfmgr filter disable-horm
Примечание. Более подробно об использовании HORM можно узнать здесь.
Заключение
В заключение попробуем подвести итог, выделить плюсы и минусы использования UWF. К плюсам можно отнести:
+ Практически абсолютная защита системы от любого вида вредоносных воздействий. С системой можно производить любые эксперименты, ведь все изменения бесследно исчезнут после перезагрузки;
+ Ускорение работы системы при использовании RAM оверлея. Все дисковые операции производятся в оперативной памяти, что существенно ускорит работу.
Но есть и существенные минусы:
— Основной минус — это невозможность полноценной работы. Конечно, можно каждый раз подтверждать изменения или использовать исключения, но это достаточно неудобно. А установка какого либо ПО при работающем фильтре становится неразрешимой задачей;
— При использовании RAM оверлея необходимо иметь достаточное количество оперативной памяти. Также требуется самостоятельно отслеживать заполнение оверлея;
— Требуется тщательная настройка системы, отключение компонентов, использующих временные файлы.
— Функционал доступен только в старших редакциях Windows 10.
Вот как то так. Дополнительную информацию о UWF можно найти здесь: https://docs.microsoft.com/en-us/windows-hardware/customize/enterprise/unified-write-filte
Опытные пользователи наверняка знакомы с программами, позволяющими как бы замораживать Windows, перенаправляя запись операций в оперативную память. Благодаря этим программам при следующей перезагрузке все изменения в файловой системе сбрасываются, и Windows возвращается в исходное состояние. Но мало кто знает, что операционная система Windows 8.1 и 10 обладает собственной функцией «заморозки», по умолчанию отключённой.
Называется она Unified Write Filter или Фильтр записей, сокращённо UWF. Если фильтр включён, все записи, производимые в ходе операций с файлами и папками, будут записываться не на физический диск, а в особую область оперативной памяти. То есть, если вы перезагрузите компьютер, все произведённые вами или программным обеспечением изменения в файловой системе будут отменены. Функция доступна не во всех редакциях Windows, а лишь в Education, Enterprise и LTSB, а также встроенных системах (Embedded), используемых в терминалах, банкоматах и других подобных устройствах.
Сразу нужно отметить, что UWF не идеален, поэтому мы бы не советовали использовать его на практике. Если вы всё же решите им воспользоваться, необходимо будет внести в его работу определённые изменения. В Windows фильтр записи представлен отдельным компонентом в Панели управления (апплет «Программы и компоненты»). Чтобы его активировать, откройте окошко включения и отключения компонентов Windows, найдите и разверните элемент «Блокировка устройства» и установите галочку в пункте «Объединённый фильтр записи».
Сохраните настройки, нажав «OK» и перезагрузите компьютер.
Включить фильтр можно также с помощью PowerShell или консольной утилиты Dism, выполнив в запущенной с повышенными привилегиями консоли CMD команду:
DISM.exe /Online /enable-Feature /FeatureName:client-UnifiedWriteFilter
Управление установленным компонентом производится с помощью командной строки, а именно встроенной утилиты uwfmgr.exe. Включается фильтр записей командой uwfmgr.exe filter enable, отключается командой uwfmgr.exe filter disable.
Защита вступает в силу после перезагрузки компьютера. В состоянии защиты будут отключены файл подкачки, автоматическая дефрагментация, индексирование и создание системных точек восстановления. Помимо включения самого фильтра, нужно указать защищаемый том, например, системный раздел C.
uwfmgr.exe volume protect C:
Исключение составляют внешние накопители (USB-диски), по всей видимости, защита для них отключена на программном уровне, хотя её можно и обойти. Как проверить, включена ли защита? Командой uwfmgr.exe get-config.
При этом в консоли будет выведен список параметров фильтра для каждого контролируемого компонента. После этого вы можете выполнять в системе различные действия: устанавливать и удалять программы, тестировать твики реестра и т.п. Как только вы перезагрузитесь, Windows будет возвращена в состояние, в котором она находилась в момент включения UWF.
А теперь внимание. При использовании фильтр записей некоторые службы могут начать работать некорректно. Чтобы этого избежать, их нужно будет добавить в список исключений. Список исключаемых подсистем вы можете скачать по ссылке yadi.sk/i/0-X7WdAh3NX5GL. Чтобы добавить в исключения папку/файл или ключ реестра, необходимо выполнить такие команды:
Uwfmgr.exe file add-exclusion C:Путь_к_папкефайлу
Uwfmgr.exe registry add-exclusion «ключ_реестра»
Изменения вступают в силу после перезагрузки. Для этого правила действуют свои исключения. Так, вы не можете отключить защиту UWF для системных каталогов Windows и важных ключей реестра (см. Скриншот «ошибка отказано в доступе»). При отключении UWF командой uwfmgr.exe filter disable все правила будут удалены. Защиту также можно отключить для конкретного раздела, например, фильтр записей для диска C отключается командой uwfmgr.exe volume unprotect C:.
При работе с Unified Write Filter у вас может возникнуть необходимость временно отключить защиту, например, для установки обновлений системы или антивируса. В этом случае полное отключения фильтра необязательно, вместо этого его можно перевести в сервисный режим, выполнив команду Uwfmgr.exe servicing enable.
После перезагрузки вы можете устанавливать обновления. Повторная автоматическая перезагрузка восстановит обычный режим UWF.
И последнее.
Использовать фильтр записей в Windows мы не советовали по той причине, что он может работать некорректно. Если вдруг после включения UWF у вас перестала загружаться система, необходимо будет загрузиться с установочного диска Windows и, получив доступ к реестру, отредактировать эти два ключа:
HKEY_LOCAL_MACHINESYSTEMControlSet001Servicesuwfvol HKEY_LOCAL_MACHINESYSTEMControlSet001ControlClass{71a27cdd-812a-11d0-bec7-08002be2092f}Lower Filters
В первом ключе нужно изменить значение параметра start на 4, во втором удалить строку uwfvol. Также можно попробовать прибегнуть к откату с помощью системных точек восстановления.
Загрузка…
EWF – это дополнительный модуль операционной системы, изначально входит в состав Microsoft Windows XP Embedded и Windows Embedded Standard 7, которая применяется в различной встраиваемой технике. Например, используется в банкоматах, терминалах оплаты, игровых автоматах, различных системах «умный дом», где очень часто используется SSD или USB Flash память для уменьшения энергопотребления, тепловыделения и шумности работы.
В каких случаях применяется EWF.
1. В системах использующих SSD и CompactFlash накопители. Для сокращения числа обращений к диску при записи информации, что даёт возможность продлить срок службы этих накопителей.
2. Для ускорения работы Windows (все операции записи на диск происходят в оперативной памяти).
3. Для лёгкого возврата к первоначальному состоянию при перезагрузке Windows.
Как работает EWF.
У EWF существуют несколько режимов работы (более подробную информацию о всех режимах EWF можно получить на сайте msdn.microsoft.com/en-us/library/ms912915.aspx), нас интересует только режим EWF RAM Reg Mode.
При использовании фильтра EWF между диском и программами создается специальная буферная зона (оверлей) в оперативной памяти. При работе программ вся записанная информация происходят не на диск, а в быструю энергозависимую память. После завершения работы системы все изменения могут быть записаны на диск, или просто аннулированы.
Это дает несколько преимуществ:
1. Систему можно сделать полностью «стерильной» — например, установили все ПО, запустили EWF, отключили сохранение изменений, и каждый раз после перезагрузки вы получаете «чистую» ОС.
2. Вместо записи на диск все пишется в RAM, а это дает значительный прирост производительности даже на обычных HDD, не говоря уже о SSD и Flash.
Есть и минусы:
1. Отъедается оперативная память пропорционально количеству изменений, но это можно обойти, настроив сохранение части информации на других дисках не защищённых EWF фильтром.
2. Увеличивается время выключения/перезагрузки компьютера до 3-5 минут при записи изменений на диск из буферной зоны.
3. Если вся оперативная память будет заполнена (изменениями и модификациями файлов) – при попытке записи вы получите сообщение о нехватке памяти и система может просто «зависнуть».
Поэтому, если вы собираетесь копировать на защищенный диск что-то массивное, убедитесь, что у вас достаточно оперативной памяти для новых данных или временно отключите EWF (ewfmgr c: -commitanddisable –live).
Устанавливаем EWF.
Загружаем EWF_Install_Tool.rar, распаковываем архив. Для простой установки используем программу EWFTool.exe из каталога ewf_tool. Нажимаем «Install EWF Support» и «Minimize Disk Writes», или запускаем install.bat из каталога ewf_install после этого нужно перезагрузить систему. Если при загрузке операционная система вылетит в BSOD (синий экран) то для отмены EWF нужно восстановить файл ntldr в корне диска C: из файла ntldr.bak. В директории command находятся командные файлы управления EWF.
Для установки можно воспользоваться сборкой EWF+GUI Quick Install включающую драйвер EWF и утилиту управления режимами работы драйвера.
Замечание.
По умолчанию EWF устанавливается на диск C. Работа с файлами на других дисках осуществляется как обычно.
Описание команд управления EWF.
ewfmgr c: -enable – включение EWF при следующей перезагрузке
ewfmgr c: -commitanddisable – отключение EWF при следующей перезагрузке и сохранение всех изменений на диск при выключении/перезагрузке системы.
ewfmgr c: -commitanddisable -live – отключение EWF без перезагрузки системы, при этом информация на диск сохраняется непосредственно после выполнения команды
ewfmgr c: -commit – сохранить все изменения на диск при выключении/перезагрузке компьютера. Не использование этой команды ведёт к безвозвратной потере всего, что вы сделали за сеанс работы Windows! По этому, эту команду лучше всего поместить в автозагрузку или выполнять её вручную после внесения изменений
Несколько вариантов использования.
Первый вариант, если нужно ускорить работу операционной системы:
1. Запускаем EWF (ewfmgr c: -enable), помещаем команду ewfmgr c: -commit в автозагрузку или запускаем эту команду вручную и перезагружаемся.
Теперь все операции записи на диск С: будут производится в оперативной памяти, а при перезагрузке все изменения будут записываться на диск. Обратите внимание, что при нажатии на Reset или сбое питания изменения не сохранятся!
В результате значительно ускоряется работа системы. Сокращается число обращений к накопителю (SSD или Flash) на запись, продлевая срок его службы.
Второй вариант используется для сохранения изначального состояния системы. При перезагрузке все изменения данных на диске С: не сохраняются.
1. Останавливаем EWF, выполняем команду ewfmgr c: -commitanddisable –live (при этом сохраняются все изменения до выполнения команды, отключается EWF);
2. Вносим изменения (устанавливаем программы, записываем данные);
3. Выполняем команду запуска EWF ewfmgr c: -enable (этим мы фиксируем новое состояние системы);
4. Перезагружаемся.
В итоге получаем систему защищённую от любых изменений на диске С.