Существует миллион разрозненных статей о том, что такое Windows PE, чем он полезен. В интернете приводится миллион способов создания этого самого Windows PE. какой же из них самый лучший? Попытаемся обобщить основную необходимую информацию и сделать выводы в этой статье.
Windows PE (Windows Preinstallation Environment) — Среда предустановки Windows, с ограниченными службами, построенная на ядре обычный Windows . Она используется для подготовки компьютера к установке Windows, копирования образа Windows с сетевого файлового сервера и запуска установки Windows. Она является встроенным элементом других средств установки и восстановления системы, например программы установки для Windows , служб развертывания Windows (WDS), пакета средств развертывания операционной системы (OS) SCCM сервера и среды восстановления Windows (Windows RE). Изначально среда Windows PE была создана для того, чтобы помочь производителям оборудования, сборщикам систем и корпорациям загружать компьютер без работающей операционной системы. Таким образом, PE чаще всего запускают или с внешнего накопителя или же по сети с WDS/TFTP сервера компании.
Да, не надо путать Windows PE и Windows RE. Windows RE (Recovery Environment) — среда для восстановления Windows после сбоя. Однако, Windows RE как набор инструментов можно запустить из-под PE. И тут возникает мысль: а почему бы не использовать PE для задач восстановления упавших систем, интегрировав в PE необходимые приложения? Да, именно это нам и нужно.
Какие задачи мы сможем выполнять под ней:
Особую ценность для диагностики и восстановления операционной системы Windows PE приобретает при включении в ее состав набора Microsoft Diagnostics and Recovery Toolset (MS DaRT), который можно скачать и интегрировать в образ Windows PE. По сути вся операционная система запаковывается в один файл — WIM формата, который при запуске с носителя распаковывается в оперативную память (RAM-disk, обычно диск X:). Вот основные особенности PE:
Собственно классический Windows PE — это среда от компании Microsoft, ядро которой зависит от версии PE, которую вы скачаете:
«Голая» Windows PE весьма урезана в своих возможностях и по большей части опирается на интерфейс командной строки, где вы можете запускать любые сервисные утилиты, входящие в образ PE. Набор интегрированных приложений и команд зависит от версии. Также обратите внимание, что для развертывания той или иной ОС на диск вам нужна PE версии не ниже, чем разворачиваемая ОС. То есть для установки на целевой компьютер Windows 10 из-под PE вам потребуется PE версии не ниже чем 10.0, потому что для этого используется утилита DISM соответствующей версии. Также от версии к версии меняется поддержка версий платформы .NET и версий Powershell.
Но помимо классический Windows PE существует большое количество альтернативных сборок PE (более 300), основанных на том же ядре, но с графическим интерфейсом и большим набором программ. Существуют даже готовые среды от производителей того или иного ПО, которые содержат их утилиты.
Win PE от вендоров:
Это далеко не полный список, но те системы, которые наиболее на слуху. Каждый полезен, у каждого свои преимущества. А список кастомных сборок от разных энтузиатов просто море:
Перечислять можно долго, но если вам нужен готовый вариант WinPE на современном ядре, выберите что-то списка выше. Я бы рекомендовал или проект Стрельца или Conty9. Если вас не устроит набор утилит в сборке — посмотрите в сторону TechAdminPE или AdminPE. Если же вам хочется создать свои набор, то читайте дальше.
Как уже было сказано выше, чистый Win PE — это командная строка. По сути PE — это один файл boot.wim и ряд служебных, передающих ему управление и позволяющих его загрузить.
Диспетчер загрузки bootmgr позволяет выполнить загрузку как с обычного системного диска, так и из загрузочных образов, виртуальных дисков, загрузку с использованием загрузчиков других операционных систем. Содержимое типового диска аварийного восстановления на базе WinPE:
Процесс загрузки Windows PE проходит следующие этапы:
Программе wpeinit можно сообщить файл ответов Unattend.xml, в котором будут указаны различные настройки пользовательского интерфейса системы. Служебная программа Wpeutil — это средство командной строки, которое позволяет выполнять различные команды в сеансе Windows PE. Например, можно завершить работу компьютера или перезапустить Windows PE, включить или отключить брандмауэр, задать языковые параметры и настроить сеть. Средство настройки региональных параметров (Intlcfg.exe) используется для изменения языка и региональных настроек, шрифтов и параметров ввода образа Windows. Обычно Intlcfg.exe запускается после применения одного или нескольких пакетов поддержки языков к образу Windows. О других системных командах можно почитать на Technet.
В кастомизированных сборках все намного сложнее. Там происходит не только запуск командной строки, но и запуск графического интерфейса explorer.exe, а также массы кастомизированных скриптов и приложений. Все же хотите создать свой Windows PE? — Пожалуйста.
Итак, подхода три:
Первый вариант рассмотрен в конце нашей статьи о загрузчиках. Мы пойдем другим путем.
Откуда взять необходимое? Windows PE является частью свободно распространяемого Windows ADK. Версия PE соответствует версии ADK. Скачать ADK можно с сайта Microsoft. Обратите внимание, что для Windows 7 ADK ранее назывался WAIK. Итак, план действий:
[LaunchApp]
AppPath = %SystemDrive%\Shell\myshell.exe
Все, образ готов. Конечно, уйдет немало времени для отладки всего этого, но в целом процесс не такой сложный. Можете надергать готовые PE приложения из других готовых сборок и добавить в свою. Детали процесса подготовки и добавления приложений я описывать не буду, таких описаний в сети тьма.
И как обычно в конце я предлагаю вариант для тех, кто по тем или иным причинам не достиг желаемого результата своими руками. Существует спасительный конструктор, который называется WinBuilder, который позволяет собрать дистрибутив Windows PE путем интегрирования готовых модулей (проектов) и портативных программ, скачиваемых с web сайта проекта автоматически. Дело в том, что это свободно распространяемый проект, который включает массу других подпроектов, сделанных на его базе, по сути это агрегатор проектов, написанных на Java в рамках одной концепции. Все, что вам требуется — выбрать готовые проекты и скачать их с сети, они включают в себя даже набор готовых приложений, а затем скомпилировать. Установка ADK все равно требуется.
К сожалению, я данным проектом полная неразбериха, и не существует полноценной документации. Все статьи в интернете более не актуальны. Основной проект по обновления платформы WinBuilder, как таковой, умер, но в рамках него существует несколько самостоятельно развивающих проектов. В связи с этим не скачивайте приложение Winbuilder 082 с официального сайта, оно ссылается на умершие проекты, поэтому не работает.
Вам нужно выбрать между 4 проектами:
У каждого из этих проектов есть самостоятельный сайт, на котором хранятся пакеты и подпроекты, относящиеся к этому проекту. Вам необходимо скачать ZIP архив с каждого из этих сайтов, который содержит соответствующее приложение и набор основных модулей — ссылка доступна на первой странице каждого из этих сайтов. Например, для Win7PE SE это http://w7pese.cwcodes.net/Compressed/index.php.
Скачав архив, распакуйте его и запустите приложение Builder SE.exe. Далее, действуйте по инструкции: укажите Source с установочными файлами ОС (там должен быть install.wim), настройте подпроекты (у каждого есть страница настроек) и запустите сборку проекта.
Процессы и программы Программа в Unix — это последовательность исполняемых инструкций на диске. Вы можете…
Существует большое разнообразие форматов, в которых создаются сертификаты и приватные ключи для них. Часто они…
Все известно, что Докерхаб закрыл доступ для пользователей из санкционных стран, включая РФ и РБ.…
Зачастую бывает необходимо проверить, а какой SSL сертификат отдает тот или иной хост на определенном…
Choco - лучший пакетный менеджер для Windows. Чтобы использовать его в корпоративной среде за прокси,…
В России становится все больше малоизвестных китайских товаров, поэтому сегодня у нас на обзоре китайский…