Как устроена Windows Compact и почему она стала лучшей сборкой
Windows Compact – это профессионально настроенная и урезанная Виндовс + лаунчер, управляющий ее установкой. Лаунчер в Windows Compact – сложная авторская программа Флибустьера. Без реального практического опыта в программировании сделать подобный лаунчер невозможно. В сборке – он так и назван flblauncher.exe и снабжен логотипом из аватарки Flibustier. Далеко не все сборщики Виндовс в состоянии сделать даже простой лаунчер для своих сборок (им просто не хватает знаний).
Когда выпуски Флибустьера стали популярными, многие стали интересоваться, как устроена Windows Compact и почему она стала лучшей сборкой? Если бы эта система предлагалась без лаунчера (со стандартным установщиком), то эффект популярности был бы многократно ниже. Потому что довольно много сборок, которые тоже очень удачно настроены. Но именно запуск лаунчера сразу вызывает у пользователя уважение и внимание к этой сборке, ведь flblauncher.exe предлагает осуществить индивидуальные настройки. А эту возможность высоко оценит абсолютно каждый опытный юзер.
Лаунчер в Compact (который выполнен с ювелирным качеством) – предмет зависти других сборщиков. Взять код этого лаунчера и модифицировать его (чтоб использовать для своих сборок) вряд ли так просто получится, поскольку Flibustier запаковал и защитил эту программу. Хотя сам он пират и «за свободу бесплатного софта» и всё такое, но свою собственную программку защитил отлично. Поэтому, если вы и будете использовать лаунчер для своих сборок – то только в пределах тех возможностей, которые обозначил Flibustier.
Конечно, есть и другие сборки с лаунчерами. Например, 10 Lite by Den, 10 by SMBB, 10 by Eagle123. Но в них далеко не все так комфортно обустроено.
Техническая сторона работы лаунчера в Windows Compact
В boot.wim Windows Compact зашит специальный конфигурационный файл и «пускатель» лаунчера. Эта программка, позволяющая запускать другой exe-шник (вместо стандартного setup.exe), – взята Флибустьером из WinPE by Strelec.
Microsoft разрешает добавлять опции установки в папку $OEM$ (в файлы specialize.cmd, setupcomplete.cmd, firstlogon.cmd). А в Windows Compact лаунчер (а не пользователь) координирует установку, исходя из ваших предпочтений. Вместо того, чтобы вручную (долго и нудно) прописывать свои предпочтения в эти файлы в $OEM$ (как часто делают другие сборщики) – в вашем распоряжении удобный лаунчер с GUI (графическим пользовательским интерфейсом).
Еще одна фишка лаунчера – супер-права. Многие вещи Microsoft не разрешает делать простыми методами – даже выключить Защитника. Это надо делать на супер-правах, иначе доступа не будет к соответствующим веткам реестра. Да и неподписанный софт без супер-прав устанавливать нельзя – в ходе установки Windows. А лаунчер успешно обходит ограничения, потому что он изначально на супер-правах. Даже если вы возьмете стандартную оригинальную Windows и будете ее устанавливать через flblauncher, то он ее оформит без ограничений. Мало кому удается так контролировать и управлять Windows.
Вообще, корпорацию Microsoft Флибустьер откровенно бесит, именно после появления Compact они начали беспокоиться о защите доступа к критическим объектам системы. То есть, Microsoft прекрасно осведомлена о Compact, ведь Флибустьер использует все возможные уязвимости Виндовс – для полного контроля над ней. Многие эти уязвимости не устранены до сих пор. Да и вообще, лучшие сборщики открывают глаза Майкрософт на реальную картину «защищенности» Виндовс. Они с ней делают буквально всё, что угодно, и это не может не радовать, потому что даже простые пользователи не приветствуют жесткий деспотический монополизм Майкрософт.
Современная стандартная Windows время от времени безжалостно тестирует железо, сливает телеметрию и т.д., и сборщикам не всегда просто заставить ее работать так, как надо пользователю.
Итак, лаунчер программирует стандартного установщика делать то-то и то-то на каждом этапе установки. А предпочтения задаете вы, пользователь. Многое можно поменять и для самого лаунчера. Не только опции, но и дизайн flblauncher.exe можно тоже поменять. В общем, лаунчер – это очень эксклюзивная самоделка, выполненная настолько изящно и качественно, как будто трудилась целая команда программистов, а не один человек.
Урезка и базовая оптимизация Windows Compact
Файл install.wim (или install.esd), который вы видите в образе iso Windows – это уже готовая система, сжатая в архив. Установщик Windows просто ее извлекает на диск и прописывает загрузчик. И всё. После первой же перезагрузки система уже сама разбирается, какие драйвера ей нужны, проверяет и осуществляет командные сценарии установки.
Когда сборщик делает сборку, он монтирует этот файл install.wim, используя функции Dism (специальной встроенной программы в Windows, которая для этой цели и предназначена). Этот файл-образ разворачивается в произвольную пустую папку – с сохранением полной структуры системы. Далее – используя команды Dism/PowerShell, сборщик конфигурирует состав смонтированной системы. Можно и твики вносить. В общем, возможностей очень много – почти как на установленной Windows. После внесения изменений, install.wim сохраняется и (по желанию) его можно сконвертировать в install.esd для экономии места образа .iso.
Есть еще и другой вариант – аудит. Система устанавливается, затем по Ctrl+Shift+F3 при появлении первого же экрана после последней перезагрузки при установке – можно перейти в аудит. В нем можно тоже сконфигурировать систему (это даже удобнее), установить полезный софт. Затем дается команда подготовить системный образ к первому использованию. После этого образ захватывается и сохраняется в install.wim Лучшие сборщики, как правило, аудитом не пользуются, обрабатывают образ install.wim без его предустановки. Кстати, Flibustier для ранних Windows Compact указывал, что они сделаны без аудита. Но на сегодняшний день из-за косяков Майкрософт (например, с sfc /scannow) и ограничения разрешений аудитом стали пользоваться всё чаще. Как правило, аудит используют в виртуальной среде (но это если мощный ПК), а на слабом ПК лучше оперировать в аудите на реальном железе.
Есть еще специальные программы для чайников по созданию сборки (но они довольно слабые и ограниченные по возможностям), для новичков. А Flibustier использует собственные знания и умения в Dism/PowerShell и проверенные авторские алгоритмы, когда делает сборку.
Урезанные сборки Compact отличаются феноменально стабильной конфигурацией. Flibustier не пожалел своего времени, чтобы изучить в деталях, как устроена и работает Windows. Многие сборщики почти науград урезают «лишнее», но это – не тот случай. Качество Compact подтверждает, что ее создавали с фанатичной точностью.
Почему оригинальная Windows проигрывает Windows Compact
- Потому что над официальной стандартной Виндовс поиздевались маркетологи, заполнили ее хламом для заработка Майкрософт: Эджем, плитками, предложениями, Xbox и т.д. В Windows Compact это вырезано.
- В стандартной винде меньше разрешений, чем в Windows Compact. Как уже говорилось выше, лаунчер функционирует на супер-правах.
- Стандартная Windows тестирует/диагностирует железо, потом сливает данные. В Windows Compact этого нет. Для чего нужны данные по качеству работы для Microsoft. В основном, чтоб улучшать систему. Кроме того, Корпорация взаимодействует с поставщиками устройств, и им всем нужно знать, результаты тестов на железе. Но пользователю это абсолютно не требуется, однако, официальная Виндовс в своей базовой конфигурации делает это без спроса.
- Размер системы на диске, производительность, удобство… - преимущества Compact можно перечислять очень-очень долго.