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. Перезагружаемся.
В итоге получаем систему защищённую от любых изменений на диске С.
Сергей Антонович
Журнал Control Engineering
№3 (45) 2013
В предыдущей статье цикла публикаций, посвященных новейшей встраиваемой ОС Windows Embedded 8, были перечислены особенности платформы Windows Embedded в общем и представлены средства разработки ОС Windows Embedded 8 Standard. Данный материал посвящен расширенным возможностям Windows 8 Embedded Lockdown для встраивания в устройства.
Одной из особенностей, отличающих Windows Embedded от классических систем Windows, являются расширенные возможности блокировки (lockdown) устройства.
Блокировка устройства подразумевает реализацию его контролируемого поведения для конечного пользователя за счет ограничения путей взаимодействия с устройством. Существуют различные причины для блокировки, например защита от проникновения в систему пользователем с терминала, определенное поведение системы для пользователя, увеличение надежности работы системы.
Windows Embedded 8 Standard основана на Windows 8, поэтому включает базовые возможности блокировки классической Windows 8: AppLocker, брандмауэр, групповые политики. Но для встраивания системы зачастую бывают необходимы дополнительные возможности. Например, если устройство представляет собой электронную кассу, нажатия комбинаций клавишей Alt+F4, Alt+Tab крайне нежелательны, так как позволят выйти за пределы специализированного приложения и получить доступ к системе.
В основном, именно эти, специфические для Embedded возможности отличают Windows семейства Embedded от классических систем Windows общего назначения:
- фильтры записи (Write Filters) и связанная с ними технология многократного восстановления системы из единожды инициированного спящего режиме (Hibernate-Once-Resume-Many, HORM);
- фильтр реестра (Registry Filter);
- фильтр диалоговых окон (Dialog Filter);
- фильтр клавиатуры (Keyboard Filter);
- фильтр жестов (Gesture Filter);
- брендирование (Branding).
На рис. 1 показаны компоненты в каталоге Windows Embedded, предоставляющие возможности блокировки.
Рис.1. Компоненты блокировки в каталоге Windows Embedded
ФИЛЬТРЫ ЗАПИСИ
Фильтры записи используются во встраиваемой системе, чтобы защитить носитель данных от записи на него. Под носителем данных подразумевается любое устройство для хранения данных, поддерживаемое Windows 8. Такая возможность может быть полезна, например, для того, чтобы предотвратить многократную перезапись данных на твердотельный жесткий диск, тем самым увеличив срок его службы. Фильтры записи позволяют также представить для операционной системы носитель только для чтения как записываемый.Включенный фильтр записи перехватывает попытки записи на защищенные носители и перенаправляет их в специальную область – оверлей, в которой сохраняются только изменения, внесенные при попытках записи на защищенный носитель. Обычно оверлей размещается в системной памяти, хотя возможно его размещение на диске.
Оверлей в памяти полезен, когда необходимо уменьшить количество записей на твердотельный носитель во избежание его износа, а также при работе системы на носителях только для чтения. Размер оверлея в этом случае ограничен объемом свободной памяти; при заполнении оверлея система должна быть перезагружена.Оверлей на диске может быть гораздо большего размера, тем самым время непрерывной работы системы, связанное с заполнением оверлея, многократно возрастает. Возможность размещения оверлея на диске вместо памяти существовала также в Windows Embedded Standard 2009, но если там дисковый оверлей сохранялся после перезагрузки устройства и в любой момент можно было перенести изменения из оверлея на диск (commit), то в Windows Embedded 8 Standard дисковый оверлей ведет себя подобно оверлею в памяти, то есть не сохраняется после перезагрузки; также в любой момент можно перенести изменения из оверлея на диск.
Если разработчиком не создано никаких исключений, то между перезагрузками оверлей не сохраняется, что позволяет получить устройство, которое после каждой перезагрузки будет находиться в исходном состоянии. Работу оверлея можно сравнить с прозрачной пленкой, наложенной на объектив проектора: любое изменение на такой пленке отражается на изображении, однако если пленку убрать, картинка останется неизменной.
Работа с защищенным носителем полностью прозрачна для приложений: с их стороны защищенный фильтром носитель ничем не отличается от обычного с возможностью записи. Все попытки записи обрабатываются фильтром автоматически. При чтении, если запрашиваемая область ранее записывалась в оверлей, возвращаются данные именно из оверлея.
Такое поведение становится интересным, когда рассматривается воздействие на систему вредоносных программ: такие программы вместе с нежелательными изменениями, внесенными ими в систему, будут существовать только до ближайшей ее перезагрузки, после которой оверлей с изменениями будет очищен и система вернется в исходное состояние.
Windows Embedded 8 Standard поддерживает следующие фильтры записи:
-
EWF (Enhanced Write Filter, улучшенный фильтр записи;
-
FBWF (File Based Write Filter, файловый фильтр записи);
-
UWF (Unified Write Filter, объединенный фильтр записи).
UWF является новым в Windows Embedded 8 Standard и объединяет вместе возможности EWF, FBWF и фильтра реестра, поэтому нельзя одновременно использовать UWF и любой из перечисленных фильтров.Чтобы понять различия фильтров записи, рассмотрим таблицу 1.
ТАБЛИЦА 1. РАЗЛИЧИЯ ФИЛЬТРОВ ЗАПИСИ
Функционал фильтра | UWF | EWF | FBWF |
Исключения: директории и файлы | + | — | + |
Исключения: директории и файлы | + | — | + |
Исключения: реестр | + | с использованием Registry Filter | с использованием Registry Filter+ |
Фильтр на уровне секторов | + | + | — |
Поддержка HORM | + | — | — |
Оверлей в памяти | + | + | + |
Оверлей на диске | + | — | — |
Провайдеры Windows Management Instrumentation v2 | + | — | — |
Сохранение раздела из оверлея на носитель | — | +- | — |
Сохранение файла из оверлея на носитель | + | — | + |
Конфигурирование на работающей системе (runtime) | командная строка, PowerShell, Embedded Lockdown Manager, провайдеры WMI | командная строка- | командная строка+ |
Различия между фильтрами объясняются тем, что EWF работает на секторном уровне, а FBWF — поверх файловой системы, что и позволяет настраивать указанный фильтр на уровне отдельных файлов. UWF объединяет достоинства обоих фильтров: он работает на секторном уровне, а также позволяет настроить фильтрацию на уровне отдельных файлов. Фактически фильтры EWF и FBWF оставлены разработчиками только для обратной совместимости с Windows.
С фильтром UWF связана возможность многократно восстанавливать систему из единожды инициированного спящего режима (HORM). Это достигается путем повторного использования файла дампа памяти спящего режима после перезагрузки (в отличие от классической Windows, где указанный файл используется лишь единожды). Использование HORM несовместимо с любыми исключениями фильтров, а также с размещением оверлея на диске.
Отдельного обсуждения требует установка обновлений на систему, защищенную фильтрами записи: если не изменить поведение фильтров записи, то все изменения будут потеряны после перезагрузки устройства. Чтобы этого не произошло, для фильтров FBWF и EWF предусмотрен следующий сценарий:
- Выключить фильтр и перезагрузить систему для вступления изменения в силу.
- Установить необходимые обновления, при необходимости перезагрузить систему.
- Включить фильтр и перезагрузить систему для вступления изменения в силу.
Для установки обновлений на систему, защищенную UWF, предусмотрен специальный режим обслуживания (servicing). Все действия выполняются автоматически специальным сценарием, участие администратора не требуется. Для входа в указанный режим необходимо выполнить одну команду и перезагрузить устройство. Кроме того, существует специальный компонент UWF Anti-Malware, позволяющий автоматически добавить в исключения фильтра UWF конфигурацию обновлений «Защитника Windows» (Windows Defender) так, что они будут сохраняться после перезагрузки системы.
Для развертывания (deploy) образа системы, включающей фильтры записи, перед захватом (capture) образа фильтр следует отключить. Включение фильтров можно произвести на вновь разворачиваемой системе как вручную, так и автоматически после развертывания.
Вас может заинтересовать:
ФИЛЬТРЫ РЕЕСТРА
Фильтр реестра позволяет сохранить измененные значения отдельных разделов или параметров реестра между перезагрузками, в то время как носитель, на котором расположены файлы данных реестра, защищен фильтром записи.
Обычно в системе, защищенной фильтром записи, все изменения, производимые в реестре, попадают в оверлей и остаются там до перезагрузки. Фильтр реестра отслеживает обновления отдельных разделов или параметров и сохраняет их в свой собственный оверлей. После перезагрузки устройства изменения, сохраненные в оверлее, копируются в память, чтобы создать эффект сохранения настроек. Фильтр реестра, скомбинированный с EWF или FBWF, позволяет сохранять значения разделов или параметров реестра в то время, как оставшаяся часть системы остается защищенной фильтрами записи.
Подчеркнем следующее:
- Фильтр реестра не применяется совместно с фильтром UWF, так как последний имеет свои собственные возможности, связанные с реестром (см. таблицу 1);
- Как видно из описания, фильтр реестра, в отличие от фильтров записи, позволяет именно сохранять изменения в реестре между перезагрузками, а не уничтожать их, то есть фактически позволяет создать исключения, связанные с реестром, для фильтров EWF и FBWF.
ИСКЛЮЧЕНИЯ ФИЛЬТРОВ ЗАПИСИ
Некоторые фильтры записи допускают настройку исключений. Так, например, при использовании FBWF можно исключить из фильтра определенные файлы. В то время как указанные файлы будут записываться на защищаемый носитель, оставшаяся его часть будет по-прежнему защищена от записи.
В исключения, например, рекомендуется вносить файлы и параметры реестра, связанные с CEIP (Customer Experience Improvement Program, программа улучшения качества обслуживания) и настройками сети.
ФИЛЬТР ДИАЛОГОВЫХ ОКОН
Фильтр диалоговых окон используется для управления окнами, отображаемыми на экране, путем совершения выбранного заранее одного из действий: блокирование или выполнение стандартного действия. Блокируются все диалоговые окна, которые соответствуют заранее заданному списку правил. Среди таких правил, например, находятся заголовок окна, путь к процессу, создавшему окно, имена и типы компонентов верхнего уровня, относящихся к окну.
Для незаблокированных диалоговых окон задается стандартное действие: показать или закрыть окно (по умолчанию оно отображается). Существует также возможность всегда отображать незаблокированные окна определенных («защищенных») процессов вне зависимости от выбранного стандартного действия.Подробнее поведение фильтра показано на рис. 2.
Рис.2. Поведение фильтра диалоговых окон
Фильтр диалоговых окон имеет два важных ограничения:
- Он не может блокировать диалоговые окна, созданные приложениями, выполняющимися от имени администратора. На реальной системе процессы, взаимодействующие с пользователем, обычно выполняются с ограниченными правами, поэтому эта особенность не сказывается на удобстве использования фильтра;
- Он анализирует только диалоговые окна, имеющие окно рабочего стола в качестве родительского. Это предотвращает затрагивание фильтром элементов, имеющих другие родительские окна (например, кнопки).
ФИЛЬТР КЛАВИАТУРЫ
Фильтр клавиатуры используется для блокирования нежелательных нажатий клавиш или их комбинаций. Обычно пользователь может использовать некоторые служебные комбинации клавиш, таких, как Ctrl+Alt+Delete, тем самым изменяя функционирование устройства, например блокируя экран или используя диспетчер задач для закрытия приложения. Фильтр клавиатуры позволяет подавить любые нажатия клавиш или их комбинаций, приводящие к такому нежелательному поведению системы.В Windows Embedded 8 Standard фильтр клавиатуры одинаково хорошо работает как с физическими, так и с экранными клавиатурами. Корректно отслеживаются переключения раскладки, даже если размещение подавляемых клавиш при этом изменилось.Фильтр позволяет подавить комбинации клавиш, даже если их источником являются несколько разных клавиатур; может быть отдельно включен или выключен для учетных записей администраторов; позволяет задать правила блокирования как для скан-кодов клавиатуры, так и для виртуальных клавиш.
ФИЛЬТР ЖЕСТОВ
В настольной Windows 8 широко применяются жесты. Но во встраиваемых системах их использование может быть нежелательно, поскольку, например, пользователь может выйти на экран «Пуск», используя жест в правой части экрана.Фильтр жестов позволяет полностью выключить жесты на любом из краев экрана, как выборочно, в любой комбинации, так и все сразу. Обрабатываются как жесты пальцами, так и указателем мыши.Настройка фильтра жестов производится до развертывания системы, но существуют также недокументированные возможности его настройки на работающей системе.
БРЕНДИРОВАНИЕ
Под брендированием подразумевается возможность изменения в системе визуальных элементов, позволяющих ее идентифицировать (например, флажок Windows при загрузке) и добавление своих собственных. Windows Embedded 8 Standard включает несколько модулей, позволяющих настраивать элементы брендирования.Загрузка без элементов брендирования (Unbranded Boot) позволяет удалить во время загрузки элементы интерфейса, идентифицирующие систему как Windows Embedded 8 Standard, а также подавить появление экрана с ошибкой, после которой система не может восстановиться.Unbranded Boot настраивается как до развертывания системы, так и с командной строки на работающей системе. Существуют следующие ограничения:
Для инициализации параметров Unbranded Boot в реестре первый вход в развернутую систему необходимо выполнить под учетной записью с административными правами.
- При использовании Unbranded Boot недопустимо конфигурировать автоматический вход в систему (Auto Logon) до развертывания образа. Необходимо делать это только на развернутой системе после первого входа с учетной записью администратора.
- Unbranded Boot не может убрать или изменить загрузочный логотип BIOS, так как он отображается до загрузки операционной системы. Однако существуют способы сделать это, если целевое устройство поддерживает UEFI (Unified Extensible Firmware Interface).
По аналогии с Unbranded Boot, собственный вход в систему (Custom Logon) позволяет избавиться от элементов брендирования уже не при загрузке, а на экране входа в систему и выключения устройства. По отдельности можно убрать, например, такие элементы экрана входа, как анимацию, кнопку выключения, выбор метода ввода, окно закрытия приложений при выключении и т.д. В качестве дополнительных возможностей, в качестве опции для Custom Logon настраивается автоматический вход в систему. Подробнее про Auto Logon можно прочитать по ссылке [2].Запуск оболочки (Shell Launcher) позволяет заменить оболочку со стандартного проводника на любое приложение, причем по отдельности указать его для различных групп или пользователей, а также указать действие, которое выполняется при закрытии оболочки, например, перезапуск устройства, перезапуск оболочки и т.д. Подробнее про компонент можно прочитать по ссылке [3].
Запуск приложения Windows 8 (Windows 8 Application Launcher), в отличие от запуска оболочки, позволяет автоматически запустить не классическое приложение, а приложение Windows 8 с Modern-интерфейсом после входа в систему. Настройка Application Launcher несколько отличается от Shell Launcher, так как приложения идентифицируются не путем к исполняемому файлу, а идентификатором специального вида, который носит название AUMID (Application User Model ID). Кроме того, Modern-приложения по своему поведению и техническим особенностям отличаются от классических приложений. AUMID установленных приложений можно узнать, например, с помощью командлетов PowerShell.
УПРАВЛЕНИЕ ВОЗМОЖНОСТЯМИ БЛОКИРОВКИ
Возможности блокировки могут быть настроены в ICE (Image Configuration Editor, редактор конфигурации образа) на этапе проектирования образа (рис. 3), непосредственно на работающей системе (различными способами), а также с помощью инструмента ELM (Embedded Lockdown Manager, менеджер блокировки).
Рис.3. Управление возможностями блокировки в редакторе конфигурации образа
ELM позволяет производить настройку не только локально, непосредственно на целевой машине, но и удаленно, по сети. Для этого необходимо использовать учетную запись администратора с установленным не пустым паролем. Кроме того, необходимо сделать ряд настроек на целевой системе, чтобы разрешить удаленное управления возможностями изоляции.
Установка ELM для удаленного управления производится запуском на компьютере разработчика одного из файлов Windows8-RT-KB2758707-x86.msu или Windows8-RT-KB2758707-x64.msu (в зависимости от разрядности системы) с дистрибутива Windows Embedded 8 Standard Toolkit или по ссылке [4]. Для установки ELM на целевой системе не следует запускать указанные файлы, следует включить ELM в образ системы на этапе его разработки или развертывания.
В ELM (рис. 4) отображаются только доступные на целевой машине возможности изоляции. Те возможности, которые не были включены в образ, не будут доступны. ELM поддерживает настройку UWF, Dialog Filter, Keyboard Filter и Shell Launcher. Все параметры, доступные для редактирования в ICE при создании файла ответов, доступны также для редактирования в ELM во время выполнения целевой системы.
Рис.4. Управление возможностями блокировки в менеджере блокировки
Среди других путей управления блокировкой также присутствует использование командной строки (рис. 5) или командлетов PowerShell (рис. 6). Не все возможности блокировки управляются всеми перечисленными способами, для детальной информации следует обратиться к документации, прилагаемой к ICE или найти ее по ссылке [5].
Рис.5. Пример использования командной строки для получения текущей конфигурации UWF
Рис.6. Пример использования PowerShell для включения комбинации клавиш фильтра клавиатуры
Общая информация о системе Windows Embedded 8 Standard может быть найдена по ссылкам [6, 7].
ВЫВОДЫ
Возможности блокировки являются ключевым отличием Windows Embedded от классических систем Windows и позволяют добиться желаемого поведения системы, не тратя время и силы на ее адаптацию ко встраиваемому применению.
В следующей статье цикла речь пойдет о редакторе компонентов Module Designer, позволяющем создавать собственные компоненты каталога Windows Embedded для последующего встраивания их в образ системы.
Литература:
http://msembedded.ru/?p=2553
- http://msembedded.ru/?p=2513
- http://msembedded.ru/?p=2579
- http://www.microsoft.com/en-us/download/details.aspx?id=37020
- http://msdn.microsoft.com/en-US/library/ff795586(v=winembedded.0).aspx
- http://www.getwindowsembedded8.com
- http://www.microsoft.com/embedded
Полный текст статьи(pdf, 7 Mb)
Сергей Антонович,
Системный инженер по встраиваемым решениям
ООО «Кварта Технологии», г. Москва,
info@quarta.ru
Последние статьи:
Фильтры записи используются во встраиваемой системе, чтобы защитить носитель данных от записи на него. Под носителем данных подразумевается любое устройство для хранения данных, поддерживаемое Windows 8. Такая возможность может быть полезна, например, для того, чтобы предотвратить многократную перезапись данных на твердотельный жесткий диск, тем самым увеличив срок его службы. Фильтры записи позволяют также представить для операционной системы носитель только для чтения как записываемый.
Включенный фильтр записи перехватывает попытки записи на защищенные носители и перенаправляет их в специальную область — оверлей, в которой сохраняются только изменения, внесенные при попытках записи на защищенный носитель. Обычно оверлей размещается в системной памяти, хотя возможно его размещение и на диске.
Оверлей в памяти полезен, когда необходимо уменьшить количество записей на твердотельный носитель во избежание его износа, а также при работе системы на носителях только для чтения. Размер оверлея в этом случае ограничен объемом свободной памяти;
При заполнении оверлея система должна быть перезагружена.
UWF (Unified Write Filter, объединенный фильтр записи) является новым в Windows Embedded 8 Standard и объединяет вместе возможности EWF (Enhanced Write Filter, улучшенный фильтр записи), FBWF (File Based Write Filter, файловый фильтр записи) и фильтра реестра
Нельзя одновременно использовать UWF и любой из перечисленных фильтров.
Чтобы понять различия фильтров записи, рассмотрим таблицу 1.
Различия между фильтрами объясняются тем, что EWF работает на секторном уровне, а FBWF — поверх файловой системы, что и позволяет настраивать указанный фильтр на уровне отдельных файлов. UWF объединяет достоинства обоих фильтров: он работает на секторном уровне, а также позволяет настроить фильтрацию на уровне отдельных файлов. Фактически фильтры EWF и FBWF оставлены разработчиками только для обратной совместимости с Windows Embedded Standard 7.
С фильтром UWF связана возможность многократно восстанавливать систему из единожды инициированного спящего режима (HORM).
Это достигается путем повторного использования файла дампа памяти спящего режима после перезагрузки (в отличие от классической Windows, где указанный файл используется лишь единожды). Использование HORM несовместимо с любыми исключениями фильтров, а также с размещением оверлея на диске.
Отдельного обсуждения требует установка обновлений на систему, защищенную фильтрами записи: если не изменить поведение фильтров записи, то все изменения будут потеряны после перезагрузки устройства. Чтобы этого не произошло, для фильтров FBWF и EWF предусмотрен следующий сценарий:
- Выключить фильтр и перезагрузить систему для вступления изменения в силу.
- Установить необходимые обновления, при необходимости перезагрузить систему.
- Включить фильтр и перезагрузить систему для вступления изменения в силу.
Для установки обновлений на систему, защищенную UWF, предусмотрен специальный режим обслуживания (servicing). Все действия выполняются автоматически специальным сценарием, участие администратора не требуется. Для входа в указанный режим необходимо выполнить одну команду и перезагрузить устройство.
Кроме того, существует специальный компонент UWF Anti-Malware, позволяющий автоматически добавить в исключения фильтра UWF конфигурацию обновлений «Защитника Windows» (Windows Defender) так, что они будут сохраняться после перезагрузки системы.
Для развертывания (deploy) образа системы, включающей фильтры записи, перед захватом (capture) образа фильтр следует отключить.
Включение фильтров можно произвести на вновь разворачиваемой системе как вручную, так и автоматически после развертывания.
Особенности работы UWF
- Фильтр UWF не работает со съемными носителями (равно как и EWF). Со съемными носителями работает только фильтр FBWF
Продолжаем рассказывать о ноу-хау, которые мы используем в своей работе. Напомню, что мы в «Депарамент ИТ» строим и обслуживаем корпоративные ИТ-инфраструктуры так, что наши клиенты работают, а не звонят в техподдержку.
Сегодня поговорим об использовании тонких клиентов с операционной системой Windows Embedded. Для тех, кто не в курсе: тонкие клиенты – это компьютеры, единственная задача которых – подключать пользователя к серверу для работы. В случае тонких клиентов все вычисления выполняются не на локальном компьютере пользователя, а на сервере. Выглядят тонкие клиенты как небольшие компьютеры:
Рис. 1. Шесть поколений тонких клиентов в полном составе. Справа – «прадедушка» (HP t5550) с WinCE, слева – «правнук» тонкого клиента (t530) c Windows 10 IOT, все исправно работают.
Из-за того, что основная задача тонких клиентов – дать доступ пользователю к серверу для работы, к тонким клиентам предъявляется меньше требований по производительности, и они слабее традиционных стационарных компьютеров. Именно небольшая мощность тонких клиентов и формирует их преимущества – они дешевле стационарных компьютеров, потребляют меньше электроэнергии, занимают меньше пространства, не шумят (им хватает пассивного охлаждения), благодаря своей простоте реже ломаются. Если разобрать прадедушку и правнука тонкого клиента, то внутри у них принципиально ничего не меняется с годами, разве что для разборки прадедушки требуется открутить пять винтов, а правнук разбирается голыми руками:
Рис. 2. Тонкий клиент HP t530 (слева) и его предок HP t5550 (справа). Во всех тонких клиентах используется пассивное охлаждение и в качестве радиатора задействован в том числе и корпус тонкого клиента.
Главное преимущество тонких клиентов – это возможность безболезненно использовать их до наработки на отказ. В случае тонких клиентов все данные пользователей хранятся и обрабатываются на сервере, поэтому при отказе тонкого клиента его достаточно заменить на новый и пользователь продолжит свою работу с того места, где он остановился.
Единственное, что может омрачить работу с тонкими клиентами – это вирусы и шаловливые руки пользователей, чье влияние если не убивает, то как минимум ухудшает работу операционной системы. Если же принять во внимание, что программное обеспечение на тонких клиентах должно работать годами (если не десятилетиями) до их (тонких клиентов) фактической смерти, то проблема снижения качества их работы со временем из-за нежелательных модификаций становится очень актуальной.
Для защиты тонких клиентов от внесения нежелательных модификаций в их настройки в операционной системе Windows Embedded вшит функционал защиты от записи на диск, который блокирует попытки сохранения любых настроек и данных на диске тонкого клиента. В Windows Embedded 10 данный фильтр называется Unified Write Filter (UWF), в предыдущих версиях Windows Embedded он именуется как Enhanced Write Filter (EWF).
Принцип работы фильтра записи по-своему прост – он сохраняет изменения, которые пытаются сделать пользователи или программы в операционной системе, не на диске, а в оперативной памяти. Для работающих под Windows Embedded приложений кажется, что они работают с диском в привычном им режиме и могут сохранять на нем свои параметры и данные, но после перезагрузки тонкого клиента все сделанные изменения обнуляются и возвращается в свое исходное состояние.
Непосредственно фильтр защиты от записи на тонких клиентах представляет из себя замочек в трее, который горит зеленым, когда он включен (Рис. 3), и красным, когда отключен (Рис. 4). Выключить и включить его может только пользователь с правами администратора через этот же значок в трее (Рис. 5):
Рис. 3. Фильтр защиты от записи включен.
Рис. 4. Фильтр защиты от записи отключен.
Рис. 5. Меню управления фильтром защиты от записи.
С фильтром защиты от записи в Windows Embedded есть одна особенность, связанная с включением тонких клиентов в домен Active Directory. По умолчанию все компьютеры в домене Active Directory раз в 30 дней меняют пароли на свои учетные записи (по сути, это такой же процесс, который проходится проходить пользователям). И если вы введете тонкий клиент в домен и включите на нем фильтр записи, то пароль он автоматически понять сможет, а вот запомнить – нет. Как следствие, при следующей перезагрузке тонкий клиент вывалится из домена, и пользователи не смогут на него зайти. Решается данная проблема отключением в групповых политиках смены паролей на учетных записях тонких клиентов. Естественно, данную политику стоит применять только на тонкие клиенты (Рис. 6):
Рис. 6. Параметры настройки групповой политики для отключения смены пароля операционной системы на тонких клиентах.
Ну и напоследок о практических недостатках фильтра защиты на запись в Windows Embedded. Их два:
Первый недостаток – тонкие клиенты с включенным фильтром защиты от записи нужно периодически перезагружать (раз в неделю-две), потому что в противном случае фильтр записи занимает всю оперативную память, и тонкий клиент начинает тормозить.
Второй недостаток – фильтр записи иногда сам становится причиной сбоя в случае Windows 8.1 Embedded. Судя по всему, в Windows 8.1 Embedded система иногда стартует раньше фильтра и успевает записать какие-то данные на диск до того, как фильтр эту запись оборвет. Когда такое происходит (а может это накопительный эффект – я не исследовал) файловая система на тонком клиенте становится нечитаемой, и операционную систему на тонком клиенте приходится «перезаливать». Данная проблема отсутствует в тонких клиентах под управлением Windows 7 Embedded и Windows 10 Embedded, поэтому мы рекомендуем использовать тонкие клиенты под этими версиями операционной системы.
На этом все. Хорошего ИТ вам в компанию!