Создание пользовательской сборки Windows PE на ядре Windows 7...

40

description

Создание пользовательской сборки Windows PE на ядре Windows 7 – часть 1. Львов Никита, MSP. Введение. Недостатки загрузочных дискет MS-DOS Отсутствие поддержки 32 - и 64 - битных приложений(например , вы не сможете запустить утилиты из пакета sysinternals ) - PowerPoint PPT Presentation

Transcript of Создание пользовательской сборки Windows PE на ядре Windows 7...

Page 1: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1
Page 2: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Создание пользовательской сборки Windows PE на ядре Windows7 – часть 1

Львов Никита, MSP

Page 3: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Введение

Недостатки загрузочных дискет MS-DOS

Отсутствие поддержки 32- и 64-битных приложений(например, вы не сможете запустить утилиты из пакета sysinternals)Отсутствие полного набора системных APIОтсутствие поддержки файловой системы NTFSОтсутствие сетевой поддержкиОтсутствие поддержки современных устройств(USB-устройств, а также многопроцессорных систем)

Page 4: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Пример

Осуществляется развертывание систем Windows 7 в сети, без WDS

В таком случае необходимо использовать сценарий развертывания по сети с использованием общих ресурсов, в случае недоступности WDS

Page 5: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Windows PE

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

Page 6: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Преимущества Windows PE

Сетевая поддержкаПоддержка файловой системы NTFSПоддержка x86- и x64-приложенийПочти полный набор средств командной строки из Windows 7Windows PE открыта для редактирования (но без декомпиляции)

Page 7: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Ограничения Windows PE (1)

Ограниченный набор APIПосле 72 часов непрерывного использования работа оболочки автоматически прекращается и происходит перезагрузкаWindows PE не может использоваться в качестве файлового сервера или сервера терминалов, ограничена в работа с DFSПоддерживаются подключения к файловым серверам только по протоколам TCP/IP и NetBIOS поверх TCP/IPВсе изменения, вносимые в реестр Windows PE во время выполнения Windows PE, теряются при следующей перезагрузке компьютера

Page 8: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Ограничения Windows PE (2)

Буквы дисков присваиваются последовательно по мере создания разделов в среде Windows PEПри перезагрузке Windows PE все присвоенные буквы дисков возвращаются к порядку по умолчаниюНе поддерживается Microsoft .NET и Common Language Runtime (CLR) Windows PE не включает виртуальные подсистемыWindows PЕ не поддерживает пакеты MSIНе поддерживается протокол 802.1x

Page 9: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Архитектура Windows PE

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

Page 10: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Загрузка Windows PE

Инициализация загрузчика PBRЗагрузка BOOTMGR, запрос в BCDСоздание виртуального диска (рабочей зоны) и перенос в него всех данных из boot.wimWinload.exeNtoskrnl.exe -> HAL.DLLWinlogon.exe -> Winpeshl.iniCmd.exe -> startnet.cmd

Page 11: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Ядро

Создание сборки начинается с ядра. Ядро Windows PE содержится в пакете Windows AIK для Windows 7, который можно бесплатно скачать по ссылке:

http://www.microsoft.com/downloads/details.aspx?FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34&DisplayLang=ru

Далее необходимо запустить командную строку средств развертывания и выполнить команду

copype.cmd <архитектура> <путь>

Можно создать сборки для архитектур x86,x64 и Itanium

x86 x86x64 amd64Itanium ia64

Page 12: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Структура Windows PE

PE 3

.0

ISO

MOUNT

etfsboot.com

winpe.wim

Page 13: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Алгоритм создания сборкиМонтирование winpe.wim

Присоединение пакетов

Ручное профилирование

Добавление ПО и драйверов, настройка

Отсоединение образа и его оптимизация

Page 14: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Монтирование winpe.wim

Монтирование winpe.wim с помощью утилиты DISM

Dism /Mount-Wim /WimFile:<путь>\winpe.wim /index:1 /MountDir:<путь >\mount

Page 15: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Пакеты Windows PE

Пакеты Windows AIK – компоненты, которые используются для расширения функционала Windows PE, например:

создание загрузочных образовподдержка доступа к даннымподдержка средств восстановленияинструментарий WMI

Page 16: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Добавляемые пакеты

Dism /image:<путь >\mount /Add-Package /PackagePath:"C:\Program Files\Windows AIK\Tools\PETools\<архитектура>\WinPE_FPs\<имя пакета>.cab"

Название пакета

Назначение

WinPE-HTA Поддержка HTML-приложений. Позволяет создавать приложения с графическим интерфейсом пользователя, используя обработчик сценариев Internet Explorer и службы HTML

WinPE-PPPoE Включает поддержку протокола PPPoE. Позволяет создавать, подключать, отключать и удалять подключения по протоколу PPPoE из среды предустановки Windows

WinPE-Scripting Поддержка сервера сценариев Windows (WSH). Позволяет производить пакетную обработку файлов с помощью объектов сценариев WSH

WinPE-WDS-Tools Пакет средств служб развертывания Windows. Содержит интерфейсы API, предоставляющие многоадресный сценарий с использованием пользовательского клиента служб развертывания Windows и служебную программу записи образов

Page 17: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Профилирование

Этапы выполнения профилированияВключение через программу DISMЗапуск сборкиВыполнение требуемых операцийСохранение профиляПодключение сборки с помощью DISMПрименение профиля

Такой метод довольно эффективно снижает размер образа, но его полезно применять в узкой корпоративной среде

Page 18: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Профилирование

В демонстрации профилирование проводится ВРУЧНУЮ путем удаления всех языковых пакетов, кроме английского и русского Для этого в каталоге Mount\Windows\System32 удаляются все папки с именами языковых пакетов, кроме ru-ru и en-us

Page 19: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Добавление компонентов из Windows 7

Для расширения функциональности образа можно добавить некоторые программы и компоненты Windows 7

ПроводникNslookupFcDiskcompDiskcopyКлиент RDC

Page 20: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Список стороннего ПО, добавляемого в Windows PECpu-Z

DnsDataViewEverestFreeCommanderFirefoxPortableHD_SpeedImagexIpToolsMacViewMemTest

mRemote PortableNetAgentPortScannerRecuvaSmartSniferSpaceMongerПакет SysinternalsVictoriaWdsmcastWIM2VHDWinRARmount\Program Files\soft\

Page 21: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Редактирование реестра Windows PE

Редактирование реестра Windows PE выполняется через стандартную программу regedit.exe, путем вызова команды «Загрузить куст»

Page 22: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Настройка Windows PE

Windows PE может быть настроена для удобства администратора

Изменить путь к рабочей зонеИзменить размер рабочей зоныНастроить автоматически выполняемый командный сценарий…

Page 23: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Winpeshl.ini

Предназначен для настройки программы- оболочкиПо умолчанию не существует

В качестве оболочки используется cmd.exe

Выход из оболочки влечет за собой автоматическую перезагрузку компьютераСинтаксис:

[LaunchApp]AppPath = %SYSTEMDRIVE%\myshell.exe[LaunchApps] %SYSTEMDRIVE%\mydir\application1.exe, {option}

Page 24: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Startnet.cmd

Командный сценарий, предназначенный для запуска приложений после загрузки средыХранится в каталоге \windows\system32Синтаксис стандартный для сценариев командной строки (*.cmd)

Page 25: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Добавление драйверов

Чтобы добавить в сборку драйвер в более удобном графическом режиме, необходимо воспользоваться Windows Deployment Services

Page 26: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Настройка с помощью DISM

С помощью утилиты DISM можно изменить некоторые настройки Windows PE

Установка пути к рабочей зоне (по умолчанию X)

DISM /image:<путь>\mount /Set-TargetPath:Z:\

Установка размера рабочей зоны (по умолчанию 32 Мб)

DISM /image:<путь>\mount /Set-ScratchSpace:64

Page 27: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Другие команды DISM

Отобразить включенные в образ пакеты

Dism /image:<путь>\mount /Get-Packages

Отобразить язык по умолчанию для смонтированного образа

Dism /image:<путь>\mount /Get-Intl

Добавить в образ драйверDism /image:<путь >\mount /Add-Driver /driver:<путь к драйверу>

Page 28: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Размонтирование и оптимизация образа

По окончании редактирования образа его необходимо размонтировать с подтверждением изменений

DISM /Unmount-Wim /MountDir:<путь>\mount /Commit

и оптимизироватьimagex /export <путь>\winpe.wim 1 <путь>\ISO\sorces\boot.wim «Windows PE 3.0»

Page 29: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Важно!

При создании х86-версии Windows PE размер образа не должен превышать 4 ГбПеред добавлением любого стороннего ПО в Windows PE его необходимо протестировать на совместимость

Page 30: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Настройка универсальной сборки

Windows PE

Львов Никита, MSP

Демонстрация

Page 31: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Что делать с настроенным winpe.wim?

Вы можете:1. Создать загрузочный CD\DVD диск2. Создать загрузочный флэш-

накопитель3. Использовать WDS для удаленной

загрузки систем4. Поместить напрямую на жесткий

диск

Page 32: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Создание загрузочного CD\DVD диска

Для этого существует командаOscdimg –n –b<путь>\etfsboot.com <путь>ISO <путь к конечному ISO-образу>

Page 33: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Создание загрузочного флэш-накопителя

Подключить флэш-накопительОтформатировать его в файловой системе NTFS, создать один раздел, пометить его как активныйСкопировать все содержимое папки ISO на флэш-накопительВ командной строке перейти в каталог boot на флэш-накопителеBootsect /nt60 <имя флэш-накопителя>

Page 34: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Использование WDS

В консоли управления WDS необходимо добавить настроенный образ boot.wim как загрузочный в хранилище образов.Дополнительные действия не требуются.Клиентские компьютеры загружаются с него как и при установке ОС

Page 35: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Помещение на жесткий диск ПК

Загрузить целевой компьютер с носителя 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

Page 36: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

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>

Page 37: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Bcdedit -store c:\boot\BCD -set <GUID> osdevice boot 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Перезагрузть ПК

Page 38: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Помещение Windows PE в различные среды для

последующего использования

Львов Никита, MSP

Демонстрация

Page 39: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1

Microsoft TechDayshttp://www.techdays.ru

Ресурсы

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

Page 40: Создание пользовательской сборки  Windows PE  на ядре  Windows 7  –  часть 1