Cборка windows PE в LINUX

Download_Link

New member
это облегчённая версия Windows (Windows Preinstallation Environment), предназначенная для помощи в установке и восстановлении операционных систем семейства Windows и загружающаяся с CD, USB Flash или по сети. Для создания образа Windows PE необходимо иметь официальный установочный диск с Windows.

Официальные инструменты для сборки Windows PE существуют только ОС Windows, однако при необходимости собрать образ можно и из под Linux благодаря утилитам из проекта.
Собирать образ Windows PE мы будем на основе диска с 64-битной Windows 10 из под Ubuntu 18.04. Для начала установим утилиты wimlibs командой:
sudo apt install wimtools
Дальше определим переменную окружения WINPEBUILD, указывающую на директорию сборки, создадим эту директорию и перейдём в неё:
export WINPEBUILD=$HOME/WinPEBuild
mkdir -p $WINPEBUILD
cd $WINPEBUILD
Создадим директорию, в которую смонтируем дистрибутив Windows:
mkdir -p $WINPEBUILD/WinDistr
Если дистрибутив у нас на компакт-диске, то монтируем его командой:
sudo mount /dev/cdrom $WINPEBUILD/WinDistr
Если же речь идёт об образе диска, то монтируем его командой:
sudo mount -o loop /путь/к/образу/windows.iso $WINPEBUILD/WinDistr
В принципе теперь можно собрать образ диска. Если нужен образ для записи на флэш-накопитель, то сделать это можно командой:
mkwinpeimg --windows-dir=$WINPEBUILD/WinDistr $WINPEBUILD/WinPE.img
Дальше этот образ можно записать на накопитель командой:
sudo dd if=$WINPEBUILD/WinPE.img of=/dev/sdc bs=1M
Здесь "/dev/sdc" надо заменить на правильный файл устройства, соответствующий вашему накопителю. Если необходим образ компакт-диска, то надо использовать дополнительный ключ "--iso":
mkwinpeimg --iso --windows-dir=$WINPEBUILD/WinDistr $WINPEBUILD/WinPE.iso
Однако утилита mkwinpeimg позволяет не только собрать образ, но и кастомизировать его на этапе сборки. Например если мы хотим добавить файлы то необходимо использовать опцию "--overlay". Создадим директорию для дополнительных файлов:
mkdir -p $WINPEBUILD/PEAddons
Далее (для примера)и разместим его в директории "$WINPEBUILD/PEAddons/Programs/Far". ВАЖНО: в WinPE на базе 64-битной Windows можно запускать только 64-битные приложения! Учитывайте это при формировании своих образов!
Соберём образ компакт-диска командой:
mkwinpeimg --iso --windows-dir=$WINPEBUILD/WinDistr --overlay=$WINPEBUILD/PEAddons $WINPEBUILD/WinPE.iso
После загрузки Far Manager будет доступен в директории "X:programsFar". Следующим шагом настроим автоматический запуск Far Manager после загрузки WinPE. Здесь нам поможет опция "--start-script", которая должна указывать на CMD-скрипт загрузки. ВАЖНО: после завершения этого скрипта система автоматически перезагружается.
Создадим скрипт "$WINPEBUILD/startpe.cmd" следующего содержания:
@echo off
REM Run main system init tool
wpeinit

REM Start Far Manager in new Window
start %SYSTEMDRIVE%ProgramsFarFar.exe

REM Print some manual
echo Type "exit" to reboot

REM Start cmd
cmd
После этого образ компакт-диск можно собрать командой:
mkwinpeimg --iso --windows-dir=$WINPEBUILD/WinDistr --overlay=$WINPEBUILD/PEAddons --start-script=$WINPEBUILD/startpe.cmd $WINPEBUILD/WinPE.iso
Протестировать образ компакт-диска можно в любой виртуальной машине. Например в QEmu это можно сделать командой:
qemu-system-x86_64 -cdrom $WINPEBUILD/WinPE.iso -m 1024
Образ флэш-накопителя можно протестировать в QEmu командой:
qemu-system-x86_64 -hdc $WINPEBUILD/WinPE.img -m 1024


Windows PE на базе Windows 10 в QEmu

Утилита mkwinpeimg написана на bash и является обёрткой над остальными утилитами из состава wimlib. С помощью этих утилит можно не только собирать образ Windows PE, но и работать с существующими: распаковывать, модифицировать и т.д. Подробнее можно прочитать на.
 

Alex_FFF

New member
VIP пользователь
Внесён депозит 500$
Ля, столько строчек кода. И всё ради виндовс в линукс..
 

Miroslav

New member
Проще привыкнуть к линуксу, а не мучиться с кодами.
Виртуалбокс в помощь, ели так нужен виндовс
 
Яндекс.Метрика
Сверху