Из всей массы подходящих платформ был выбран Windows XP Embedded, т. Windows XP Embedded включает дополнительные функции по встраиванию, среди которых фильтр защиты от записи (EWF и FBWF), загрузка с флеш- памяти, CD- ROM, сети, использование собственной оболочки системы и т.
Начальство прониклось идеей модульного ПО. Плюсы такого подхода: структура ПО становится более упорядоченной более удобная система версионирования ПО (прошу прощения за этот чудо- термин, лучшего не придумалось) повышение скорости развёртывания\обновления ПО — большой файл пишется быстрее множества мелких повышение гибкости системы, например — системное ПО (ОС) можно смонтировать в read- only, не затронув при этом прикладные программы. Очевидных минусов вроде бы нет, казалось бы — внедряй и радуйся. Но то, что для QNX (изначально модульная система разрабатывалась для наших промышленных компьютеров) было просто и естественно в Windows стало адовой мигренью и выглядело как попытка скрестить морского ежа с подъёмным краном. В итоге реализовать таки получилось, но обо всём по порядку.
Усекновение Windows. Как решались задачи по пунктам: для блокирования записи на диск применяем EWF с отображением данных в RAMРасширенный фильтр записи — драйвер, перехватывающий обращения на запись к жёсткому диску и буферизующий их в зависимости от настроек: на специально выделенном скрытом разделев оперативной памяти. Реальной записи на защищённый раздел при этом не происходит, она выполняется только по запросу пользователя (т. Конструктор Корпусной Мебели. При использовании специального раздела для буферизации данные будут сохранены между перезагрузками, в случае буферизации в RAM — нет. Windows — «обычный пользователь» и ставим её в автологонсоздаём компонент типа Shell (системная оболочка) запускающий АРМ в качестве системной оболочки; исключаем из системы explorer. У особо хитроумного пользователя всё ещё есть возможность просматривать структуру каталогов через диалог сохранения файла в одном из окон АРМ, но: это проблема программистов (хе- хе)не забываем про фильтрацию записи и ограниченную учётную записьт. Попадались только реализации RAM- drive, что безусловно классно, но не то.
Вспомнил, что в комплект Windows Virtual Server включена утилита для монтирования файлов vhd, но как добавить её в мою Win. XP и легально ли это вообще, мне так и не открылось.
Windows XP Embedded - это компонентная версия Microsoft Windows XP. Любые операции записи, направленные на этот диск, перенаправляются в. Point);; консоль восстановления (Recovery Console);; Windows Management . Windows XPE - версия Windos XP-подобной системы. Более полное представление о составе диска может дать этот скриншот, . Windows XP Embedded — это встраиваемая компонентная операционная. Диск аварийного восстановления формируется на базе ядра операционной. Для ОС Windows XP папка Documents and Settings\All . Как начать разработку на Windows XP Embedded * Windows XP Embedded - это. Point);; консоль восстановления (Recovery Console);; Windows Management.
Проект века уже почти накрылся медным тазом, я прикидывал как бы отделаться меньшей кровью и избежать разработки собственного драйвера, как вдруг в гугле всплыла ссылка на отличнейший filedisk. Подходит по всем статьям — может монтировать образы как логические диски (эмулировать носитель он не умеет, но это и не требовалось), выполнен в виде драйвера, что позволяет легко добавить в проект XP Embedded, из коробки содержит консольную утилиту для управления дисками — то что надо для использования в стартовых скриптах. В общем — стопроцентное попадание.
Драйвер установлен, но где же взять сами образы? Берём dd for windows и создаём из её виртуального /dev/null образы требуемого размера.
Подключаем их с помощью filedisk, видим логические диски без ФС, создаём на них NTFS, заполняем содержимым. На одном из образов я разместил стартовые скрипты, которые запускаются после логона и производят некоторые настройки(установка IP- адреса, разрешения экрана и т. Ясно, что к моменту логона, образы уже должны быть примонтированы. И тут я перепробовал кучу вариантов — Schtasks, который позволяет выполнять задачу при логоне (но он срабатывал как- то далеко не всегда), загонял скрипт монтирующий диски в сервисы с помощью sc — при этом, содержимое образов было недоступно пользовательским аккаунтам от имени которых запускалось прикладное ПО (как вариант можно было бы перенести задачи из скриптов в службу, но скриптоложство мне почему- то милее этого бездушного C++). В итоге сколхозил — Auto. Ex. Nt выполняет монтирование перед логоном, а задачи конфигурирования системы исполняются с помощью зашифрованных cpau- заданий от имени администратора (т. Это был первый из стабильно работающих вариантов, а отладка к тому моменту так меня достала, что плюнул на уродство способа и оставил как есть.
Дополнительно, разработал небольшую простую утилитку автозапуска, т. Комплект поставки XPe включает в себя диск Win. PE, который содержит необходимые для разметки утилиты, но сценарии применения этого диска довольно туманны(например, он не может быть использован как диск восстановления).
Похвалив про себя такую заботу о пользователях, я решил вообще не связываться с продукцией Microsoft для развёртывания XPe (хотя есть вроде бы бесплатный Windows AIK, но по предыдущему опыту попыток разобраться в лицензионных ограничениях продуктов Microsoft было принято решение поискать чего- то на стороне). Решил попытать счастья с GNU/Linux, т. Взял Live- CD Ubuntu LTS, очистил его от логотипов и упоминания Ubuntu (ибо для глубокой модификации системы Canonical выдвигает такие требования) и начал кастомизировать. Выбор дистрибутива был обусловлен личными предпочтениями. Первая версия среды развёртывания представляла из себя bash- скрипт, который общался с пользователем с помощью zenity.
Простенько и со вкусом. Была забракована, как недостаточно божественная в плане UI. Вторая версия была написана на Mono (C# — корпоративный стандарт) и содержала в себе чуть ли не все графические элементы GTK. Высокая комиссия отметила, что UI по- прежнему недостаточно божественен, но таки жизнеспособен.
Сама процедура установки состояла из вызова внешних утилит — parted для разметки, mkfs. ФС и rsync для копирования данных с установочного носителя. Дальше — ребут и переход непосредственно к развёртыванию Windows Embedded. Заключение. Сейчас Windows XP Embedded (Windows Embedded Standard 2.
Windows Embedded 7, которая гораздо, гораздо, гораздо удобнее XPe, однако разработкой с её использованием занимается мой коллега, я же описал (как мог, хе- хе) собственный опыт. Надеюсь кто- то найдёт что- нибудь полезное в этом сборнике вредных советов. В завершении приведу список полезных ресурсов по Windows Embedded: В первую очередь это конечно же тематический раздел на MSDNРусскоязычный форум компании «Кварта» — официального поставщика Windows Embedded в России. Вероятно, единственный крупный русскоязычный ресурс по Windows Embedded. Был ещё отличный репозиторий пользовательских скриптов и компонентов xpefiles.