420 likes | 1.01k Views
Создание пользовательской сборки Windows PE на ядре Windows 7 – часть 1. Львов Никита, MSP. Введение. Недостатки загрузочных дискет MS-DOS Отсутствие поддержки 32 - и 64 - битных приложений(например , вы не сможете запустить утилиты из пакета sysinternals )
E N D
Создание пользовательской сборки Windows PE на ядре Windows7 – часть 1 Львов Никита, MSP
Введение • Недостатки загрузочных дискет MS-DOS • Отсутствие поддержки 32-и 64-битных приложений(например,вы не сможете запустить утилиты из пакета sysinternals) • Отсутствие полного набора системных API • Отсутствие поддержки файловой системы NTFS • Отсутствие сетевой поддержки • Отсутствие поддержки современных устройств(USB-устройств, а также многопроцессорных систем)
Пример • Осуществляется развертывание систем Windows 7 в сети, без WDS • В таком случае необходимо использовать сценарий развертывания по сети с использованием общих ресурсов, в случае недоступности WDS
Windows PE • Windows PE представляет собой минимальную версию Windows 7. Таким образом, она поддерживает большую часть всех необходимых инструментов и протоколов, необходимых администратору на сегодняшний день
Преимущества Windows PE • Сетевая поддержка • Поддержка файловой системы NTFS • Поддержка x86- и x64-приложений • Почти полный набор средств командной строки из Windows7 • Windows PE открыта для редактирования (но без декомпиляции)
Ограничения Windows PE (1) • Ограниченный набор API • После 72 часов непрерывного использования работа оболочки автоматически прекращается и происходит перезагрузка • Windows PE не может использоваться в качестве файлового сервера или сервера терминалов, ограничена в работа с DFS • Поддерживаются подключения к файловым серверам толькопо протоколам TCP/IP и NetBIOSповерх TCP/IP • Все изменения, вносимые в реестр Windows PE во время выполнения Windows PE, теряются при следующей перезагрузке компьютера
Ограничения Windows PE(2) • Буквы дисков присваиваются последовательно по мере создания разделов в среде WindowsPE • При перезагрузке Windows PE все присвоенные буквы дисков возвращаются к порядку по умолчанию • Не поддерживается Microsoft.NET и CommonLanguageRuntime (CLR) • Windows PE не включает виртуальные подсистемы • Windows PЕ не поддерживает пакеты MSI • Не поддерживается протокол 802.1x
Архитектура Windows PE • Далее речь пойдет о том, как вручную создать собственную сборку Windows PE, содержащую те возможности и компоненты, которые отсутствуют по умолчанию, но наличие которых очень полезно в подобном инструменте
Загрузка Windows PE • Инициализация загрузчика PBR • Загрузка BOOTMGR, запрос в BCD • Создание виртуального диска (рабочей зоны) и перенос в него всех данных из boot.wim • Winload.exe • Ntoskrnl.exe ->HAL.DLL • Winlogon.exe -> Winpeshl.ini • Cmd.exe ->startnet.cmd
Ядро • Создание сборки начинается с ядра. Ядро Windows PE содержится в пакете Windows AIK для Windows7, который можно бесплатно скачать по ссылке: • http://www.microsoft.com/downloads/details.aspx?FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34&DisplayLang=ru • Далее необходимо запустить командную строку средств развертывания и выполнить команду • copype.cmd <архитектура> <путь> • Можно создать сборки для архитектур x86,x64 и Itanium
Монтирование winpe.wim • Монтирование winpe.wim с помощью утилиты DISM • Dism /Mount-Wim /WimFile:<путь>\winpe.wim /index:1 /MountDir:<путь >\mount
Пакеты Windows PE • Пакеты Windows AIK – компоненты, которые используются для расширения функционала WindowsPE, например: • создание загрузочных образов • поддержка доступа к данным • поддержка средств восстановления • инструментарий WMI
Добавляемые пакеты Dism/image:<путь >\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\<архитектура>\WinPE_FPs\<имя пакета>.cab"
Профилирование • Этапы выполнения профилирования • Включение через программу DISM • Запуск сборки • Выполнение требуемых операций • Сохранение профиля • Подключение сборки с помощью DISM • Применение профиля • Такой метод довольно эффективно снижает размер образа, но его полезно применять в узкой корпоративной среде
Профилирование • В демонстрации профилирование проводится ВРУЧНУЮ путем удаления всех языковых пакетов, кроме английского и русского • Для этого в каталоге Mount\Windows\System32 удаляются все папки с именами языковых пакетов, кроме ru-ruи en-us
Добавлениекомпонентов из Windows 7 • Для расширения функциональности образа можно добавить некоторые программы и компоненты Windows 7 • Проводник • Nslookup • Fc • Diskcomp • Diskcopy • Клиент RDC
Список стороннего ПО, добавляемого в Windows PE • Cpu-Z • DnsDataView • Everest • FreeCommander • FirefoxPortable • HD_Speed • Imagex • IpTools • MacView • MemTest • mRemote Portable • NetAgent • PortScanner • Recuva • SmartSnifer • SpaceMonger • Пакет Sysinternals • Victoria • Wdsmcast • WIM2VHD • WinRAR mount\Program Files\soft\
Редактирование реестра Windows PE • Редактирование реестра Windows PE выполняется через стандартную программу regedit.exe, путем вызова команды «Загрузить куст»
Настройка Windows PE • Windows PE может быть настроена для удобства администратора • Изменить путь к рабочей зоне • Изменить размер рабочей зоны • Настроить автоматически выполняемый командный сценарий • …
Winpeshl.ini • Предназначен для настройки программы- оболочки • По умолчанию не существует • В качестве оболочки используется cmd.exe • Выход из оболочки влечет за собой автоматическую перезагрузку компьютера • Синтаксис: [LaunchApp] AppPath= %SYSTEMDRIVE%\myshell.exe [LaunchApps] %SYSTEMDRIVE%\mydir\application1.exe, {option}
Startnet.cmd • Командный сценарий, предназначенный для запуска приложений после загрузки среды • Хранится в каталоге \windows\system32 • Синтаксис стандартный для сценариев командной строки (*.cmd)
Добавление драйверов • Чтобы добавить в сборку драйвер в более удобном графическом режиме, необходимо воспользоваться Windows Deployment Services
Настройка с помощью DISM • С помощью утилиты DISM можно изменить некоторые настройки Windows PE • Установка пути к рабочей зоне (по умолчанию X) • DISM /image:<путь>\mount/Set-TargetPath:Z:\ • Установка размера рабочей зоны (по умолчанию 32 Мб) • DISM /image:<путь>\mount/Set-ScratchSpace:64
Другие команды DISM • Отобразить включенные в образ пакеты • Dism /image:<путь>\mount /Get-Packages • Отобразить язык по умолчанию для смонтированного образа • Dism /image:<путь>\mount /Get-Intl • Добавить в образ драйвер • Dism /image:<путь >\mount /Add-Driver /driver:<путь к драйверу>
Размонтирование и оптимизация образа • По окончании редактирования образа его необходимо размонтировать с подтверждением изменений • DISM /Unmount-Wim /MountDir:<путь>\mount /Commit • и оптимизировать • imagex /export <путь>\winpe.wim 1 <путь>\ISO\sorces\boot.wim «Windows PE 3.0»
Важно! • При создании х86-версии Windows PE размер образа не должен превышать 4 Гб • Перед добавлением любого стороннего ПО в Windows PE его необходимо протестировать на совместимость
Настройка универсальной сборки Windows PE Демонстрация Львов Никита, MSP
Что делать с настроенным winpe.wim? Вы можете: • Создать загрузочный CD\DVDдиск • Создать загрузочный флэш-накопитель • Использовать WDS для удаленной загрузки систем • Поместить напрямую на жесткий диск
Создание загрузочного CD\DVD диска Для этого существует команда Oscdimg –n –b<путь>\etfsboot.com <путь>ISO <путь к конечному ISO-образу>
Создание загрузочного флэш-накопителя • Подключить флэш-накопитель • Отформатировать его в файловой системе NTFS, создать один раздел, пометить его как активный • Скопировать все содержимое папки ISO на флэш-накопитель • В командной строке перейти в каталог boot на флэш-накопителе • Bootsect /nt60 <имя флэш-накопителя>
Использование WDS В консоли управления WDS необходимо добавить настроенный образ boot.wimкак загрузочный в хранилище образов. Дополнительные действия не требуются. Клиентские компьютеры загружаются с него как и при установке ОС
Помещение на жесткий диск ПК • Загрузить целевой компьютер с носителя Windows PE, указанного выше • При помощи инструмента ImageXприменить образ boot.wimк жесткому диску целевого ПКd:\imagex /apply d:\sources\boot.wim 1 c: • xcopy d:\boot\*.* /e /f c:\boot\ • copy d:\bootmgr c: • del C:\boot\bcd
Bcdedit -createstore c:\boot\BCD • Bcdedit -store c:\boot\BCD -create {bootmgr} /d “Boot Manager” • Bcdedit -store c:\boot\BCD -set {bootmgr} device boot • Bcdedit-store c:\boot\BCD -create /d “WINPE” -application osloaderбудет выведен GUID. Его следует скопировать в буфер обмена для последующей вставки в команды вместо <GUID>
Bcdedit -store c:\boot\BCD -set <GUID> osdeviceboot • Bcdedit -store c:\boot\BCD -set <GUID> device boot • Bcdedit -store c:\boot\BCD -set <GUID> path \windows\system32\boot\winload.exe • Bcdedit -store c:\boot\BCD -set <GUID> systemroot \windows • Bcdedit -store c:\boot\BCD -set <GUID> winpe yes • Bcdedit-store c:\boot\BCD -displayorder <GUID> -addlast • Перезагрузть ПК
Помещение Windows PE в различные среды для последующего использования Демонстрация Львов Никита, MSP
Ресурсы • http://www.microsoft.com/rus/servers/home.mspx - страница Servers & Tools • http://technet.microsoft.com/ru-ru/windows/dd361746 - развертывание Windows 7 • http://technet.microsoft.com/ru-ru/deployment/default.aspx - технический центр развёртывания • Руководство пользователя по пакету Windows AIK