- Фильтр защиты от записи на диск Unified Write Filter (UWF) в Windows 10
- Как включить и настроить Unified Write Filter в Windows 10
- Обслуживание Windows 10 с включенным фильтром UWF
- Добавление исключений в фильтр записи UWF
- Отключение фильтра UWF, сброс настроек
- Режим Hibernate Once/Resume Many (HORM) в UWF
- Внедрение Enhanced Write Filter (EWF)
- Введение
- Установка EWF на Windows XP
- Установка EWF на Windows 7
Фильтр защиты от записи на диск Unified Write Filter (UWF) в Windows 10
UWF (Unified Write Filter — объединенный фильтр записи) – это специальный фильтр записи файловой системы в Windows 10, который позволяет защитить системные файлы Windows и данные на диске от любых изменений. При включенном UWF фильтре любые операции записи на защищаемый диск или в системный реестр перехватываются драйвером UWF фильтра и помещаются в отдельное виртуально пространство (оверлей). После перезагрузки Windows все изменения на защищаемых дисках не сохраняются, т.е. Windows всегда возвращается к исходному состоянию на момент включения фильтра UWF.
Как работает фильтр UWF? Он защищает файловую систему выбранных разделов локальных дисков от изменений, прозрачно перенаправляя все операции записи на файловую систему в виртуальный оверлей в памяти, который хранит все изменения.
Как включить и настроить 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 фильтра можно командой:
В нашем примере видной, что системный диск находится в защищенном состоянии, 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
Добавление исключений в фильтр записи 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
Для удаления файла из исключений, выполните команду:
uwfmgr file remove-exclusion c:\student\report.docx
Некоторые системные каталоги и файлы нельзя добавить в исключения, например:
- Файлы реестра в каталоге \Windows\System32\config\;
- Корень диска;
- Каталоги \Windows, \Windows\System32, \Windows\System32\Drivers;
- Файлы подкачки
- И т.д.
Для корректной работы некоторых служб необходимо добавить в список исключений фильтра записи пути к их каталогам, файлам и веткам реестра. В следующем списке я собрал типовые исключения для некоторых подсистем Windows:
Исключения для BITS:
Исключения для корректной работы в беспроводных сетях (данные исключения позволят подключаться к 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\< >\<
>.xml
Исключения для корректной работы в проводных сетях:
- 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\< >\<
Исключения для 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, сброс настроек
Вы можете сбросить настройки UWF фильтра к начальным (на момент включения фильтра):
uwfmgr filter reset-settings
Чтобы полностью отключить UWF фильтр (после перезагрузки все изменения на диске будут сохраняться):
uwfmgr.exe filter disable
Либо можно отключить защиту фильтра конкретного раздела:
uwfmgr.exe volume unprotect C:
- Отключить запуск 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
Настройте рабочее окружение пользователя (запустите необходимые приложения, откройте файлы и т.д.). Затем переведите компьютер в режим гибернации командой:
Разбудите компьютер и перезагрузите его. При следующей перезагрузке Windows 10 сразу запустится в состоянии, хранящемся в файле гибернации.
Для отключения HORM выполните команду:
uwfmgr filter disable-horm
Из интересных сценариев, возможность реализации которых предоставляет фильтр UWF:
- Ускорение работы Windows (на диск ничего не пишется, а все операции записи на диск производятся в оперативной памяти, а-ля RAM диск);
- При запуске Windows на твердотельных накопителях (SSD/CompactFlash) можно уменьшить износ ячеек накопителя за счет уменьшения количества операций записи;
- Проведение различных экспериментов, тестирование стороннего ПО и изучение зловредов (для этих целей также можно использовать режим песочницы Windows).
Внедрение Enhanced Write Filter (EWF)
Расширенный фильтр записи (Enhanced Write Filter, EWF) — это дополнительный компонент, использующийся в Windows Embedded. EWF делает дисковый том доступным только для чтения.
Введение
Enhanced Write Filter может применяться в различных целях.
- Enhanced Write Filter позволяет создать загрузочную Flash-карту системы Windows и уменьшить количество циклов записи на карту, тем самым увеличив срок ее службы.
- При использовании SSD защита от записи с помощью EWF также позволяет увеличить срок службы диска.
- Также можно использовать EWF для защиты ПК от последствий воздействия вирусов, троянов и прочих опасностей при работе неопытного пользователя в Интернете.
Я использовал EWF в Windows XP, чтобы обеспечить устойчивую работу компьютера.
Основной идеей было получить безопасную ОС для серфинга в Интернете. EWF позволяет уберечь ПК от последствий посещения развлекательно-информационных ресурсов. Не секрет, что в последнее время участились случаи недобросовестной рекламы. Зайдя на ресурс, где размещена реклама, можно подвергнуться различным атакам. Однако, при использовании EWF все изменения, произошедшие на системном диске, после перезагрузки не сохраняются, и система, подвергнувшаяся атаке, снова готова к работе. Вторым приятным моментом является то, что при работе через EWF в ОС не накапливаются изменения, замедляющие ее работу, и через полгода Windows XP работает также шустро, как в день установки ОС.
При этом все необходимые изменяемые файлы (пользовательские документы и пр.) можно хранить на втором диске или разбить имеющийся на два раздела — системный и раздел для хранения файлов.
Установка EWF на Windows XP
В нем содержатся следующие файлы:
ewf.sys
EWFMGR.EXE
ewfntldr
ewf.reg
Файл ewf.sys копируем в %systemroot%\system32\drivers
EWFMGR.EXE в %systemroot%\system32.
2. Файл ewfntldr необходим для замены ntldr, находящегося в корневом каталоге системного диска. Не забудьте сделать копию оригинального файла, на случай если вы захотите отменить изменения.
3. Нам необходимо добавить информацию в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EWF.
Для этого надо дать пользователю, от имени которого вы работаете, доступ на запись в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root.
По умолчанию к этому разделу только System имеет доступ на запись.
4. В реестр добавляется следующая информация:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EWF]
«NextInstance»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_EWF\0000]
«Service»=»EWF»
«Legacy»=dword:00000001
«ConfigFlags»=dword:00000020
«Class»=»LegacyDriver»
«ClassGUID»=»<8ecc055d-047f-11d1-a537-0000f8753ed1>»
«DeviceDesc»=»EWF»
«Capabilities»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf]
«ErrorControl»=dword:00000001
«Group»=»System Bus Extender»
«Start»=dword:00000000
«Type»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf\Parameters\Protected\Volume0]
«Type»=dword:00000001
«ArcName»=»multi(0)disk(0)rdisk(0)partition(1)»
5. Теперь необходимо максимально очистить системный диск от временных и ненужных файлов.
6. Также можно перенести профиль пользователя на другой диск. В Windows XP для этого необходимо от имени учетной записи администратора перенести все профили, кроме администраторского, и исправить информацию о расположении в HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\SID\ProfileImagePath\.
7. Затем необходимо создать временного пользователя, дать ему права администратора, зайти в систему от его имени, перенести каталог администратора и заменить значение в реестре.
Плюсом переноса пользовательских профилей является то, что можно сохранять документы в рекомендованном системой месте.
Минусом является то, что подгружаемая информация и кэш браузера будут быстро накапливаться в профилях.
8. Остается только запустить EWF. Для этого используется команда ewfmgr c: -enable.
Cписок команд, с помощью которых можно управлять EWF:
- ewfmgr c: -enable — включение EWF;
- ewfmgr c: -commitanddisable — отключение EWF при следующей перезагрузке и сохранение всех изменений на диск при выключении/перезагрузке системы;
- ewfmgr c: -commitanddisable -live — отключение EWF без перезагрузки системы (при этом информация на диск сохраняется непосредственно после выполнения команды);
- ewfmgr c: -commit — сохранить все изменения на диск при перезагрузке или выключении ПК.
Последняя команда является очень важной при установке обновлений системы. Невыполнение этой команды ведет к безвозвратной потере всего, что вы сделали за сеанс работы Windows!
Если вы используете EWF только для защиты Flash-карты или SSD-диска от большого количества циклов записи/чтения, эту команду лучше всего поместить в автозагрузку.
Установка EWF на Windows 7
Установка EWF на Windows 7 возможна только в том случае, если вы используете EWF для SSD-диска.
Установка состоит из нижеперечисленных этапов.
1. Добавляем в реестр следующую информацию:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ewf]
«ErrorControl»=dword:00000001
«Start»=dword:00000000
«Type»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Ewf\Parameters\Protected\Volume0]
«Type»=dword:00000001
«Enabled»=dword:00000001
«CompareBeforeAlloc»=dword:00000000
«DiskSignature»=dword:00000000
«PartitionOffset»=hex(b):00,00,00,00,00,00,00,00
ewf.sys копируем в %systemroot%\system32\drivers
EWFMGR.EXE в %systemroot%\system32.
3. Теперь запускаем cmd, а в нем — утилиту diskpart.
4. Набираем «select disk nn», где nn — это номер диска (считается с 0).
Затем «detail disk»:
Нас интересует «Disk ID» (в русифицированной версии «ИД Диска»), запоминаем это значение.
5. Теперь набираем «select partition nn», где nn — номер.
Выводим информацию «detail partition»:
Нас интересует число, идущее после «Offset in Bytes» (в русифицированной версии «Смещение в байтах»).
6. Открываем в regedit раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\servic es\Ewf\Parameters\Protected\Volume0 и редактируем значения:
DiskSignature — сюда вписываем «Disk ID»;
PartitionOffset — «Offset in Bytes».
7. Остается только включить EWF командой «ewfmgr c: -enable» и перезагрузить компьютер.
Подробно с EWF можно ознакомиться на сайте MSDN.