Создание базового загрузочного диска WinPE
«Голая» Windows PE весьма урезана в своих возможностях и по большей части опирается на интерфейс командной строки, где вы можете запускать любые сервисные утилиты, входящие в образ PE.
Ролик:
По реалиям ролика, кратко и сжато.
Качаем комплект для оценки и развертывания (adksetup.exe) и надстройку WinPE (adkwinpesetup.exe). У меня виндовс 10 версия 2004: https://docs.microsoft.com/ru-ru/windows-hardware/get-started/adk-install
Начинаем установку с комплекта для оценки и развертывания (добавив средство для устранения проблем с совместимостью). Потом занимаемся средой предустановки Windows PE.
Нажимаем две волшебные клавиши Win+S. Пишем: "среда". От имени администратора запускаем "Среду средств развертывания и работы с образами".
«Перебираемся» в папку Windows Preinstallation Environment (C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment):
cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment"
Запускаем сценарий CopyPE. Подробнее здесь https://docs.microsoft.com/ru-ru/windows-hardware/manufacture/desktop/winpe-create-usb-bootable-drive:
copype
Предоставляется подсказка, которой и воспользуемся. Разворачиваем базовый набор файлов из папки amd64 (я работаю в 64-разрядной системе) в новую рабочую папку WinPE_amd64 (самим, в ручном режиме, никаких папок создавать не нужно, только команда. Папка будет лежать в корне диска (С:)):
copype amd64 C:\WinPE_amd64
Начинаем работать с WIM-образом WinPE. Сначала очистим все предыдущие подключения:
dism /Cleanup-Wim
C помощью утилиты DISM подключаем WIM-образ:
dism /Mount-Wim /WimFile:c:\WinPE_amd64\media\sources\boot.wim /index:1 /MountDir:c:\WinPE_amd64\mount
Добавление пакетов в образ. Пакеты находятся в папке WinPE_OCs. Переходим в эту папку:
cd C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs
Добавим четыре пакета .Net Framework, PowerShell, командлеты DISM, WMI (хотя их намного больше, добавляйте на ваше усмотрение). Важно, WinPE-NetFx.cab, в этом списке всегда должен стоять первым:
dism /image:c:\WinPE_amd64\mount /Add-Package /PackagePath:WinPE-NetFx.cab /PackagePath:WinPE-PowerShell.cab /PackagePath:WinPE-DismCmdlets.cab /PackagePath:WinPE-wmi.cab
Переходим в папку Языковые файлы https://docs.microsoft.com/ru-ru/windows-hardware/manufacture/desktop/winpe-add-packages--optional-components-reference (команда не обязательная просто, как пример):
cd C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\ru-ru
Русифицируем пакеты (команда не обязательная просто, как пример):
dism /image:c:\WinPE_amd64\mount /Add-Package /PackagePath:lp.cab /PackagePath:WinPE-PowerShell_ru-ru.cab /PackagePath:WinPE-DismCmdlets_ru-ru.cab /PackagePath:WinPE-WMI_ru-ru.cab
Устанавливаем язык пользовательского интерфейса системы по умолчанию, язык для программ, не поддерживающих Юникод, язык «стандартов и форматов», а также языковые стандарты ввода и раскладки клавиатуры на указанный язык в автономном образе Windows. Раскладку меняем (когда загрузимся) набором стандартных клавишь Sift+Alt (команда не обязательная просто, как пример):
dism /image:c:\WinPE_amd64\mount /Set-AllIntl:ru-Ru
Проверяем наличие пакетов:
dism /image:c:\WinPE_amd64\mount /Get-Packages
Сохранение изменений и отключение образа:
dism /Unmount-Wim /MountDir:c:\WinPE_amd64\mount\ /Commit
Создание ISO-образа в корне диска с операционной системой:
MakeWinPEMedia.cmd /ISO c:\WinPE_amd64 c:\WinPE.iso
Первый шаг к созданию WinPe с нуля - пройден.
ஜ══════════════════════════════════════ஜ
Итак, стандартной оболочкой WinPE является командная строка. Давайте создадим собственную оболочку. Сначала очистим все предыдущие подключения:
dism /Cleanup-Wim
C помощью утилиты DISM подключаем WIM-образ:
dism /Mount-Wim /WimFile:c:\WinPE_amd64\media\sources\boot.wim /index:1 /MountDir:c:\WinPE_amd64\mount
Держим путь до папки mount (C:\WinPE_amd64\mount). В корне этой папки я разместил программку WinNTSetup. Папка программы с именем WinNTSetup. А в этой папке экзешник WinNTSetup.exe с дополнительным набором папок и файлов.
Создаём, например, в папке документы, текстовый документ. Сохраняем его именно с таким именем и расширением: winpeshl.ini. Открыть файл можно в любом текстовом редакторе. Запись которая будет отвечать за старт приложения:
[LaunchApp]
AppPath = %SystemDrive%\WinNTSetup\WinNTSetup_x64.exe
Копируем или вырезаем (как хотите) файл winpeshl.ini в директорию System32 (C:\WinPE_amd64\mount\Windows\System32), которая хранит в себе большую часть системных файлов, необходимых для корректной и полноценной работы операционной системы и приложений.
Таким образом мы задали собственную оболочку при помощи файла winpeshl.ini, указав программу для запуска. Сохранение изменений и отключение образа.
dism /Unmount-Wim /MountDir:c:\WinPE_amd64\mount\ /Commit
Далее идём по пути C:\WinPE_amd64\media\sources и копируем с заменой boot.wim файл на флешку G:\sources (G: - Буква диска USB-устройства).
Перезагрузка. Заходим в boot menu. Приоритет загрузки с флешки. Перед нашими очами открывается созданная с нуля, новенькая WinPE:
До создания диска похожего на WinPE Sergei Strelec, нам осталось два шага. Шучу, конечно. Сотни и сотни шагов. Но, по крайней мере, мы теперь знаем, как создать свой собственный WinPE с нуля. Спасибо за внимание.