Блог ИТ склеротика. Создание загрузочного диска Windows PE 4.0 с .NET Framework и PowerShell 3

Страницы

Расширенный поиск в статьях блога

23 мая 2012 г.

Создание загрузочного диска Windows PE 4.0 с .NET Framework и PowerShell 3

С выходом Windows 8 обновилась и среда предустановки Windows PE до версии 4.0. Она входит в Windows 8 ADK, который теперь объединяет средства развертывания и оценки различных параметров системы.

Что входит в Windows 8 ADK

Раньше инструменты для подготовки операционной системы к развертыванию и оценки ее работы поставлялись отдельными наборами. Теперь Windows 8 Assessment and Development Kit (далее ADK) объединил несколько пакетов.

Deployment and Imaging Tools и Windows Preinstallation Environment

Эти средства для подготовки Windows к развертыванию ранее входили в WAIK, а Windows System Image Manager даже не изменился внешне.

Windows Performance Toolkit

Набор инструментов для оценки производительности Windows, с которым вы уже знакомы из других материалов блога, раньше поставлялся в наборе SDK. Теперь в WPT входят новые средства для записи различных сценариев работы приложений и системы (Windows Performance Recorder) и просмотра записей (Windows Performance Analyzer).

Windows PE 4.0
Увеличить рисунок

Windows Assessment Toolkit

Это новый набор, лицом которого является Windows Assessment Console. С ее помощью можно оценивать различные параметры работы Windows и приложений, например, производительность или потребление энергии.

Windows PE 4.0
Увеличить рисунок

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

Загрузка и установка Windows 8 ADK

Windows 8 ADK можно свободно загрузить, имея подписку MSDN или проявив сообразительность. ADK поставляется в ZIP-архиве, и в моем распоряжении был файл en_windows_developer_preview_adk_x86_x64_734756.zip размером 1.2 Гб, с контрольной суммой:

1
SHA1: 037F8159737AAB475732684A42A7A8F92AC0197C

Распаковав архив, в списке файлов найдите adksetup.exe и запустите.

Windows PE 4.0
Увеличить рисунок

После установки вы найдете все наборы в папке Program Files\Windows Kits. Впрочем, если у вас 64-разрядная система, туда упадет лишь часть средств развертывания, а остальное окажется в Program files (x86).

Windows PE 4.0

Дальше в программе:

Что нового в Windows PE 4.0

На Windows PE 4.0 основана среда предустановки Windows 8. По сравнению с Windows PE 3.1 расширился список пакетов, которые можно внедрить в PE. В частности добавились пакеты:

  • .NET (WinPE-NetFX4) обеспечивает запуск приложений, которым требуется .NET Framework.
  • Powershell (WinPE-PowerShell3) позволяет использовать PowerShell в среде PE. В состав ADK входит новая версия Powershell за номером 3.
  • DISM PowerShell Cmdlets (WinPE-DismCmdlets) представляют собой новые командлеты третьей версии Powershell для создания и обслуживания WIM образов
  • Remote Network Driver Specification ( WinPE- RNDIS) пригодится для доступа к удаленным клиентам из Windows PE
  • Windows PE Secure Startup (WinPE-SecureStartup) нужен для управления BitLocker и TPM. Последнее, впрочем, неактуально в России, куда запрещен ввоз устройств с TPM.

Дальше я расскажу, как создать загрузочный диск Windows PE с поддержкой .NET Framework 4 и Powershell 3.

Подготовка рабочей папки

Windows PE 4.0Введите в поиск deployment и запустите от имени администратора командную строку средств развертывания. По сути это файл DandISetEnv.bat из папки Deployment and Imaging Tools, задающий необходимые переменные среды для быстрого доступа к инструментам командной строки.

Для работы с автоустановкой и Windows PE у меня давно создана переменная среды %ua%, ведущая в папку unattend в корне профиля. Вы можете создать такую же переменную на постоянной основе, либо только в рамках текущей сессии командной строки, как показано ниже:

1
2
3
4
:: Задайте путь к рабочей папке (избегайте кириллицы и пробелов в пути)
set ua=C:\unattend
:: Создайте папку
md %ua%

Все дальнейшие команды будут использовать переменную %ua% вне зависимости от того, где у вас создана рабочая папка.

Копирование файлов Windows PE в рабочую папку

В WAIK входил удобный файл copype.cmd, который делал всю работу одной командой. В ADK его пока нет, но я создал такой же файл на основе старого (все изменения прокомментированы). Скачать copype.cmd для Windows PE 4.0.

Распакуйте архив в любую папку и скопируйте командный файл в корень папки Windows Preinstallation Environment.

Windows PE 4.0

Учтите, что разрядность Windows PE должна совпадать с разрядностью обслуживаемой системы. Во всех моих командах подразумевается создание 32-разрядной среды Windows PE. Для подготовки 64-разрядного диска замените везде x86 на amd64.

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

1
2
cd "..\Windows Preinstallation Environment"
copype.cmd x86 %ua%\winpe_x86\

Первая команда переходит в папку с наборами файлов Windows PE, а вторая запускает файл copype.cmd с параметрами x86 для создания 32-разрядной PE и %ua%\winpe_x86\ для копирования необходимых файлов в эту папку. В ней у вас должна получиться такая структура:

Windows PE 4.0

Далее мы будем работать только с файлами в этой папке.

Работа WIM-образом Windows PE

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

Шаг 1 – Подключение образа

Подключение WIM-образа выполняется одной командой с помощью утилиты DISM. Если вы часто работаете с WIM-образами, не повредит сначала очистить все предыдущие подключения.

1
2
dism /Cleanup-Wim
dism /Mount-Wim /WimFile:%ua%\winpe_x86\winpe.wim /index:1 /MountDir:%ua%\winpe_x86\mount

Шаг 2 – Добавление пакетов в образ

Пакеты находятся в папке WinPE_OCs, и мы добавим четыре пакета:

  • .Net Framework
  • PowerShell
  • командлеты DISM
  • WMI

Первая команда переходит в папку, а вторая добавляет пакеты:

1
2
cd x86\WinPE_OCs
dism /image:%ua%\winpe_x86\mount /Add-Package /PackagePath:WinPE-NetFx4.cab /PackagePath:WinPE-PowerShell3.cab /PackagePath:WinPE-DismCmdlets.cab /PackagePath:WinPE-wmi.cab

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

Windows PE 4.0
Увеличить рисунок

Вы можете добавить любые другие пакеты из папки WinPE_OCs. Например, WinPE-Scripting.cab обеспечит работу сценариев Windows Script Host (WSH). Но учтите, что каждый пакет увеличивает размер образа Windows PE.

Важно! Для работы PowerShell необходим .NET Framework, поэтому сначала нужно добавлять пакет WinPE-NetFx4.cab, и только вслед за ним WinPE-PowerShell3.cab и WinPE-DismCmdlets.cab.

Поскольку добавление пакетов сродни установке программ, при импорте WinPE-PowerShell3.cab без пакета .NET будет возникать ошибка 0x800f081e. Создавая свой первый диск, я добавлял пакеты в правильном порядке. Но потом случайно изменил его, когда собрал все пакеты в одну команду. Для решения проблемы пришлось плясать с бубном (в прямом смысле слова :)

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

1
dism /image:%ua%\winpe_x86\mount /Get-Packages

Шаг 3 – Добавление драйверов

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

Если возникла необходимость, с помощью DISM можно добавить:

  • отдельный драйвер, указав путь к INF-файлу
  • все драйверы из папки, указав путь к ней и ключ /recurse

Примеры этих команд:

1
2
dism /Image:%ua%\winpe_x86\mount /Add-Driver /Driver:C:\drivers\mydriver.INF
dism /Image:%ua%\winpe_x86\mount /Add-Driver /Driver:C:\drivers /recurse

Шаг 4 – Добавление своих утилит и сценариев

У меня есть папка Tools, где хранятся различные утилиты и средства командной строки. Я всегда включаю ее в состав Windows PE, добавляя в корень диска.

1
xcopy /e /y "%userprofile%\PortableSoft\Tools" %ua%\winpe_x86\ISO\Tools\

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

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

Шаг 5 – Сохранение изменений и отключение образа

Обе операции выполняются в рамках одной команды.

1
dism /Unmount-Wim /MountDir:%ua%\winpe_x86\mount\ /Commit

Если что-то пошло не так, и вы не хотите сохранять изменения, используйте ключ /Discard.

Шаг 6 – Копирование обновленного WIM-образа в дистрибутив Windows PE

Все действия мы выполняли над WIM-образом, расположенным в корне рабочей папки. Теперь им нужно заменить стандартный загрузочный WIM-образ в папке ISO\sources, сохраняя имя boot.wim.

1
copy %ua%\winpe_x86\winpe.wim %ua%\winpe_x86\ISO\sources\boot.wim /Y

В папке ISO теперь находится готовый дистрибутив Windows PE. На его основе можно создать загрузочный образ ISO для записи на диск или носитель USB (флэшку).

Создание ISO-образа или флэшки с Windows PE

Для экспериментов на виртуальной машине загрузочный ISO образ удобнее:

1
oscdimg -n -b%ua%\winpe_x86\etfsboot.com %ua%\winpe_x86\ISO %ua%\winpe_x86\winpe_x86.iso

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

Загрузочная флэшка с Windows PE более универсальна, поскольку существует множество устройств без DVD-привода. Я уже описывал во всех подробностях процесс создания флэшки на примере Windows PE 3.1, поэтому здесь лишь ограничусь списком команд diskpart.

После выполнения этих команд вашей флэшке будет присвоена буква (например, K). Остается скопировать на флэшку содержимое папки ISO.

1
xcopy %ua%\winpe_x86\iso\*.* /s /e /f К:\

Теперь вы можете подключить флэшку и загрузиться с нее.

Windows PE 4.0
Увеличить рисунок

Видно, что .NET Framework успешно добавлен, поскольку отображается список командлетов DISM в PowerShell 3. В ближайшее время я покажу, как использовать их для работы с WIM-образами из Windows PE.

.

Счетчик тИЦ и PR Яндекс.Метрика Msn bot last visit powered by MyPagerank.NetYahoo bot last visit powered by MyPagerank.Net ping fast  my blog, website, or RSS feed for Free