Экспертное сообщество по ремонту ванных комнат

Алгоритм создания сборки windows pe. WinPE: создание загрузочного USB-накопителя

WinPE (Windows Preinstallation Environment) – это урезанная версия операционной системы Windows. Главное отличие WindowsPE от стандартной Windows заключается в том, что ее можно загрузить со сменного носителя (CD, DVD, USB). Т.е. при наличии диска с WinPE вы сможете запустить компьютер и восстановить работоспособность существующей системы, если она оказалась повреждена.

Загрузившись с WinPE мы получаем полный доступ к жестким дискам компьютера (в т.ч. к NTFS-томам, реестру, настройкам и драйверам), следовательно – можем заменить поврежденные системные файлы оригинальными или, например, произвести какие-то операции с разделами диска.

Существуют как официальные версии WindowsPE от Microsoft, так и различные сборки. Первая официальная версия (Windows PE 1.0) была собрана на основе Windows XP, а последняя на момент написания данной статьи (Windows PE 4.0) – на основе Windows 8.

WinPE от Microsoft имеют приличный вес, но при этом малофункциональны. Поэтому среди пользователей большей популярностью пользуются, так называемые, сборки – наборы программ, работающих в среде WindowsPE. Пожалуй, самой известной такой сборкой является диск аварийного восстановления ERD Commander . Изначально он являлся разработкой Winternals Software, но в 2006 году компанию приобрел Microsoft и с тех пор ERD Commander стал частью набора программных средств Microsoft Desktop Optimization Pack.

В составе ERD Commander имеется широкий набор инструментов, с помощью которых вы можете устранить серьезные неполадки в работе вашей системы, изменить забытый пароль администратора, восстановить удаленные файлы и т.д. Более подробно об ERD Commander вы можете прочитать в .

Перед системными администраторами стоит задача эффективно обслуживать парк вычислительной техники, поэтому каждый системный администратор должен стремиться автоматизировать свою работу и рутинные задачи. Сейчас я хочу начать цикл статей по автоматизации развёртывания ПО в гетерогенной среде, где рабочие станции пользователей работают по понятным причинам под управлением ОС Windows, а часть серверов под различными свободными системами типа Linux или FreeBSD. За основу образа взята Windows PE версия 3.1, что соответствует Windows 7 или Windows Server 2008 R2, т.к. Windows 7 - это наиболее ходовая ОС на рабочих станциях.

Все эксперименты по сборке и проверки работоспособности образов я буду проводить на виртуальных машинах VirtualBox и QUEMU/KVM.

В цикл статей будут входить следующие материалы:

  • Создание собственного образа дистрибутива Windows 7 или Windows Server 2008 R2
  • Настройка Linux PXE сервера сетевой установки Windows 7 или Windows Server 2008 R2

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

Windows Preinstallation Environment (Windows PE), это такая усечённая версия Windows, предназначенная для установки полноценной ОС Windows. Windows PE нельзя рассматривать как полноценную ОС, т.к. на неё наложен ряд ограничений, в т.ч. и автоматическая перезагрузка через 72 часа работы, но как среда для резервного копирования, восстановление данных и подготовки ПК к переустановки системы она подходит как нельзя лучше. Поэтому прдлагаю снабдить нашу Windows PE некоторым набором утилит, которые нам очень помогут для спасения данных и повысят удобство работы.

Для начала нам портебутеся установить на машине администратора Windows Automated Installation Kit (AIK). Машина администратора будет задйствованна только для подготовки образов системы.

  • Пакет автоматической установки Windows (AIK) для Windows 7 (KB3AIK_RU.iso)
В остальном нам хватит стандартных средств ОС Windows, так же позаботьтесь о подготовке драйверов для систем, которые вы будете развёртывать. Поскольку я буду тестировать сборки на виртуальных машинах VirtualBox и QUEMU/KVM, то необходимо подготовить и драйверы к ним.

Драйвер для VirtualBox

Копируем файлы VBoxWindowsAdditions-x86.exe или VBoxWindowsAdditions-amd64.exe в зависимости от вашйе системы со стандартного образа средств интеграции VirtualBox - VBoxGuestAdditions.iso.
VBoxWindowsAdditions-x86.exe /extract /D=C:\Drivers\VBox-x86
VBoxWindowsAdditions-amd64.exe /extract /D=C:\Drivers\VBox-amd64

Драйвер для QEMU/KVM

Качаем стабильный образ драйверов под нашу архитектуру:
https://fedoraproject.org/wiki/Windows_Virtio_Drivers
или
https://launchpad.net/kvm-guest-drivers-windows/+download

Распаковываем их в:

C:\Drivers\KVM-x86
C:\Drivers\KVM-amd64
При этом необходимо удалить все драйверы не связанные с нашей ОС. Аналогично вы можете подготовить и необходимые вам драйверы для интеграции в дистрибутив.

Сборка образа

Устанавливаем Windows AIK, и запускаем от имени администратора "Пуск" -> "Все программы" -> "Microsoft Windows AIK" -> "Командная строка средств развертывания ".

Собирать будем образ x86, т.к. с образом amd64 всё происходит по аналогии, но по скольку Windows PE это усечённая версия Windows, x86 приложения работать в ней не будут, и такой образ будет годиться лишь для создания прединсталляционной среды.

Копируем загрузочный образ:

Для того, чтобы в будующем снять образ с системного диска, нам понадобится утилита imagex, копируем её:
xcopy "%ProgramFiles%\Windows AIK\Tools\x86\imagex.exe" C:\WinPE\x86\iso\
И создаём для неё список исключений (файлов, которые она не будет захватывать при копировании):
notepad C:\WinPE\x86\iso\wimscript.ini
Со следующим содержимым:

\$ntfs.log
\$RECYCLE.BIN
\hiberfil.sys
\pagefile.sys
"\System Volume Information"
\RECYCLER
\Windows\CSC


*.mp3
*.zip
*.cab
\WINDOWS\inf\*.pnf

Добавляем диспетчер пакетов:
xcopy "%ProgramFiles%\Windows AIK\Tools\x86\Servicing" C:\WinPE\x86\iso\Servicing /s
xcopy %windir%\system32\msxml6*.dll C:\WinPE\x86\iso\Servicing

Внесение изменений в образ Windows PE

Теперь отредактируем сам наш образ Windows PE, полный образ файловой системы, которая загружается в память находится в файле winpe.wim, который в готовом образе и установочном дистрибутиве находится перемещается в sources\boot.wim. Для его подключением воспользуемся утилитой dism

Подключаем образ Windows PE

dism /mount-wim /wimfile:C:\WinPE\x86\winpe.wim /index:1 /mountdir:C:\WinPE\x86\mount
Установка драйверов в Windows PE:
dism /image:C:\WinPE\x86\mount /add-driver /driver:"C:\Drivers\KVM-x86" /recurse /forceunsigned
dism /image:C:\WinPE\x86\mount /add-driver /driver:"C:\Drivers\VBox-x86" /recurse /forceunsigned
Параметр /recurse используется, чтобы установить драйвера из вложенных каталогов, а /forceunsigned для установки не подписанных драйверов.

Теперь копируем необходимый софт:

xcopy "%ProgramFiles(x86)%\Total Commander" "C:\WinPE\x86\mount\Program Files\Total Commander"
xcopy "%ProgramFiles(x86)%\12noon Display Changer" "C:\WinPE\x86\mount\Program Files\Display Changer"
xcopy "%ProgramFiles(x86)%\PuTTY" "C:\WinPE\x86\mount\Program Files\PuTTY"

Оформление

Копируем понравившуюся нам картинку рабочего стола:
xcopy %homepath%\Pictures\winpe_wp_800x600.bmp C:\WinPE\x86\mount\Windows\winpe_wp_800x600.bmp
Теперь для того, чтобы Total Commander, Display Changer и PuTTY можно было вызывать командами "totalcmd", "dc" и "putty", а не обращаться к файлам по полному пути, добавим пути в переменную "%Path%". Для этого нам понадобится ветка реестра System из системы Windows PE.

Можно открыть редактор реестра, в нём выбрать "Файл", "загрузить куст" и выбрать SYSTEM в C:\WinPE\x86\mount\Windows\System32\config\SYSTEM, а можно это сделать командой:

REG LOAD "HKLM\WinPE_SYSTEM" "C:\WinPE\x86\mount\Windows\System32\config\SYSTEM"
Далее идём в:
HKEY_LOCAL_MACHINE\WinPE_SYSTEM\ControlSet001\Control\Session Manager\Environment
и в праметр Path добавляем следующие строки:
%SystemRoot%\system32;%SystemRoot%;%PROGRAMFILES%\Sysinternals\;%PROGRAMFILES%\Total Commander\;%PROGRAMFILES%\Display Changer\;%PROGRAMFILES%\PuTTY;
Выгружаем ветку реестра WinPE_SYSTEM:
REG UNLOAD "HKLM\WinPE_SYSTEM"
Аналогично устанавливаем наши обои:
REG LOAD "HKLM\WinPE_DEFAULT" "C:\WinPE\x86\mount\Windows\System32\config\default"
REG ADD "HKLM\WinPE_DEFAULT\Control Panel\Desktop" изменяем параметр "Wallpaper" на путь к нашему файлу "%systemroot%\winpe_wp_800x600.bmp"
И выгружаем WinPE_DEFAULT
REG UNLOAD "HKLM\WinPE_DEFAULT"
Пользовательский реестр находится в NTUSER.DAT:
c:\WinPE\x86\mount\Users\Default\NTUSER.DAT

После внесения всех необходимых изменений, отключаем образ и сохраняем в нём изменения командой:

dism /unmount-wim /mountdir:C:\WinPE\x86\mount /commit
Если вы допустили где-то ошибку, то можно отключить образ без сохранения изменений, в таком случае замените команду /commit на /discard.

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

Теперь настало время собрать загрузочный образ системы Windows PE. Копируем winpe.wim в директорию нашего будующего образа системы в качестве загрузочного образа:
copy C:\WinPE\x86\winpe.wim C:\WinPE\x86\ISO\sources\boot.wim
Создаём ISO-образ:
oscdimg -n -lWinPEx86ru -bC:\WinPE\x86\etfsboot.com C:\WinPE\x86\ISO C:\WinPE\x86\WinPE_x86.iso
После этого загружаемся и проверим, что у нас получилось, вставив полученный iso-файл в виртуальный привод виртуальной машины.

Работа в среде Windows PE

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

Установить максимальное или необходимое разрешение можно с помощью Display Changer:

dc -width=max -height=max -depth=max
Команда dc, totalcmd и putty будут работать только, если вы внесли пути к Display Changer, Total Commander и PuTTY в переменную %Path% при сборке образа. Если вы забыли это сделать или сделали не корректно, то можно обращаться по полному пути:
"c:\Program Files\Display Changer\dc.exe" -width=max -height=max -depth=max
Посмотреть информацию о сетевых интерфесах можно командой:
netsh interface ip show config
Если нужно установить IP-адрес в ручную, то это можно сделать командой:
netsh interface ip set address name="Local Area Connection" static 192.168.1.25 255.255.255.0 192.168.1.1 1
netsh interface ip set dns name="Local Area Connection" static 192.168.1.100
netsh interface ip add dns name="Local Area Connection" 192.168.1.200 index=2
Для использования DHCP:
netsh interface ip set address name="Local Area Connection" dhcp
netsh interface ip set dnsservers name="Local Area Connection" source=dhcp
Так же можно подключить сетвые ресурсы:
net use * \\server\share /user:DOMAIN\USER
Для автоматизации и упрощения настроек оболочки Windows PE, можно сделать меню на bat-файлах. После запуска командной строки в Windows PE выполняется файл c:\Windows\System32\startnet.cmd, именно в нём можно разместить меню. Либо можно напрямую запускать приложения, описав их в файле c:\Windows\System32\winpeshl.ini (его необходимо создать), командная строка при этом запускаться не будет, а файл startnet.cmd будет игнорироваться.

Если вы хотите, чтобы при запуске Windows PE не предлагалось нажать любую клавишу для загрузки, просто удалите файл bootfix.bin из папки ISO\boot перед созданием ISO-образа.

Мы уже познакомились с . Но мы не рассмотрели процесс создания установочного носителя с 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.

Эта документация перемещена в архив и не поддерживается.

WinPE: создание загрузочного USB-накопителя

Создайте загрузочное USB-устройство флэш-памяти WinPE или внешний жесткий диск USB.

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

Установка Windows ADK

    Установите следующие компоненты из комплекта средств для развертывания и оценки Windows (ADK) :

    • Средства развертывания : содержат среду средств развертывания и работы с образами .

      Среда предустановки Windows : включает файлы для установки среды предустановки Windows.

Установка среды предустановки Windows

    Запустите Среду средств развертывания и работы с образами от имени администратора .

    Создайте рабочую копию файлов Windows PE. Укажите x86, amd64 или arm:

    copype amd64 C:\WinPE_amd64

    Установите среду предустановки Windows на USB-устройство флэш-памяти, указав букву диска:

    MakeWinPEMedia /UFD C:\WinPE_amd64 F:

    Предупреждение

    Эта команда выполняет форматирование диска.

    Подключите USB-устройство к компьютеру, на котором будете работать.

    Включите компьютер и нажмите клавишу, которая открывает загрузочные меню встроенного ПО.

    Выберите USB-накопитель. Среда предустановки Windows PE запустится автоматически.

    После открытия окна командной строки запускается команда wpeinit , которая настраивает систему. Это может занять несколько минут.

Диагностика

    Если команда copype не распознается, убедитесь, что вы запускаете команду в среде средств развертывания и работы с образами, которая входит в Windows ADK.

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

    • Чтобы загрузить компьютер, который поддерживает режим UEFI, попробуйте вручную выбрать файл загрузки в меню загрузки встроенного ПО: \EFI\BOOT\BOOTX64.EFI.

      Попробуйте подключиться к другому USB-порту. Не используйте концентраторы и удлинители.

      Не используйте порты USB 3.0, если встроенное ПО не содержит собственной поддержки USB 3.0.

      Очистите USB-устройство флэш-памяти и переустановите среду предустановки Windows PE. Это поможет удалить лишние загрузочные разделы и другое загрузочное ПО.

      diskpart list disk select disk clean create partition primary format quick fs=fat32 label="Windows PE" assign letter="F" exit MakeWinPEMedia /UFD C:\winpe_amd64 F:

      Попробуйте загрузить среду предустановки Windows PE с DVD-диска. Создайте файл ISO, который можно записать на DVD-диск:

      MakeWinPEMedia /ISO C:\winpe_amd64 c:\winpe_amd64\winpe.iso

      В проводнике перейдите в каталог C: \winpe_amd64, щелкните правой кнопкой мыши winpe.iso и выберите Записать на диск . Создайте DVD-диск, следуя инструкциям на экране.

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

      Установите последнюю версию встроенного ПО компьютера.

    Если компьютер не подключается к сетевым папкам, изучите раздел .

Хранение образов Windows на диске среды предустановки Windows

    Большинство USB-устройств флэш-памяти поддерживает только один раздел диска. Команда MakeWinPEMedia форматирует накопитель в формате FAT32, который поддерживает загрузку компьютеров с BIOS и UEFI. В этом формате поддерживаются только файлы размером до 4 ГБ.

    На внешних жестких дисках с интерфейсом USB вы можете создать отдельный раздел в формате NTFS, который поддерживает более крупные файлы.

Эта документация перемещена в архив и не поддерживается.

Среда предустановки Windows (WinPE)

Среда предустановки Windows (WinPE) для Windows 10 представляет собой небольшую операционную систему, которая используется для установки, развертывания и восстановления классических выпусков Windows 10 (Домашняя, Pro, Корпоративная и для образовательных учреждений), Windows Server 2016 Technical Preview, и других операционных систем Windows. В среде предустановки Windows можно:

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

Где можно скачать эту среду?

Чтобы получить среду предустановки Windows, используйте программу установки, встроенную в комплект средств для развертывания и оценки Windows (Windows ADK). Дополнительные сведения см. в разделах , и Демонстрация: установка среды предустановки Windows на USB-накопителе .

Поддержка множества компонентов Windows

Windows PE запускает среду командной строки Windows и поддерживает следующие компоненты Windows:

  • Пакетные файлы и сценарии , включая поддержку сервера сценариев Windows (WSH) и объектов данных ActiveX (ADO), а также дополнительную поддержку PowerShell.
  • Приложения , включая программные интерфейсы Win32 (API) и дополнительную поддержку HTML-приложений (HTA).
  • Драйверы , включая общий набор драйверов, которые управляют сетевыми, графическими устройствами и хранилищами.
  • Запись и обслуживание образов , включая систему обслуживания образов развертывания и управления ими (DISM).
  • Сеть , включая подключение к файловым серверам, использующим TCP/IP и NetBIOS через TCP/IP в локальной сети.
  • Хранение данных , включая NTFS, DiskPart и BCDBoot.
  • Средства безопасности , включая дополнительную поддержку BitLocker и доверенного платформенного модуля (TPM), безопасной загрузки и других средств.
  • Hyper-V , включая VHD-файлы, интеграцию мыши, драйверы запоминающих устройств и сетевые драйверы, позволяющие Windows PE работать в низкоуровневой оболочке.

Требования к оборудованию

Требования среды предустановки Windows PE аналогичны требованиям Windows за некоторыми исключениями:

  • Жесткий диск не требуется. Вы можете запустить Windows PE полностью из оперативной памяти.
  • Для базовой версии достаточно всего 512 МБ оперативной памяти. (При добавлении драйверов, пакетов или приложений вам потребуется больше памяти.)
  • Чтобы загрузить Windows PE непосредственно из оперативной памяти (также называется загрузкой с электронного диска), должна быть доступна непрерывная область физической памяти (ОЗУ), в которой может храниться весь образ Windows PE (WIM). Чтобы оптимизировать использование памяти, изготовители должны обеспечить резервирование областей памяти их встроенным ПО или в начале или в конце физического пространства адресов памяти.

32-разрядная версия Windows PE может загружать 32-разрядные компьютеры с UEFI и BIOS и 64-разрядные компьютеры с BIOS.

64-разрядная версия Windows PE может загружать 64-разрядные компьютеры UEFI и BIOS.

Ограничения

Среда предустановки Windows не является операционной системой общего назначения. Ее можно использовать только для развертывания и восстановления. Среду нельзя использовать как тонкий клиент или встроенную операционную систему. Для этого можно воспользоваться другими продуктами корпорации Майкрософт, например Windows Embedded CE.

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

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

При установке Windows PE по умолчанию используется формат FAT32, который налагает собственные ограничения: размер файлов ограничен 4 ГБ, а размер диска - 32 ГБ. Для получения дополнительных сведений см. раздел .

Среда предустановки Windows не поддерживает:

  • использование файлового сервера или сервера терминалов;
  • присоединение к сетевому домену;
  • подключение к сети IPv4 из среды предустановки Windows в сети IPv6;
  • удаленный рабочий стол;
  • установочные MSI-файлы;
  • загрузку из пути, который содержит символы, отсутствующие в английском алфавите;
  • выполнение 64-разрядных приложений в 32-разрядной версии Windows PE;
  • добавление пакетов набора приложений с помощью DISM (пакеты.appxbundle).

Примечание В общем случае для развертывания Windows следует использовать последнюю версию WinPE. Если вы используете настраиваемую среду WinPE для образов Windows 10, вы можете предпочесть продолжить использование существующего образа Windows PE и запустить последнюю версию DISM из сетевого расположения. Дополнительные сведения см. в разделе .

Примечания о запуске программы установки Windows в среде предустановки Windows.

  • 32-разрядные версии среды предустановки Windows и программу установки Windows можно использовать для установки 64-разрядных версий Windows. Дополнительные сведения см. в разделе .
  • Хотя среда предустановки Windows PE поддерживает динамические диски, программа установки Windows их не поддерживает. Если вы установите Windows на динамический диск, созданный в Windows PE, динамические диски будут недоступны в Windows.
  • Для правильной установки Windows на компьютерах на базе UEFI, которые поддерживают как UEFI, так и прежние версии BIOS, важно загрузить среду предустановки Windows в нужном режиме. Дополнительные сведения см. в разделе .

См. также

Тип содержимого Ссылки

Оценка продукта

Развертывание

Похожие публикации