Добавление программ в образ windows pe. Все, что нужно знать для создания загрузочного диска с Windows PE

Мы уже познакомились с . Но мы не рассмотрели процесс создания установочного носителя с Windows PE. Поэтому, как и обещал, мы попробуем создать этот самый загрузочный Windows PE.

Как я уже говорил, Windows PE входит в состав пакета Windows AIK. Мы сейчас рассмотрим создание такого загрузочного носителя с Windows PE вместе с утилитой ImageX, которая позволяет захватить и развернуть образа. А программа эта нам в скором понадобиться.

Как создать образ Windows PE?

Для начала нам естественно нужно установить пакет . Если Вы ничего не изменили, то по умолчанию она устанавливается в папку «C:Program Files\Windows AIK» , и если у Вас не так, то соответственно скорректируйте последующие команды. Нам нужно создать папку сборки Windows PE: для этого прекрасно подойдет папка «C:\Windows PE» . Можете создать любую другую папку в любом другом месте, это не имеет принципиального значения.

В комментариях было оставлено сообщение, что если сразу создать папку сборки образа Windows PE, то возможны проблемы при копировании файлов сборки. К сожалению, я не помню имело ли место такие проблемы, поэтому советую отложить создание данной папки до команды копирования файлов сборки Windows PE.

Главное не забывайте корректировать свои адреса с представленными ниже. После создания папки, открываем командную строку с правами администратора и запускаем на выполнение следующие команды и действия:

  1. cd c:\program files\windows aik\tools\petools\

    Тем самым мы перешли в папку, в которой хранятся файлы, необходимые для создания образа Windows PE

  2. copype.cmd x86 c:\Windows PE

    х86 - это архитектура данного компьютера. Так же может принимать значения amd64 и ia64 . ia64 - это компьютеры на базе процессоров I tanium , но Вы вряд ли встретите такой. Ну, а если встретите, то Вы должны узнать его. Как видите, второй путь — это место сборки Windows PE. Если Вы создали другую папку для сборки Windows PE, то пожалуйста, скорректируйте путь.

  3. copy "c:\program files\windows aik\tools\x86\imagex.exe" "c:\Windows PE\iso\"

    Тут используются кавычки, так как в названиях директорий имеются пробелы. Если не использовать кавычки, то командная строка будет считывать до первого пробела после неопознанной команды. В представленном случае он скажет что не знает как реагировать на команду

    Copy c:\program

    В самой же команде Вам необходимо знать, что Х86 тут так же в зависимости от архитектуры компьютера должно быть(при необходимости) заменено либо на amd64 , либо на ia6 4. Данная команда копирует программу в папку сборки Windows PE.

Как создать iso-образ Windows PE?

Сборка Windows PE на этом заканчивается, осталось только сделать из нее загрузочный носитель. А для этого нужно создать его iso-образ. Для этого необходимо открыть меню, найти Microsoft Windows AIK , выбрать в этой папке поле Командная строка средств развертывания и в открывшемся окне командной строки ввести команду:

  • oscdimg -n -bc:\Windows PE\etfsboot.com c:\Windows PE\iso c:\Windows PE\winpe_x86.iso

И как Вы надеюсь догадываетесь, в папке С:\Windows PE будет лежать iso-образ Windows PE. А это означает что мы справились с задачей и создали образ Windows PE. Далее нам необходимо с Windows PE, после чего Вы сможете использовать Windows PE.

Читайте также статью о новой версии Windows PE, использующейся с Windows 8: Создание загрузочного диска с.NET Framework и PowerShell 3

Windows PE — это среда предустановки Windows, использующаяся для подготовки к установке операционных систем Windows Vista, Windows Server 2008 и Windows 7. Однако с помощью Windows PE можно выполнять разнообразные задачи. Например,

  • управление разделами жесткого диска с помощью утилиты или сторонних средств,
  • захват томов в WIM-образ с помощью утилиты ImageX и их сохранение на другой раздел жесткого диска или USB-диск,
  • применение WIM-образов к тому с помощью утилиты ImageX ,
  • запуск автоматической установки Windows XP, Windows Vista, Windows Server и Windows 7,
  • копирование и замену файлов, а также правку реестра установленной операционной системы, если она не загружается.

Среду Windows PE также часто используют ОЕМ-производители для восстановления системы к заводским настройкам с помощью собственных средств. Особую ценность для диагностики и восстановления операционной системы Windows PE приобретает при включении в ее состав набора Microsoft Diagnostics and Recovery Toolset (MSDaRT) , входящего в пакет Desktop Optimization Pack. К сожалению, MSDaRT для Windows Vista доступен только по программе Software Assurance или по корпоративным лицензиям VL/OL/EA.

Так или иначе, диск с Windows PE может пригодиться вам для работы с WIM-образами или восстановления операционной системы, поэтому ниже я рассмотрю процесс его создания с помощью пакета автоматической установки Windows (WAIK) . Процесс создания базового диска Windows PE довольно прост — он занимает буквально 10 минут.

На этой странице

Создание базового набора файлов

В статье рассматривается создание диска с 32-разрядной версией Windows PE. Кроме того, я предполагаю, что у вас на диске создана папка C:\7Work . Если вы создаете диск с 64-разрядной версией Windows PE и/или используете другую папку, вам необходимо будет заменить во всех командах архитектуру (х86 на amd64 ) и пути к папкам.

В меню Пуск последовательно щелкните Все программы , Microsoft Windows AIK и — все последующие команды будут вводиться в это окно командной строки.

Примечание . Если вы работаете в Windows Vista или более поздних, Утилиты командной строки Windows PE следует запускать от имени администратора, щелкнув правой кнопкой мыши на ярлыке и выбрав в контекстном меню пункт Запуск от имени администратора . Это позволит избежать проблем с правами доступа к папкам и файлам.

Базовый набор файлов создается одной командой:

Copype.cmd x86 c:\7Work\winpe_x86

После ее завершения в папке winpe_x86 будет создана такая структура, как показано на скриншоте.

Подключение образа Windows PE и работа с ним

Для изменения исходного образа Windows PE его необходимо подключить командой

Dism /Mount-Wim /WimFile:c:\7Work\winpe_x86\winpe.wim /index:1 /MountDir:c:\7Work\winpe_x86\mount

Подключив образ, вы можете устанавливать в него пакеты и добавлять собственные файлы.

Установка пакетов

С помощью утилиты DISM в подключенный образ можно добавлять дополнительные пакеты, расширяющие возможности Windows PE, а также интегрировать драйверы контроллеров устройств хранения (mass storage). Последнее может понадобиться в том случае, если вы используете контроллеры, драйверы которых не включены в состав Windows PE. Ниже приводится список пакетов, которые можно установить.

Например, если вы планируете выполнять в Windows PE сценарии WSH, следует установить WinPE-Scripting-Package. Делается это одной командой:

Dism /image:c:\7Work\winpe_x86\mount /Add-Package /PackagePath:<путь>WinPE-Scripting-Package

В качестве значения для параметра /PackagePath: указывается полный путь к:

  • CAB- или MSU-файлу
  • папке с одним распакованным CAB-файлом
  • папке с одним MSU-файлом
  • папке с несколькими CAB- или MSU-файлами

Просмотреть список установленных в образе пакетов можно командой

Dism /image:c:\7Work\winpe_x86\mount\ /Get-Packages

Добавление собственных файлов

Вы можете расширить функциональные возможности Windows PE за счет добавления собственных файлов. Например, для того чтобы иметь возможность захвата томов в WIM-образ, необходимо включить в состав диска утилиту ImageX .

Добавлять файлы можно как непосредственно в WIM-образ Windows PE, так и на диск, на котором размещается предустановочная среда. Преимущества и недостатки обоих способов я рассмотрю подробнее.

Добавление файлов в WIM-образ Windows PE . В этом случае увеличивается размер WIM-образа Windows PE, который изначально составляет около 200 Мб. Поскольку при запуске Windows PE содержимое образа целиком загружается в оперативную память компьютера, размер WIM-образа не стоит увеличивать без необходимости. Преимущество добавления файлов в WIM-образ заключается в том, что заранее известна буква диска загруженной среды Windows PE (это всегда X:\) и удобно использовать переменные среды (%SystemRoot%, %SystemDrive% и т. д.). Целевой папкой для добавления файлов к WIM-образу является winpe_x86\mount\Windows .

Добавление файлов на диск . Добавляя файлы на диск, вы избегаете увеличения размера WIM-образа Windows PE и экономите оперативную память при запуске предустановочной среды. Все ваши файлы будут доступны — они включаются в состав загрузочного диска. Недостатком такого подхода является то, что заранее неизвестна буква диска, с которого производится запуск Windows PE. При желании можно обойти и это препятствие. Целевой папкой для добавления файлов на диск является winpe_x86\ISO — она эквивалентна корню загрузочного диска (конечно, вы можете создавать в ней подпапки).

Давайте рассмотрим пример добавления файлов на диск . Начнем с ImageX . Поскольку утилита входит в состав WAIK, достаточно выполнить команду:

Xcopy "%ProgramFiles%\Windows AIK\Tools\x86\imagex.exe" c:\7Work\winpe_x86\iso\

Если вы планируете использовать утилиту ImageX для захвата образов, можно (но не обязательно) сразу подготовить список исключений — файлов и папок, которые не будут включаться в сохраняемый образ. Создайте в любом текстовом редакторе файл Wimscript.ini и укажите в нем файлы и папки, которые вы хотите исключить из образа. По умолчанию ImageX использует следующие исключения:

\$ntfs.log \hiberfil.sys \pagefile.sys "\System Volume Information" \RECYCLER \Windows\CSC *.mp3 *.zip *.cab \WINDOWS\inf\*.pnf

Файл Wimscript.ini размещается в одной папке с ImageX .

Для добавления диспетчера пакетов (PkgMgr ) необходимо целиком скопировать папку Servicing , а также файлы MSXML6:

Xcopy "%ProgramFiles%\Windows AIK\Tools\x86\Servicing" c:\7Work\winpe_x86\iso\Servicing /s xcopy %windir%\system32\msxml6*.dll c:\7Work\winpe_x86\iso\Servicing

Теперь рассмотрим пример добавления файлов в образ Windows PE. Допустим, я хочу включить в состав WIM-образа файловый менеджер Total Commander. Я копирую его папку TotalCmd в корень папки winpe_x86\mount . Это можно сделать вручную или из командной строки:

Xcopy "%ProgramFiles%\TotalCmd" c:\7Work\winpe_x86\mount\TotalCmd /s

Настройка запуска собственных приложений и сценариев

Если вы впервые создаете диск Windows PE, можете пропустить этот раздел, чтобы материал не казался вам сложнее, чем он есть на самом деле. Успешно создав свой первый диск Windows PE и насладившись ее волшебным интерфейсом командной строки, вы сможете вернуться к настройке запуска приложений.

Запуск собственных приложений и сценариев в Windows PE можно организовать различными способами.

startnet.cmd

Файл startnet.cmd расположен в папке Windows\System32 подключенного образа Windows PE и уже содержит одну команду — wpeinit . Эта команда нужна для инициализации поддержки сети и устройств Plug-and-Play. В качестве параметра командной строки для wpeinit.exe можно указать путь к файлу ответов, настраивающему параметры Windows PE, о чем речь пойдет чуть ниже. При загрузке Windows PE файл startnet.cmd выполняется автоматически, поэтому его удобно использовать для выполнения собственных команд.

Вы можете добавить в этот файл команды, используя стандартный синтаксис командных файлов. Например, для запуска Total Commander, который я включил в состав образа ранее, можно добавить такую команду:

В данном примере в качестве параметра командной строки указывается путь к конфигурационному файлу Total Commander (это описано в справке программы).

winpeshl.ini

Стандартной оболочкой Windows PE является командная строка. Однако можно задать собственную оболочку при помощи файла winpeshl.ini , указав в нем командный файл или программу для запуска. Файл не входит в состав Windows PE. Его нужно создать в любом текстовом редакторе и разместить в папке Windows\System32 подключенного образа Windows PE. Пример запуска программы myshell.exe , выступающей в роли оболочки, приводится ниже.

AppPath = %SystemDrive%\myshell.exe

В этом примере программа размещается в корне подключенного образа Windows PE, т. е. в корне папки winpe_x86\mount .

Примечание . При запуске собственной оболочки не происходит выполнения файла startnet.cmd .

Если вам нужна поддержка сети или устройств Plug-and-Play, необходимо настроить выполнение команды wpeinit . В этом случае лучше использовать раздел , позволяющий не только выполнять несколько команд, но и указывать параметры командной строки для приложений.

Например, запуск wpeinit и файлового менеджера Total Commander, который я включил в состав образа ранее, можно реализовать так:

Wpeinit %SystemDrive%\TotalCmd\TOTALCMD.EXE,"I=%SystemDrive%\TotalCmd\Profiles\PE\main.ini"

Обратите внимание на то, как в winpeshl.ini задаются параметры командной строки для приложений.

Примечание . Поскольку приложение, запущенное из файла winpeshl.ini выполняет роль оболочки, его закрытие ведет к завершению сессии Windows PE.

Внимание! Не используйте разделы и одновременно, поскольку в этом случае приложения могут не запуститься. Этот момент не отражен в документации.

Файл ответов

Для автоматизации выполнения команд в среде Windows PE можно использовать файл ответов. При запуске Windows PE автоматически выполняется поиск файла Unattend.xml в корне диска, с которого выполнялась загрузка. Кроме того, путь к файлу ответов можно явно указать в качестве параметра командной строки следующим образом:

Wpeinit -unattend=<путь\ФайлОтветов.xml>

Для запуска собственных приложений и сценариев можно использовать синхронные команды, добавляемые к проходу 1 windowsPE . Продолжая пример с запуском Total Commander, синхронная команда будет выглядеть так:

%SystemDrive%\TotalCmd\TOTALCMD.EXE "I=%SystemDrive%\TotalCmd\Profiles\PE\main.ini"

Пример файла ответов, запускающего синхронную команду, вы найдете на странице Примеры . Этот файл можно сохранить с именем Unattend.xml в папке winpe_x86\ISO , и он будет распознан автоматически.

На этом обзор способов запуска собственных программ можно считать законченными.

Сохранение образа Windows PE и замена boot.wim

После того, как вы добавите собственные файлы в образ Windows PE и настроите остальные параметры запуска предустановочной среды, необходимо сохранить образ.

Dism /unmount-Wim /MountDir:c:\7Work\winpe_x86\mount /Commit

Если вы помните, вся работа велась с образом winpe.wim . А для загрузочного диска Windows PE используется файл boot.wim , расположенный в папке winpe_x86\ISO\sources . Поэтому необходимо заменить файл boot.wim файлом winpe.wim , выполнив при этом переименование.

Xcopy /y c:\7Work\winpe_x86\winpe.wim c:\7Work\winpe_x86\ISO\sources\boot.wim

Теперь у вас все готово к созданию загрузочного диска Windows PE. Ваши дальнейшие действия зависят от того, какой тип носителя вы изберете. Можно создать ISO-образ и записать его на компакт-диск, а можно создать загрузочный USB-диск.

Создание ISO-образа Windows PE

Поскольку все файлы уже подготовлены, остается выполнить команду:

Oscdimg -n -bc:\7Work\winpe_x86\etfsboot.com c:\7Work\winpe_x86\ISO c:\7Work\winpe_x86\winpe_x86.iso

Примечание . Для 64-разрядной версии Windows PE, предназначенной для процессоров Itanium (IA-64), необходимо указывать в качестве загрузчика файл efisys.bin .

Теперь вы можете подключить образ к виртуальной машине и протестировать работу Windows PE.

Создание загрузочного USB-диска Windows PE

Примечание . Описанную ниже процедуру можно проводить только в Windows Vista, Windows Server 2008 и более новых операционных системах. Это связано с тем, что в Windows XP утилита определяет флэш-диски как съемные, поэтому в списке дисков они не отображаются. Копирование утилиты из Windows Vista в Windows XP не решает проблему. Если вы работаете в Windows XP, воспользуйтесь альтернативными средствами (например, программой Swissknife).

В командной строке последовательно вводите приведенные ниже команды.

Затем отобразите список дисков.

List disk

Список и нумерация дисков зависит от количества подключенных в системе дисков. В моем примере USB-диск — это Диск 1. Это несложно определить по размеру диска. В приведенных ниже командах производятся операции с «Диск 1». Вам необходимо внести изменения, если ваш USB-диск имеет другой индекс.

Select disk 1

Внимание! Дальнейшие действия приведут к полному удалению информации на выбранном вами диске.

Очистите диск.

Создайте основной раздел.

Create partition primary

Раздел займет все пространство на диске. Если вы хотите создать раздел определенного размера, добавьте к команде параметр size=N , где N — число в мегабайтах. Впрочем, Windows XP и Vista видят на съемных USB-дисках только один раздел и не позволяют создавать другие. Эту проблему можно преодолеть, если вам нужна мультизагрузка с USB-диска, но рассказ о решении выходит за рамки статьи. Поэтому я ограничусь ссылкой на одно из возможных решений.

Выберите первый раздел.

Select partition 1

Сделайте его активным.

Отформатируйте в FAT32.

Format fs=fat32 quick

Инициализируйте назначение буквы.

Завершите работу утилиты.

Остается лишь скопировать файлы Windows PE на USB-диск. Все файлы находятся в папке winpe_x86\ISO . Вы можете их скопировать с помощью проводника или другого файлового менеджера, либо такой командой:

Xcopy c:\7Work\winpe_x86\iso\*.* /s /e /f К:\

В этом примере USB-диск имеет букву К .

На этом создание загрузочного USB-диска с Windows PE можно считать законченным.

Полезная информация о Windows PE

В заключение я приведу ряд фактов о Windows PE, которые могут оказаться полезными для вас.

  • Исходная версия Windows PE занимает менее 200 Мб на диске.
  • Все содержимое образа Windows PE (WIM-файла) загружается в оперативную память, т. е. при этом создается RAM-диск. Этому диску назначается буква Х . В Windows PE эта буква эквивалентна букве системного раздела в ОС Windows.
  • Минимальный объем оперативной памяти для компьютера, на котором выполняется загрузка в Windows PE, составляет 256 Мб. Желательно — не менее 512 Мб.
  • Windows PE автоматически перезагружается после 72 часов работы.
  • Параметры запущенной Windows PE можно настраивать с помощью утилиты wpeutil , которая подробно описана в справочной документации.
  • Для перезагрузки компьютера с запущенной Windows PE можно использовать команду wpeutil reboot , а для выключения — wpeutil shutdown . Кроме того, к перезагрузке приводит закрытие командной строки или собственной оболочки.
  • Раскладку клавиатуры можно задать с помощью команды wpeutil SetKeyboardLayout . Например, разместив в файле startnet.cmd команду wpeutil SetKeyboardLayout 0409:00000409 , вы назначите английскую раскладку. Это удобно для работы с командной строкой, поскольку образ Windows PE, поставляемый с русским WAIK, по умолчанию имеет русскую раскладку клавиатуры.
  • Для запуска Windows PE с USB-диска необходимо настроить в BIOS порядок загрузочных устройств таким образом, чтобы USB-устройство было первым в списке.
  • При запуске Windows PE с USB-диска не предлагается нажать любую клавишу для загрузки.
  • Если вы хотите, чтобы при запуске Windows PE с компакт-диска не предлагалось нажать любую клавишу для загрузки, удалите файл bootfix.bin из папки ISO\boot перед созданием ISO-образа.
  • Если в вашей сети не применяется DHCP, вы можете использовать статические IP-адреса. Например, можно задать статический адрес командой: netsh int ip set address local static 10.80.10.35 255.255.255.0 10.80.10.1
  • Вы можете использовать команду net use для подключения сетевых дисков: net use * \\server\share /user:mydomain\username

Дополнительную информацию о Windows PE вы найдете в справочном CHM-файле «Руководство пользователя Windows PE», входящем в состав

Добрый день уважаемые читатели блога, наконец дошли руки до написания третьей части статьи, в которой мы создаем свою сборку Windows 10. Если кто читает не сначала, то отправляю вас на первую часть в которой создается . Хочу отметить, что в первой части мы поставили, уже ADK, но так как вышел Redstone и у Microsoft теперь для каждой десятки свой ADK, показываю, где и как скачать нужный, у кого уже стоит, просто пролистайте чуть ниже и переходите к пункту с WinPE.

Во второй части мы с вами обезличили все персональные данные Windows 10 redstone и выключили его в режиме OOBE (out of box experience). Теперь нам с вами нужно из данной виртуальной машины получить wim образ, который мы и будем потом интегрировать в наш дистрибутив.

Для решения данной задачи нам необходим комплект windows adk для windows 10, и некоторые его утилиты.

  • WinPE > урезанная версия операционной системы с нее мы будем загружаться.
  • ImageX > утилита для захвата образа wim

Вот как это выглядит на схеме, мы загружаемся с загрузочной флешки или ISO с средой WinPE Windows 10, на нашу виртуальную машину (Ту которая выключена, у вас это может быть эталонный компьютер), и с помощью командной строки и утилиты imageX захватываете образ wim. Данный образ wim по сути и будет вся ваша система, которую вы до этого подготовили для создания образа с Windows 10 redstone.

Данный дистрибутив вы можете установить либо на другой компьютер или другую виртуальную машину, не на ту что мы запечатали

И так давайте скачаем с вами ADK для Windows 10. Скачать его можно по ссылке ниже. Учтите, что скачать его нужно именно для своей версии сборки.

https://developer.microsoft.com/ru-ru/windows/hardware/windows-assessment-deployment-kit

Недавно же мы с вами устанавливали windows 10 redstone , у нее версия была 1607.

В итоге вы скачаете маленький файл, полтора мегабайта, это онлайн установщик

Запускаете adksetup.exe и у вас открывается окно мастера установки комплекта windows adk для windows 10. Вы можете изменить каталог установки, либо вообще просто его скачать, для дальнейшего развертывания. (Скачайте комплект средств для развертывания и оценки Windows 10 для установки на другом компьютере) Я оставляю как есть и буду ставить себе на компьютер.

Говорим нет, так как нет необходимости принимать участие в программе Microsoft.

Соглашаемся с лицензионным соглашением ADK и жмем принять.

Выбираем два компонента:

  • Средства развертывания
  • Среда предустановки Windows PE

Жмем установить. Учтите, что потребуется доступ к интернету и будет скачано, порядка 3,5 гигабайт.

Начнется процесс скачивания ADK.

Все у меня все до качалось, можно теперь поискать ADK у нас в пуске.

Открываем кнопку пуск и находим вот такой пункт Windows kit

  • Диспетчер установки
  • Среда средств развертывания

Следующим шагом у нас с вами будет создание ISO Образа с Windows PE, с помощью которой мы будем загружаться на эталонном компьютере, для снятия образа операционной системы.

Создаем winpe для windows 10

Наша задача с вами создать ISO образ содержащий среду предустановки winPE для десятки, для этого открываем от имени администратора Среду средств развертывания. Для этого щелкаем правым кликом по ярлыку, далее пункт Дополнительно > Запуск от имени администратора.

Так как у меня будущая сборка имеет архитектуру x64, то я ввожу вот такую команду

copype amd64 c:\winpe

где c:\winpe это создаваемая папка на диске С:, а amd64 указание архитектуры

copype x86 c:\winpe

Для 32 битных систем команда выше, там параметр x86. В результате выполнения нужной команды, у вас в папке winpe, будет скопирована вся структура каталогов, необходимая для создания загрузочного ISO с winPE.

Перейдя на диск C: вы увидите в родительской папке вот такие три папки:

  • fwfiles
  • media
  • mount

У каждой из них свое назначение, об этом мы поговорим чуть ниже.

Теперь нам нужно еще до копировать необходимые утилиты в наш winPE, переходим в папку с установленным ADK.

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools

Выбираете папку с вашей архитектурой, у меня это amd64. Переходите в папку DISM и копируете из нее вот эти два файла:

  • dism.exe
  • imagex.exe

Путь для копирования C:\winpe\media

Windows PE(Windows Preinstallation Environment) — это предустановочная среда Windows, представляет собой сокращенную версию Windows и применяется, главным образом, для развертывания ОС на клиентских компьютерах. Windows PE своеобразная замена MS-DOS на этапе 7. Windows PE не имеет графического интерфейса. Распространение бесплатное. Можно найти в составе , как уже говорилось ранее.

Как создать или где скачать Windows PE?

Windows PE, после установки пакета Windows AIK, находится в недрах вновь созданной папки. Найти его не больно трудно, так как названия папок говорят сами за себя. И вот эти файлы мы и должны собрать вместе и создать iso-образ Windows PE. А готовый iso-образ можно записать на флешку, диск или на любое подходящее устройство. Процесс записи идентичен . Ну а если Вы ленитесь, то Вы все всегда можете скачать уже готовый iso-образ Windows PE с просторов Интернета. К сожалению на данной странице нет возможности скачать Windows PE, но в конце статьи имеется ссылка на статью, изучив которую Вы сможете сами создать образ Windows PE.

Функционал Windows PE

Windows PE является, как уже говорил, облегченной версией Windows. Поэтому каждая Windows PE собрана на основе какой-либо полной версии операционной системы линейки Windows. Последняя на данный момент версия Windows PE носит название 4.0. Windows PE 4.0 соответствует Windows 8, а для Windows 7 — Windows PE 3.0. Windows PE, в основном, используется в компаниях для установки операционной системы Windows на большое количество компьютеров, а так же для восстановления системы(именно в ней работают инструменты восстановления — например, Среда восстановления Windows (Windows Recovery Environment, Windows RE ) — диагностики, тестирования, разбиения жестких дисков, .

Рассмотрим позже. А на десерт интересный факт про Windows PE: загрузившись с нее, можно вытаскивать флешку или диск, с которого она загружена, так как данная операционная система полностью загружается в оперативную память компьютера. Что и говорить, усеченная версия Windows.

В данной статье будет рассказано, как вручную создать собственную сборку Windows PE, содержащую те возможности и компоненты, которые отсутствуют там по умолчанию, но их наличие необходимо в подобном инструменте. Также дам важный совет - не бойтесь отходить от данной инстукции. Воображайте. Находите нестандартные методы решения проблемы. Именно благодаря такому подходу вы сможете создать наиболее функциональную сборку.

Ядро

Начинать создание сборки следует с ядра. Ядро Windows PE содержится в пакете Windows AIK для Windows 7.
Далее необходимо запустить командную строку средств развертывания и выполнить команду
copype.cmd <архитектура> <путь> При том каталог, указанный в качестве аргумента copype.cmd, не должен существовать.
Вы можете создать сборки для архитектур x86,x64 и Itanium(x86,amd64,ia64)

Структура сборки

Проще говоря, сборка – это то, что вы получили в целевой папке после работы сценария copype.cmd. Работать сборка не может, ее необходимо прежде всего поместить на носитель и написать загрузчик. После этого ее уже можно будет назвать пользовательски настроенной системой Windows PE 3.0.

Сборка состоит из папок ISO, в которой находится содержимое, копируемое на носитель при подготовке загрузочного накопителя, а именно основа загрузчика – папки boot, efi, sources, файл bootmgr.
Также есть пустая папка mount, предназначенная для монтирования образа.
Еще там хранится файл etfsboot.com, предназначенный для создания загрузчика на CD\DVD диске
И самое главное, это файл winpe.wim, хранящий собственно систему Windows PE
Итак, создание настроенной системы Windows PE 3.0 представляет собой задачу из двух этапов.

  1. Редактирование файла winpe.wim (создание сборки)
  2. Создание загрузчика

Алгоритм создания сборки

Монтирование winpe.wim

Начнем создание сборки с монтирования образа winpe.wim, который содержит в себе систему Windows PE.
Под монтированием подразумевается, что образу в wim-файле ставится в соответствие некоторая папка в файловой системе.
При монтировании все содержимое образа оказывается связанным с папкой, но физически не копируется.
Для монтирования образа используется соответствующая команда
Dism /Mount-Wim /WimFile:<Путь>\winpe.wim /index:<индекс образа в wim-файле> /MountDir:<Путь>\mount

Таким образом, указывается необходимая информация об монтировании образа: имя и путь к wim-файлу, номер образа в файле, путь для монтирования.

Пакеты Windows PE

Windows AIK содержит в себе компоненты, которые используются для расширения функционала Windows PE. Они называются пакетами. Существует множество пакетов, при помощи которых можно создать образ, с которого происходит загрузка при установке ОС, также есть компоненты предназначенные для поддержки доступа к данным, средств восстановления, а также для инструментария WMI.
Имя пакета Описание
WinPE-FONTSupport- Дополнительная поддержка шрифтов для следующих языков: ja-JP, ko-KR, zh-CN, zh-HK и zh-TW.
WinPE-HTA Поддержка HTML-приложений. Позволяет создавать приложения с графическим интерфейсом пользователя, используя обработчик сценариев Internet Explorer и службы HTML.
Winpe-LegacySetup Пакет компонента программы установки Media. Все файлы программы установки из папки \Sources на носителе с Windows. Добавьте этот пакет при обслуживании установки или папки \Sources на носителе с Windows. Он должен добавляться с пакетом компонента программы установки (Setup). Чтобы добавить новый файл Boot.wim на носитель, дополнительно к пакетам Setup и Media добавьте любой дочерний пакет. Данный пакет необходим для поддержки установки Windows Server® 2008 R2.
WinPE-MDAC Поддержка компонентов доступа к данным MDAC Microsoft®. Позволяет отправлять запросы к серверам SQL с объектами Active Directory (ADO). Пример использования: создание динамического файла автоматического запуска на основе уникальных системных сведений.
WinPE-PPPoE Включает поддержку протокола PPPoE. Позволяет создавать, подключать, отключать и удалять подключения по протоколу PPPoE из среды предустановки Windows.
WinPE-Scripting Поддержка сервера сценариев Windows (WSH). Позволяет производить пакетную обработку файлов с помощью объектов сценариев сервера сценариев Windows.
WinPE-Setup Пакет компонента программы установки (родительский). Все файлы программы установки из папки \Sources, общей для клиента и сервера.
WinPE-Setup-Client Пакет компонента программы установки клиента (дочерний). Файлы фирменной символики клиента для программы установки. Необходимо добавить после пакета компонента программы установки.
WinPE-Setup-Server Пакет компонента программы установки сервера (дочерний). Файлы фирменной символики сервера для программы установки. Необходимо добавить после пакета компонента программы установки.
WinPE-SRT Пакет компонента среды восстановления Windows. Предоставляет платформу восстановления для автоматической диагностики и восстановления системы, а также создания специализированных решений по восстановлению.
WinPE-WMI Поддержка инструментария управления Windows (WMI). Подмножество поставщиков WMI, обеспечивающее минимальную диагностику системы.
WinPE-WDS-Tools Пакет средств служб развертывания Windows. Содержит интерфейсы API, предоставляющие многоадресный сценарий с использованием пользовательского клиента служб развертывания Windows и служебную программу создания образов.

Для добавления пfкета существует команда:
Dism /image:<путь >\mount /Add-Package /PackagePath: "C:\Program Files\Windows AIK\Tools\PETools\<архитектура>\WinPE_FPs\<имя пакета>.cab"

Профилирование

Профилирование – это процесс уменьшения размера образа за счет неиспользуемых компонентов
Профилирование выполняется следующим образом: сначала оно включается через программу DISM, затем сборка запускается, в ней выполняют требуемые от неё операции, сохраняют профиль, далее сборка подключается через программу DISM и применяется профиль.
Такой метод довольно эффективно снижает размер образа, но его полезно применять в узкой корпоративной среде. В данной инструкции же я создаю УНИВЕРСАЛЬНУЮ сборку, поэтому профилирование будет выполняться несколько иначе.
Оно будет заключаться в РУЧНОМ удалении некоторых компонентов, а именно языковых пакетов, кроме русского и английского.
Также на завершающем этапе будет выполнено экспортирование wim-образа в другой файл с целью очистки индексов устаревших файлов(об этом позднее)
Таким образом, в каталоге mount\Windows\System32 необходимо удалить все каталоги с именами языковых пакетов, кроме ru-ru и en-us.

Добавление компонентов из Windows 7

После добавления пакетов функционал Windows PE расширяется, но недостаточно для выполнения большей части административных задач.
Поэтому я предлагаю расширить возможности путем добавления некоторых компонентов из Windows 7, а именно
  1. Компоненты Проводника – дают возможность вызвать диалоговое окно «Открыть» из диспетчера задач.
  2. Nslookup – утилита для тестирования DNS-серверов
  3. Fc – утилита для сравнения файлов
  4. Diskcomp – утилита для сравнения дискет
  5. Diskcopy – утилита для копирования дискет
  6. Mstsc.exe – программа «Подключение к удаленному рабочему столу», таким образов, Windows PE превращается в «тонкий клиент»
Для этого необходимо установить систему Windows 7 Максимальная (той же архитектуры, что и сборка Windows PE)и SP1 на виртуальную машину. После этого подключите виртуальный жесткий диск от этой ВМ в консоли diskmgmt.msc.
Таким образом, вы будете копировать файлы с этого VHD в сборку
Копируйте указанные в таблице файлы.
Всегда оставляйте для файла то же местоположение, что и на VHD! То есть, если файл находился в каталоге %systemroot%/system32/ru-ru, то вы должны скопировать его в тот же подкаталог каталога mount сборки.
Имя файла Расположение
Компоненты проводника
Explorer.exe %systemroot%
Shell32.dll %systemroot%/system32
SHELL.dll %systemroot%/system32
Shellstyle.dll %systemroot%/system32
Nslookup
Nslookup.exe %systemroot%/system32
Fc,diskcomp,diskcopy
Fc.exe %systemroot%/system32
Diskcomp.exe %systemroot%/system32
Diskcopy.dll %systemroot%/system32
Diskcopy.exe %systemroot%/system32
Клиент RDC
Mstsc.exe %systemroot%/system32
Mstscax.dll %systemroot%/system32
Msacm32.dll %systemroot%/system32
d3d10core.dll %systemroot%/system32
d3d10.dll %systemroot%/system32
Dxgi.dll %systemroot%/system32
mcm32.dll.mui %systemroot%/system32/ru-ru
mstscax.dll.mui %systemroot%/system32/ru-ru
mstsc.exe.mui %systemroot%/system32/ru-ru

Либо вы можете скачать все эти файлы отсюда . Содержимое рассортировано по каталогам

Добавление стороннего ПО

Будет добавлено следующие программы и сценарии:
Название ПО Команда запуска Описание
CPU-Z 1.57 cpuz Используется для получения информации об аппаратном обеспечении
DnsDataView 1.15 dnsdataview Используется для получения информации с DNS-серверов
EasyTerm 4.3 easyterm Telnet-клиент
Everest 5.02 everest Используется для получения подробной информации об аппаратном обеспечении и проведения его тестов
Free Commander 2008 fcom Двухпанельный NC-образный файловый менеджер
FirefoxPortable4.01 firefoxportable Портативная версия популярного интернет-браузера
HDDScan 2.8 Hddscan Утилита для проверки качества поверхности жёстких дисков
HD_Speed Hdd Утилита для проверки скорости работы жесткого диска
ImageX imagex Утилита от Microsoft, предназначенная для работы с WIM-файлами
IpTools 2.58 ip_tools Набор сетевых утилит
Macview 1.13 macview Программа для определения производителя устройства по его MAC-адресу
MemTest memtest Утилита для проверки оперативной памяти
Netagent 3.2 netagent Набор сетевых утилит
NmapW 2.0.0.1 nmap(консольный интерфейс), nmpw32(графический интерфес) Мощный сканер портов
PortScanner 1.0 portscanner Сканер портов
Putty putty SSH и Telnet-клиент
Radmin Viewer 3.4 radmin Утилита для подключения к серверной части приложения Radmin
Recuva 1.19 recuva Восстановление удаленных файлов
Smart Sniffer smsniff Простой и удобный сниффер
Space Monger 1.4 spacemonger Анализатор дискового пространства. Работает в удобном графическом режиме
Sysinternals ---- Ограниченный набор утилит sysinternal от Марка Руссиновича. Сохранены оригинальные названия программ
Undelete Plus undelete Программа для восстановления удаленных файлов.
Wdsmcast wdsmcast Консольная утилита от Microsoft, предназначенная для работы с WDS-сервером
WIM2VHD.wsf cscript “Z:\Program Files\soft\wim2vhd.wsf” Сценарий для конвертации образов из WIM файлов в файлы виртуального жесткого диска
WinRar 3.71 winrar Многофункциональный архиватор

Список программ из набора sysinternals(о их назначении вы можете прочитать на сайте http://technet.microsoft.com/ru-ru/sysinternals)

Accesschk
AccessEnum
Clockers
Contig
Dbgview
Diskext
DiskView
Du
Efsdumpo
Handle
Listdlls
Loadord
Ntfsinfo
Procexp
Procfeatures
Procmon
Sdelete
Streams
Strings
Tcpvcon
Tcpview
Volumeid
Whois
Psexec
Psfile
Psgetsid
Psinfo
Pskill
Pslist
Psloggedon
Psloglist
Pspasswd
Psservice
Psshutdown
Pssuspend

Все это ПО должно быть помещено в папку \mount\Program Files\soft\
Скачать подборку можно отсюда .
И помимо этого, я решил изменить стандартный фон «рабочего стола». Я указал этот термин в кавычках, поскольку помимо фонового рисунка он ничего не содержит, вследствие отсутствия графической оболочки.
Фоновое изображение берется из файла winpe.bmp из каталога %systemroot%/system32
Скачать его можно отсюда

Редактирование реестра Windows PE


Как известно, в ОС Windows файлы реестра хранятся в папке %systemroot%/system32/config
Для их редактирования используется редактор реестра regedit.exe
Чтобы подключить реестр сборки Windows PE, необходимо выполнить команду «Подключить куст» из меню файл программы «Редактор реестра». В диалоговом окне указать файл реестра сборки, ввести имя раздела.
После этого можно редактировать любые параметры реестра Windows PE, учитывая ее функциональные ограничения.

Настройка Windows PE

Windows PE может быть настроена так, как необходимо администратору. Для этого существует несколько средств.
Вы можете изменить путь к рабочей зоне и ее размер, настроить автоматически выполняемый командный сценарий и прочее.
Одним из средств настройки является файл Winpeshl.ini
Этот INI-файл предназначен для настройки программы оболочки.
По умолчанию не существует, в качестве оболочки используется cmd.exe
Довольно хорошей идеей является настройка в качестве оболочки файл-менеджера FreeCommander, однако я не буду этого делать, так как на мой взгляд, командно-ориентированный интерфейс ближе и удобнее для администратора, и а графический файл-менеджер нужен лишь для решения объемных задач, когда cmd тормозит работу.
Поэтому я не буду создавать файл winpeshl.ini, однако дам обзор его синтаксиса
Обратите внимание, что если вы настроите собственную программу оболочку, то не будет выполняться файл startnet.cmd! Поэтому для увеличения функциональности среды(поддержка сети и Plug and Play) следует добавить команду wpeinit в раздел LaunchApps.
Вообще, благоразумнее использовать раздел LaunchApps, так как он позволяет использовать параметры командной строки и выполнять несколько команд. При этом не стоит использовать оба раздела одновременно, так как это приведет к неработоспособности конфигурационного файла.
AppPath = %SYSTEMDRIVE%\myshell.exe %SYSTEMDRIVE%\mydir\application1.exe, {option}
Выход из программы оболочки ведет к перезагрузке ПК.Файл winpeshl.ini должен хранится в каталоге %systemroot%/system32
Для автозапуска приложений либо для автоматизации каких-либо иных действий в Windows PE существует файл startnet.cmd. По умолчанию содержит строку запуска программы wpeinit, предназначенной для окончательной инициализации среды Windows PE, добавляя сетевые возможности и поддержку самонастраиваемых устройств. Файл startnet.cmd хранится в каталоге %systemroot%/system32 Его синтаксис стандартен для cmd-файлов.

Также при помощи программы DISM вы можете изменить параметры рабочей зоны, т.е. виртуального диска, создаваемого при загрузке Windows PE Иными словами, рабочая зона – это то же самое что и RAM-диск в системе MS-DOS
DISM /image:<путь >\mount /Set-TargetPath:<буква>:\ - устанавливает путь к рабочей зоне. По умолчанию – X:
DISM /image:<путь >\mount /Set-ScratchSpace:64 - установка размера рабочей зоны. По умолчанию - 32 Мб.
Стоит отметить, что в качестве размера рабочей зоны можно задавать значения 32,64,256 и 512
Также существует несколько других команд DISM для работы со смонитрованным образом Windows PE:
Dism /image:<путь>\mount /Get-Packages – отобразить включенные в образ пакеты
Dism /image:<путь>\mount /Get-Drivers – отобразить включенные в образ пакеты
Dism /image:<путь>\mount /Get-Intl – отобразить язык по умолчанию для смонтированного образа
Dism /image:<путь>\mount /Get-PESettings - отобразить инфомция о настройках Windows PE
Dism /image:<путь >\mount /Add-Driver /driver:<путь к драйверу> – добавить в образ драйвер

Добавление драйверов


Чтобы добавить в сборку драйвер в более удобном графическом режиме, необходимо воспользоваться Windows Deployment Services
Для этого необходимо:
  1. Открыть консоль управления WDS
  2. Выполнить команду «Добавить загрузочный образ» из контекстного меню элемента «Образы загрузки» дерева консоли
  3. В открывшемся диалоговом окне выбрать образ
  4. Изменить имя образа и его описание, если требуется. Я всегда указываю в описании назначение конкретной сборки и включенные в нее программные средства
  5. По окончании процесса добавления образа, из контекстного меню добавленного образа вызвать команду «Добавить пакеты драйверов к образу»
  6. Задать условия отбора драйверов, выбрать требуемые драйвера(имеется в виду, что они уже добавлены в хранилище)
  7. По окончании процесса добавления выполнить команду «Экспортировать образ» из контекстного меню данного образа. Указать путь и имя образа, нажать кнопку «Сохранить».
Экспортированный образ будет содержать все добавленные драйвера.
Я рекомендую добавлять драйвера сетевых адаптеров, используемых в вашей организации, особенно если они были выпущены сравнительно недавно. Однако предварительно протестируйте сборку без драйверов. Если сетевые адаптеры «видны» и так, то не стоит добавлять драйвера, увеличивая тем самым размер образа.

Размонтирование и оптимизация образа

После выполнения всех вышеперечисленных этапов вы имеете универсальную сборку Windoiws PE, которую вы можете использовать для различных целей, включая использование в качестве тонкого клиента.
Но для того, чтобы изменения, внесенные в содержимое папки mount были применены к образу, необходимо размонтировать образ с подтверждением изменений.
Это делается при помощи команды
DISM /Unmount-Wim /MountDir:<путь>\mount /Commit Процесс размонтирования состоит из двух этапов – запись изменений в образ, и очистка папки монтирования.
По окончании процесса редактирования размер wim-файла увеличится, однако его можно оптимизировать, путем обновления индексов содержимого в wim-файле.
Делается это при помощи команды
imagex /export <путь>\winpe.wim 1 <путь>\ISO\sorces\boot.wim «Windows PE 3.0»

Работа с Windows PE

Обратите внимание, что Windows PE отличается от обычной версии Windows в первую очередь, своим командно-ориентированным интерфейсом. Не закрывайте окно командной строки. Это приведет к перезагрузке ПК. Диспетчер задач вы можете вызвать путем ввода команды taskmgr, комбинация CtrlAlt Delete не работает. Отсутствует стандартный проводник. Однако, если вы добавляли все библиотеки, указанные выше, вы можете использовать диалоговое окно «Открыть» из диспетчера задач. В Windows PE отсутствует консоль mmc и оснастки. Поэтому стоит привыкнуть работать в консольном режиме, либо использовать стороннее ПО.
Размер образа, созданного по моей инструкции – 220Мб, если удалить что-то ненужное вам, то образ может поместиться на mini-CD диск. Также вы можете поместить его на загрузочный флэш-накопитель или использовать WDS для удаленной загрузки. Если Windows PE будет использоваться как тонкий клиент, то вы можете спокойно использовать бездисковые рабочие станции для работы.
В Windows PE содержится команда wpeutil, при помощи которой вы можете:
Изменить размер файла подкачки.(по умолчанию, C:\pagefile.sys, 64 Мб)
wpeutil CreatePageFile /path= /size=<размер>
Обратите внимание, что если в указанном есторасположении уже имеется файл подкачки, и команда создает файл подкачки меньший по размеру, чем существующий, то это может вызвать ошибку
Отключить или включить брандмауэр.
wpeutil DisableFirewall|EnableFirewall
Реинициализировать сеть.
wpeutil InitializeNetwork
Задать раскладку клавиатуры
wpeutil SetKeyboardLayout <код раскладки клавиатуры>
Задать язык
wpeutil SetMuiLanguage <язык>[;<язык>]
Можно задать несколько языков в приоритетном порядке.
Задать региональные настройки пользователя.
wpeutil SetUserLocale <язык>[;<язык>]
Можно задать несколько региональных настроек в приоритетном порядке.
Выключить компьютер
wpeutil shutdown
Перезагрузить компьютер
wpeutil reboot

На этом я закончу рассмотрение команд wpeutil. Более подробную информацию можно получить в справке по этой команд, вызываемой путем ввода wpeutil /?

Итог

На этом процесс создания сборки завершен.
Системные требования для данной сборки минимальны

Процессор – 1 Ггц.
ОЗУ –384 Мб.
Сборку, созданную при написании этой статьи можно скачать отсюда .

Повторюсь, напомнив вам – данная статья – не строгая инструкция. Это основа для дальнейшего творчества. Единственное, чего вы не имеете права делать – это дизассемблировать и переписывать код ядра Windows PE. В остальном, всё зависит от вашей фантазии и запросов. Я продолжаю вести работу над совершенствованием и увеличением функционала с целью расширить область применения среды. Так, на ближайшей повестке дня:

  • Разблокировка поддержки WiFI
  • Интеграция IE9, дабы не пользоваться Firefox
  • Наведение порядка в системных библиотеках, так как многие программы сторонних разработчиков не работают в Windows PE
  • Написание удобной графической оболочки, аналогичной GNOME, но удобной и содержащей только то, что необходимо администратору, либо частичная интеграция оболочки explorer.exe
  • Интеграция консоли управления mmc.exe
  • Создание мультизагрузочного дистрибутива Windows PE, то есть вы сможете выбрать, что загружать – определенную сборку Windows PE,либо же setup.exe для установки полнофункциональной Windows