Создание базового набора файловВ статье рассматривается
создание диска с 32-разрядной версией Windows PE. Кроме того, я
предполагаю, что у вас на диске создана папка C:\VistaWork.
Если вы создаете диск с 64-разрядной версией Windows PE и/или
используете другую папку, вам необходимо будет заменить во всех
командах архитектуру (х86 на amd64) и пути к папкам. В меню Пуск последовательно щелкните Все программы, Microsoft Windows AIK и Утилиты командной строки Windows PE - все последующие команды будут вводиться в это окно командной строки. Примечание. Если вы работаете в Windows Vista или Windows Server 2008, Утилиты командной строки Windows PE следует запускать от имени администратора, щелкнув правой кнопкой мыши на ярлыке и выбрав в контекстном меню пункт Запуск от имени администратора. Это позволит избежать проблем с правами доступа к папкам и файлам. Базовый набор файлов создается одной командой: copype.cmd x86 c:\VistaWork\winpe_x86 После ее завершения в папке winpe_x86 будет создана такая структура, как показано на скриншоте. Подключение образа Windows PE и работа с нимДля изменения исходного образа Windows PE его необходимо подключить командой imagex /mountrw c:\VistaWork\winpe_x86\winpe.wim 1 c:\VistaWork\winpe_x86\mount Подключив образ, вы можете устанавливать в него пакеты и добавлять собственные файлы. Установка пакетовС помощью утилиты peimg
в подключенный образ можно добавлять дополнительные пакеты, расширяющие
возможности Windows PE, а также интегрировать драйверы контроллеров
устройств хранения (mass storage). Последнее может понадобиться в том
случае, если вы используете контроллеры, драйверы которых не включены в
состав Windows PE. Ниже приводится список пакетов, которые можно
установить. Имя пакета | Описание |
---|
WinPE-HTA-Package | Поддержка HTML-приложений | WinPE-MDAC-Package | Поддержка компонентов доступа к данным (Microsoft) | WinPE-Scripting-Package | Поддержка сервера сценариев Windows | WinPE-SRT-Package | Компонент среды восстановления Windows (доступен только по корпоративным лицензиям) | WinPE-WMI-Packages | Поддержка WMI (Windows Management Instrumentation) | WinPE-XML-Package | Поддержка программы разбора Microsoft XML (MSXML) |
Например,
если вы планируете выполнять в Windows PE сценарии WSH, следует
установить WinPE-Scripting-Package. Делается это одной командой: peimg /install=WinPE-Scripting-Package c:\VistaWork\winpe_x86\mount\Windows В
качестве значения для параметра /install= указывается полное имя пакета
или его часть. К примеру, тот же результат достигается командой peimg /install=*Script* c:\VistaWork\winpe_x86\mount\Windows Просмотреть список установленных в образе пакетов можно командой peimg /list c:\VistaWork\winpe_x86\mount\Windows Добавление собственных файловВы
можете расширить функциональные возможности Windows PE за счет
добавления собственных файлов. Например, для того чтобы иметь
возможность захвата томов в WIM-образ, необходимо включить в состав
диска утилиту ImageX. Добавлять файлы можно как
непосредственно в WIM-образ Windows PE, так и на диск, на котором
размещается предустановочная среда. Преимущества и недостатки обоих
способов я рассмотрю подробнее. Добавление файлов в WIM-образ Windows PE.
В этом случае увеличивается размер WIM-образа Windows PE, который
изначально составляет около 200 Мб. Поскольку при запуске Windows PE
содержимое образа целиком загружается в оперативную память компьютера,
размер WIM-образа не стоит увеличивать без необходимости. Преимущество
добавления файлов в WIM-образ заключается в том, что заранее известна
буква диска загруженной среды Windows PE (это всегда X:\) и удобно
использовать переменные среды (%SystemRoot%, %SystemDrive% и т. д.).
Целевой папкой для добавления файлов к WIM-образу является winpe_x86\mount\Windows. Добавление файлов на диск.
Добавляя файлы на диск, вы избегаете увеличения размера WIM-образа
Windows PE и экономите оперативную память при запуске предустановочной
среды. Все ваши файлы будут доступны - они включаются в состав
загрузочного диска. Недостатком такого подхода является то, что заранее
неизвестна буква диска, с которого производится запуск Windows PE. При
желании можно обойти и это препятствие. Целевой папкой для добавления
файлов на диск является winpe_x86\ISO - она эквивалентна корню загрузочного диска (конечно, вы можете создавать в ней подпапки). Давайте рассмотрим пример добавления файлов на диск. Начнем с ImageX. Поскольку утилита входит в состав WAIK, достаточно выполнить команду: xcopy "%ProgramFiles%\Windows AIK\Tools\x86\imagex.exe" c:\VistaWork\winpe_x86\iso\ Если вы планируете использовать утилиту ImageX
для захвата образов, можно (но не обязательно) сразу подготовить список
исключений - файлов и папок, которые не будут включаться в сохраняемый
образ. Создайте в любом текстовом редакторе файл Wimscript.ini и укажите в нем файлы и папки, которые вы хотите исключить из образа. По умолчанию ImageX использует следующие исключения: [ExclusionList] \$ntfs.log \hiberfil.sys \pagefile.sys "\System Volume Information" \RECYCLER \Windows\CSC
[CompressionExclusionList] *.mp3 *.zip *.cab \WINDOWS\inf\*.pnf Файл Wimscript.ini размещается в одной папке с ImageX. Для добавления диспетчера пакетов (PkgMgr) необходимо целиком скопировать папку Servicing, а также файлы MSXML6: xcopy "%ProgramFiles%\Windows AIK\Tools\x86\Servicing" c:\VistaWork\winpe_x86\iso\Servicing /s xcopy %windir%\system32\msxml6*.dll c:\VistaWork\winpe_x86\iso\Servicing Теперь
рассмотрим пример добавления файлов в образ Windows PE. Допустим, я
хочу включить в состав WIM-образа файловый менеджер Total Commander. Я
копирую его папку TotalCmd в корень папки winpe_x86\mount. Это можно сделать вручную или из командной строки: xcopy "%ProgramFiles%\TotalCmd" c:\VistaWork\winpe_x86\mount /s Настройка запуска собственных приложений и сценариевЕсли
вы впервые создаете диск Windows PE, можете пропустить этот раздел,
чтобы материал не казался вам сложнее, чем он есть на самом деле.
Успешно создав свой первый диск Windows PE и насладившись ее волшебным
интерфейсом командной строки, вы сможете вернуться к настройке запуска
приложений.
Запуск собственных приложений и сценариев в Windows PE можно организовать различными способами. startnet.cmdФайл startnet.cmd расположен в папке Windows\System32 подключенного образа Windows PE и уже содержит одну команду - wpeinit. Эта команда нужна для инициализации поддержки сети и устройств Plug-and-Play. В качестве параметра командной строки для wpeinit.exe
можно указать путь к файлу ответов, настраивающему параметры Windows
PE, о чем речь пойдет чуть ниже. При загрузке Windows PE файл startnet.cmd выполняется автоматически, поэтому его удобно использовать для выполнения собственных команд. Вы
можете добавить в этот файл команды, используя стандартный синтаксис
командных файлов. Например, для запуска Total Commander, который я
включил в состав образа ранее, можно добавить такую команду: %SystemDrive%\TotalCmd\TOTALCMD.EXE "I=%SystemDrive%\TotalCmd\Profiles\PE\main.ini" В
данном примере в качестве параметра командной строки указывается путь к
конфигурационному файлу Total Commander (это описано в справке
программы). winpeshl.iniСтандартной оболочкой Windows PE является командная строка. Однако можно задать собственную оболочку при помощи файла winpeshl.ini,
указав в нем командный файл или программу для запуска. Файл не входит в
состав Windows PE. Его нужно создать в любом текстовом редакторе и
разместить в папке Windows\System32 подключенного образа Windows PE. Пример запуска программы myshell.exe, выступающей в роли оболочки, приводится ниже. [LaunchApp] AppPath = %SystemDrive%\myshell.exe В этом примере программа размещается в корне подключенного образа Windows PE, т. е. в корне папки winpe_x86\mount. Примечание. При запуске собственной оболочки не происходит выполнения файла startnet.cmd. Если вам нужна поддержка сети или устройств Plug-and-Play, необходимо настроить выполнение команды wpeinit.
В этом случае лучше использовать раздел [LaunchApps], позволяющий не
только выполнять несколько команд, но и указывать параметры командной
строки для приложений. Например, запуск wpeinit и файлового менеджера Total Commander, который я включил в состав образа ранее, можно реализовать так: [LaunchApps] wpeinit %SystemDrive%\TotalCmd\TOTALCMD.EXE,"I=%SystemDrive%\TotalCmd\Profiles\PE\main.ini" Обратите внимание на то, как в winpeshl.ini задаются параметры командной строки для приложений. Примечание. Поскольку приложение, запущенное из файла winpeshl.ini выполняет роль оболочки, его закрытие ведет к завершению сессии Windows PE. Внимание!
Не используйте разделы [LaunchApp] и [LaunchApps] одновременно,
поскольку в этом случае приложения могут не запуститься. Этот момент не
отражен в документации. Файл ответовДля
автоматизации выполнения команд в среде Windows PE можно использовать
файл ответов. При запуске Windows PE автоматически выполняется поиск
файла Unattend.xml в корне диска, с которого
выполнялась загрузка. Кроме того, путь к файлу ответов можно явно
указать в качестве параметра командной строки следующим образом: wpeinit –unattend=<путь\ФайлОтветов.xml> Для запуска собственных приложений и сценариев можно использовать синхронные команды, добавляемые к проходу 1 windowsPE. Продолжая пример с запуском Total Commander, синхронная команда будет выглядеть так: %SystemDrive%\TotalCmd\TOTALCMD.EXE "I=%SystemDrive%\TotalCmd\Profiles\PE\main.ini" Пример файла ответов, запускающего синхронную команду, вы найдете на странице Примеры. Этот файл можно сохранить с именем Unattend.xml в папке winpe_x86\ISO, и он будет распознан автоматически. На этом обзор способов запуска собственных программ можно считать законченными. Сохранение образа Windows PE и замена boot.wimПосле
того, как вы добавите собственные файлы в образ Windows PE и настроите
остальные параметры запуска предустановочной среды, необходимо
сохранить образ. Однако прежде чем сохранить изменения, его нужно
подготовить. Это делается одной командой: peimg /prep /f c:\VistaWork\winpe_x86\mount\Windows Подготовка
образа нужна для удаления всех неиспользуемых пакетов, что позволяет
уменьшить его конечный размер. Примите к сведению, что подготовку
нельзя отменить, а после нее уже не будут действовать следующие
параметры командной строки peimg: /install, /uninstall, /import и /list. Другими словами, если после подготовки вы вспомните, что забыли установить какой-либо пакет, придется начинать все сначала. Завершив подготовку, можно сохранять образ. imagex /unmount /commit c:\VistaWork\winpe_x86\mount Если вы помните, вся работа велась с образом winpe.wim. А для загрузочного диска Windows PE используется файл boot.wim, расположенный в папке winpe_x86\ISO\sources. Поэтому необходимо заменить файл boot.wim файлом winpe.wim, выполнив при этом переименование. xcopy /y c:\VistaWork\winpe_x86\winpe.wim c:\VistaWork\winpe_x86\ISO\sources\boot.wim Теперь
у вас все готово к созданию загрузочного диска Windows PE. Ваши
дальнейшие действия зависят от того, какой тип носителя вы изберете.
Можно создать ISO-образ и записать его на компакт-диск, а можно создать
загрузочный USB-диск. Создание ISO-образа Windows PEПоскольку все файлы уже подготовлены, остается выполнить команду: oscdimg -n -bc:\VistaWork\winpe_x86\etfsboot.com c:\VistaWork\winpe_x86\ISO c:\VistaWork\winpe_x86\winpe_x86.iso Примечание. Для 64-разрядной версии Windows PE необходимо указывать в качестве загрузчика файл efisys.bin. Теперь вы можете подключить образ к виртуальной машине и протестировать работу Windows PE. Создание загрузочного USB-диска Windows PEУчитывая
повсеместное распространение компьютеров, поддерживающих загрузку с
USB-дисков, Windows PE вполне можно разместить на "флэшке". Суть
описанных далее операций сводится к форматированию USB-диска и созданию
на нем активного раздела с файловой системой FAT32 с помощью утилиты Diskpart. Ее подробное описание вы найдете в статье Описание программы Diskpart с интерфейсом командной строки. Примечание.
Описанную ниже процедуру можно проводить только в Windows Vista,
Windows Server 2008 и более новых операционных системах. Это связано с
тем, что в Windows XP утилита Diskpart
определяет флэш-диски как съемные, поэтому в списке дисков они не
отображаются. Копирование утилиты из Windows Vista в Windows XP не
решает проблему. Если вы работаете в Windows XP, воспользуйтесь
альтернативными средствами (например, программой Swissknife). В командной строке последовательно вводите приведенные ниже команды. diskpart Затем отобразите список дисков. list disk
Список
и нумерация дисков зависит от количества подключенных в системе дисков.
В моем примере USB-диск - это Диск 1. Это несложно определить по
размеру диска. В приведенных ниже командах производятся операции с
"Диск 1". Вам необходимо внести изменения, если ваш USB-диск имеет
другой индекс. select disk 1 Внимание! Дальнейшие действия приведут к полному удалению информации на выбранном вами диске. Очистите диск. clean Создайте основной раздел. create partition primary Раздел займет все пространство на диске. Если вы хотите создать раздел определенного размера, добавьте к команде параметр size=N, где N
- число в мегабайтах. Впрочем, Windows XP и Vista видят на съемных
USB-дисках только один раздел и не позволяют создавать другие. Эту
проблему можно преодолеть, если вам нужна мультизагрузка с USB-диска,
но рассказ о решении выходит за рамки статьи. Поэтому я ограничусь ссылкой на одно из возможных решений. Выберите первый раздел. select partition 1 Сделайте его активным. active Отформатируйте в FAT32. format fs=fat32 quick Инициализируйте назначение буквы. assign Завершите работу утилиты. exit Остается лишь скопировать файлы Windows PE на USB-диск. Все файлы находятся в папке winpe_x86\ISO. Вы можете их скопировать с помощью проводника или другого файлового менеджера, либо такой командой: xcopy c:\VistaWork\winpe_x86\iso\*.* /s /e /f К:\
В этом примере USB-диск имеет букву К. На этом создание загрузочного USB-диска с Windows PE можно считать законченным. Полезная информация о Windows PEВ заключение я приведу ряд фактов о Windows PE, которые могут оказаться полезными для вас. Дополнительную
информацию о Windows PE вы найдете в справочном CHM-файле "Руководство
пользователя Windows PE", входящем в состав пакета автоматической установки Windows (WAIK). Связанные ресурсы
Источник: http://www.oszone.net/8611/ |