Создание базового загрузочного диска WinPE с нуля

октября 07, 2020

Создание базового загрузочного диска 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 с нуля. Спасибо за внимание.

   

Связанная статья

Следующая статья
« Prev Post
Предыдущая статья
Следующая запись »
Написание разметки в комментариях
  • Для написания жирных букв <strong></strong> используйте <b></b>.
  • Для написания курсив букв <em></em> или <i></i>.
  • Для написания подчеркнутых букв <u></u>.
  • Для написания зачеркнутых используйте <strike></strike>.
  • Для написания кода HTML используйте <code></code> или <pre></pre> или <pre><code></code></pre>, и пожалуйста разбор кода в поле парсинга ниже.

Disqus
Добавьте свой комментарий

Комментариев нет