Microsoft Windows Preinstallation Environment (WinPE)
представляет собой облегчённую («урезанную») версию Windows XP, запускающуюся с любого
носителя достаточной ёмкости в том числе, только для чтения. Система
предназначена для подготовки компьютера к установке полноценной ОС. С помощью
WinPE можно разбить жесткий диск на разделы и отформатировать их, получить
доступ к локальной сети и существующим разделам, включая имеющие формат NTFS, а
также попытаться восстановить работу системы и спасти данные.
Иными словами, это LiveCD на базе Windows, способный загружаться с
любого носителя (CD/DVD/Flash-память) даже при полном отсутствии жёсткого
диска.
Официальная версия WinPE не очень функциональна, имеет большой размер и
весьма неприятные ограничения. Однако существует конструктор Bart's Preinstalled
Environment (BartPE), который создаёт систему, аналогичную WinPE, но
позволяет добавлять в нее программы. Для его работы необходим лишь дистрибутив Windows XP
(SP1, SP2) или Windows Server 2003. Главное в BartPE — это наличие подключаемых модулей (plug-in)
для интеграции самого различного ПО, изменения внешнего вида и работы ОС. Также
возможно собственноручное написание плагина.
Зачем нужна
WinPE?
- для подготовки к установке ОС Windows;
- для восстановления пользовательских данных;
- для проведения диагностики компьютера;
- для использования в качестве обычной настольной ОС.
Кому нужна WinPE?
WinPE окажется полезной всем, начиная системными администраторами и специалистами
технической поддержки и заканчивая обычными пользователями. Каждый из них найдет своё
применение программе.
Где взять WinPE?
Есть два возможных способа получения желаемого диска: простой, но не слишком
гибкий, или же сложный, зато предоставляющий массу возможностей. Первый
поиск готовых сборок. Плюс никаких дополнительных действий, кроме прожига
образа, минус отсутствие части ваших любимых программ, порой неприятный
интерфейс, иностранный язык. Такие готовые дистрибутивы можно найти, либо заглянув в форум Варезник, либо воспользовавшись ссылками, приведёнными в конце статьи. Если вам по душе этот путь, обратите внимание на продукт компании Winternals (авторов сайта Sysinternals), который называется ERD Commander. Это коммерческая система на базе WinPE с уже установленными утилитами, предназначенными для восстановления ОС.
Второй способ сделать все самому. Плюс можно создать сборку, отвечающую собственным вкусам и потребностям и превосходящую по возможностям готовые конфигурации (в том числе, и ERD Commander). Минус это тяжкое и длительное занятие. Если вы выбираете этот вариант, то добро пожаловать в форум Операционные cистемы.
Подготовка к настройке
Когда я только начинал изучать
WinPE, то удивился количеству тем на форуме, посвященных этой теме. Причина
их обилия в том, что есть готовые сборки системы, есть конструкторы, а есть
официальная версия. Поэтому поясню: с помощью конструктора
(PeBuilder), представленного выше, мы получаем загрузочный диск BartPE, принцип которого взят с официальной WinPE от Microsoft.
Кстати, всем советую использовать для тестирования виртуальные машины VMware или VirtualPC иначе вы
потратите с десяток болванок, прежде чем добьетесь нужного результата. Также
приношу извинения за возможное частичное несоответствие скриншотов реальной
программе версии меняются достаточно быстро.
Настройка WinPE
Вначале скачиваем и устанавливаем PeBuilder. После чего читаем про русификацию в теме Windows Preinstallation Environment (WinPE) и BartPE LiveCD и исправляем проблему с
отображением русского языка после работы BartPE. Выбираем путь для установки
программы, например, C:LiveCD. После запуска необходимо
принять лицензионное соглашение.
Рис. 1. Главное окно PeBuilder
В поле Source указываем путь к исходному дистрибутиву Windows XP или Windows Server 2003. Я использовал русскую версию со встроенным Пакетом обновления 2 (SP2). Custom пока не
заполняем, выбираем опцию создать образ ISO, он будет загрузочным.
Нажимаем кнопку Build. После создания образа можно записать диск
или подключить образ к виртуальной машине. Обращаю ваше внимание на то, что если есть
надобность в добавлении специфических драйверов для сетевой платы, контроллера SCSI или SATA (а они все обычно и есть специфические), то необходимо положить их
в директорию C:LiveCDdrivers, при этом
не забывая создать поддиректорию. Например: C:LiveCDdriversNetRealtek8129.
Первая загрузка
На вопрос об установке сети отвечаем утвердительно, оставляем в списке PE Network Configurator Profiles верхний пункт и получаем
довольно симпатичный настройщик.
Рис. 2. PE Network Configurator (PENetCfg).
Для открытия сетевого доступа к дискам компьютера нажимаем кнопку File Sharing, обязательно указываем пароль (Set
password). Можно оставить запись по умолчанию (под русским
Администратором вход выполняется нормально, разумеется, только с указанным паролем), либо
создать новую, далее нажимаем кнопку Start Sharing. Существует возможность
подключить сетевые диски (Network drives) так что в
плане взаимодействия с сетью никаких проблем нет.
Рис. 3. Внешний вид BartPE по умолчанию
Внешний вид, конечно, не очень впечатляет в комплект по умолчанию входит
всего 5–6 утилит. Но вот скриншоты полноценной сборки от Michael K. H. Au-Yeung (размер образа 1,02 Гб):
Рис. 4. Michael K.H. Au-Yeung's Super WinPE UBCD 2004 Pro
Главную роль в PartPE играет количество и качество плагинов и, естественно, опыт
и знания администратора. Конечно, чтобы создать подобную систему, требуется
много времени, но она того стоит.
Расширение возможностей
Запустите BartPE и нажмите кнопку Plugins в нижней части окна. Откроется окно
со списком плагинов. Их можно включать/отключать, редактировать их
конфигурационные файлы (.inf), добавлять обычно они распространяются в архивах *.cab и удалять.
Рис. 5. Окно управлением плагинами <F4>
Теперь давайте зайдем на страничку Sherpya и скачаем его плагин XPE (скриншоты).
Должен предупредить, что после добавления нескольких его плагинов (идущих в комплекте) размер дистрибутива вырастет на 120 Мб, правда, и функциональность
увеличится в разы. Так что пользоваться его заменой стандартного Проводника Windows (Explorer) или же
использовать, к примеру, Bs
Explorer решать вам. Сначала определитесь, для чего конкретно вам
нужен диск: для реанимации компьютера или в качестве LiveCD — аналога Knoppix (Linux).
Итак, допустим, вы решили использовать XPE. В BartPE импортируем (add) скаченный .cab. Затем необходимо
отключить некоторые другие плагины (Startup Group, PE Loader, Profiles Folder, nu2shell
и Customize), поскольку они вызывают конфликты. Снова выполняем сборку (Build). После загрузки, подведя указатель мышки к верхнему краю
экрана, любуемся на привычную панельку. Меню Пуск стандартное,
утилиты управления тоже. Проще говоря Windows Explorer.
Рис. 6. Внешний вид XPE (BartPE с плагином от Sherpya)
Работа плагинов
В директории PeBuilder есть папка plugin, куда и помещаются плагины. Каждый
плагин имеет конфигурационный файл для
конструктора в формате *.inf, а также собственную папку files,
куда необходимо помещать саму программу и ее файлы. Не забудьте на досуге
почитать официальную помощь.
Вот пример конфигурационного файла плагина для Ad-Aware SE, идущего в комплекте
с PeBuilder:
; adawarese.inf ; PE Builder v3 plug-in INF file for adaware
SE // Шапка, просто информация // ; Created by Bart
Lagerweij [Version] Signature= "$Windows NT$" // Это не изменяется! //
[PEBuilder] Name="Ad-Aware SE" // Имя плагина // Enable=0 //
Включен — 1, выключен — 0// Help="adawarese.htm" // Файл помощи,
инструкции по использованию //
[WinntDirectories] a="Programsadawarese",2 //Создает директории, для
каждой папки и подпапки — отдельная запись, переменные (a-z) в начале
строки будут использоваться в следующей части; цифра после запятой: 1 —
создает папку вложенной в I386, 2 — создает папку в корне, 3 — создает
пустой в корне // [SourceDisksFiles]
info.txt=a,,3
//filename=directoryID[, filenameRenamed][, attribute] — необходимые файлы
программы = буква указывает на директорию (или используется ID из списка), между запятыми можно вставить альтернативное имя
файла, числовой код: 1 — предварительная проверка наличия файла, 2 —
не декомпрессировать файл, 3 = 1 + 2 (хотя могу ошибаться). По
умолчанию — 0//
adawarese.cmd=a,,3 filesad-aware.exe=a,,3 filesdefs.ref=a,,3 [Software.AddReg]
0x1, "MicrosoftWindowsCurrentVersion","ProgramFilesDir","%ProgramFiles%"
0x1,
"MicrosoftWindowsCurrentVersion","CommonFilesDir","%ProgramFiles%Common
Files" // Добавление записей в реестр. Формат: regType, regKey, regValue,
regData. Подробнее в официальной помощи. //
[Append] nu2menu.xml, adawarese_nu2menu.xml //
Добавляет содержимое adawarese_nu2menu.xml в nu2menu.xml, в данном случае
добавляет запись в меню. Можно его открыть и посмотреть, но обычно вполне
хватает правки путей/названий программы //
Единственный минус заключается в том, что обычно плагины поставляются с
регистрацией в Nu2menu ([Append] nu2menu.xml, ***), поэтому для XPE от Sherpya
ярлыки приходится добавлять вручную, а из конфигурационного файла вышеуказанную строку удалять. Откройте папку plugins/xpe* и переименуйте z_xpe-custom.inf.sample в z_xpe-custom.inf (надо оставить в начале z_,
тогда он будет выполняться в последнюю очередь). Откройте его.
Перед вами достаточно широкие возможности настройки системы и её интерфейса. Для начала раскомментируйте строку
;0x1,"Setup","CmdLine","XPELogon.exe —r —n"
Далее действуйте по своему усмотрению. Я сменил себе разрешение экрана и
положение панели задач по умолчанию неудобно, а также скопировал все
ярлыки программ из xpe-defaults.inf. Параметры языков не
трогал у меня переключение русский/английский работает стабильно по <Shift+Ctrl>.
Нюанс, связанный с добавлением ярлыков программ в XPE (z_xpe-custom.inf): %SystemDrive% это диск с WinPE, а %SystemRoot% это папка с WinPE. Увы, разницу я понял не сразу. Ниже приведена строка для создания ярлыка программы
Filemon ("@shell32.dll, 21761" это Стандартные на языке системы, в нашем случае получится на русском).
0x2,"SherpyaXPEinitPrograms","@shell32.dll,-21761Filemon","%SystemDrive%Programsfilemonfilemon.exe"
Это будет доступно в Пуск Программы Стандартные. Заодно можно
добавить ярлык на конфигуратор сети от BartPE:
0x2,"SherpyaXPEinitPrograms","PENetconfig","%SystemRoot%system32penetcfg.exe"
Вот, кстати, полезный пример из плагина к UltraISO. Разработчик, видимо,
пошел по легкому пути и запуск UltraISO сделал через командный файл следующего
содержания:
regedit /s %systemdrive%Programsultraiso.reg cd
%systemdrive%ProgramsUltraISO start UltraISO.exe
В данном случае ultraiso.reg файл с лицензией, который предлагается
экспортировать из реестра уже установленной Windows.
Русификация
Кроме представленных чуть ниже русификаторов, существует ещё пара весьма полезных
способов. Для того, чтобы в ERD Commander нормально отображались русские названия и текст,
вполне достаточно копирования шрифтов в папки Fonts и system32 (шрифты взяты из русификатора для miniPE), а для переключения языков можно использовать плагин
keyboard.
При использовании англоязычных версий для корректной работы с русским языком и отображения русских букв в
конструкторе WinPE следует заменить в файле txtsetup.sif
[nls] AnsiCodepage
= c_1252.nls,1252 OemCodepage = c_437.nls,437,c_850.nls,850 MacCodepage
= c_10000.nls,10000 UnicodeCasetable = l_intl.nls,0409 OemHalFont =
vgaoem.fon DefaultLayout = 00000409
на
[nls] AnsiCodepage = c_1251.nls,1251
OemCodepage = c_866.nls,866,c_437.nls,437 MacCodepage =
c_10007.nls,10007 UnicodeCasetable = l_intl.nls,0419 OemHalFont =
vga866.fon DefaultLayout = 00000409
и скопировать шрифт vga866.fon в папку i386system32. Я копировал все шрифты из Русификации miniPE by
cap PSaVage MOD: опасался, что одного может не хватить. Но в результате
русскоязычные программы отображались нормально.
Bootable CD Wizard
Менеджер загрузки с компакт-дисков позволяет создавать мультизагрузочные
(Multiple-Image Bootable CD) компакт-диски. Обеспечивает возможность создания
многоязычного иерархического меню загрузки с настраиваемым внешним видом.
Поддерживает расширенный набор форматов загрузочных образов. Подавляющее
большинство мультизагрузочных дисков, в которых используется WinPE, не обходится без
этой программы.
Рис. 7. Пример загрузочного меню BCDW
На официальном сайте лежит большое количество документации по всем случаям применения данной программы, но, к сожалению, страничка уже давно не обновлялась, а бета следующей версии
(2.01a, которая поддерживает загрузку WinXP SP2) так и бродит по сети. Нам нужен именно этот дистрибутив BCDW-2.0a1.zip.
После скачивания необходимо распаковать архив и скопировать папку bcdw (вложенная по отношению к bcdw-2.0a1), например, в
C:bootcd, затем прочитать Как добавить программу Microsoft Windows PE на компакт-диск с BCDW? и открыть
папку C:LiveCDBartPE. Именно здесь находятся файлы от
нашей прошлой работы с PEBuilder, еще не собранные в образ диска. Теперь
скопируйте всё содержимое этой папки в C:bootcd,
исправьте шестнадцатеричным редактором пути в setupldr.bin с I386 на
WNPE, переименуйте папку I386 в WNPE. И всё. Править
bcdw.ini (в версии 2.01a это
главный конфигурационный файл) нет необходимости, так как там уже есть запись о
загрузке WinPE.
Рис. 8. Внешний вид загрузочного меню BCDW 2.01a по умолчанию
Настройке BCDW посвящена документация на официальном сайте и тема Мультизагрузочный Boot CD в форуме Программы. По настройке версии 2.01a официальная
информация отсутствует, однако вашему вниманию предлагается версия bcdw.ini от S@M с описанием. Можете скопировать её в блокнот и сохранить вместо своего конфигурационного файла.
[InitOptions]
;PasswordMD5Hash= 59a01748064a8247799298fc018ca8fa
Logo= BCDWlogo.gif ;Ваше лого
Font= BCDWrussian.fnt ;Файл сохраняется из версии русской BCDW 1.50z на оф. сайте(fonts)
CharSet= BCDWcp1251r.cpf ;Файл сохраняется из версии русской BCDW 1.50z на оф. сайте(charsets)
;RootMenu= BootCat.ini
[MenuItems]
C: ; Загрузка с диска C: ; Отмена загрузки с компакт-диска и загрузка с жесткого диска.^
A: ; Загрузка с диска A: ; Отмена загрузки с компакт-диска и загрузка с дискеты.^
:reboot ; -------------- Перезагрузка -------------- ; Перезагрузка компьютера.^
: ; ****************************************** ;
imaSAMboot.ima ; Volkov Commander + NTFS + DOSLFN ; Volkov Commander ^ Winternals NTFS Pro v5.0 , DOSLFN v0.32o^ ; bcdwntfs.bat bcdw vc5.bat
: ; ****************************************** ;
INIBootSYS.ini ; Системная информация и тесты >> ; ASTRA-v4.20, NSSI v0.57.4, SpeedSys v4.78, DocMem, Memtest.^
: ; ****************************************** ;
INIbootUTIL.ini ; Утилиты для работы с HDD >> ;
: ; ****************************************** ;
INIBootVIR.ini ; Антивирусная проверка >> ; F-PROT Antivirus v3.14d >База антивирусов за 16.03.2004^ Kaspersky Antivirus Scaner >База антивирусов за 19.03.2004
: ; ****************************************** ;
INIBootACR.ini ; Acronis Power Utilities 2004 >> ;
: ; ****************************************** ;
isoacrtimg8.iso ; Acronis True Image 8.0 rus ;
: ; ****************************************** ;
isoacrdds9.iso ; Acronis Disk Director Suite 9.0 rus ;
: ; ****************************************** ;
isomemtest86+-1.40.iso ; memtest86+-1.40 ;
: ; ****************************************** ;
INIBootIMA.ini ; Загрузочные образы >> ;
: ; ****************************************** ;
:reboot ; -------------- Перезагрузка -------------- ; Перезагрузка компьютера.^
[MenuOptions]
BGColors= 11, 99, e0, 90; Цвета фона: бордюр, фон, верхняя строка, нижняя строка
BGSymbol= 32; Десятичный код символа-заполнителя фона: 32, 176, 177, 178
TopText= Аварийный загрузочный диск Multiple Bootable CD; Текст верхней строки
BottomText= **************************** Created by SAMakarenko ************************** ; Текст нижней строки
; *** Настройки окна "Вариант загрузки"
MenuPosition= 18, 04, 46, 13; Расположение окна: X, Y, ширина, высота
MenuColors= 79, 0f, 1f, 70, 4f, 74, 79; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса, недоступные строки
MenuBorderStyle= 2; Стиль рамки окна: 0, 1, 2, 3, 4, 5
MenuShadowStyle= 1; Стиль тени под окном: 0, 1, 2
MenuTitle= Вариант загрузки; Текст заголовка окна
MenuDefault= 0; Индекс пункта меню по умолчанию
MenuTimerLabel= Осталось времени:; Подпись таймера
MenuTimer= 30; Задержка в секундах перед автоматической загрузкой
; *** Настройки окна "О варианте загрузки"
HelpPosition= 04, 19, 70, 04; Расположение окна: X, Y, ширина, высота
HelpColors= 79, 0f, 1f, 70, 9f, 70; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса
HelpBorderStyle= 2; Стиль рамки окна: 0, 1, 2, 3, 4, 5
HelpShadowStyle= 1; Стиль тени под окном: 0, 1, 2
HelpTabSkip= 0; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.
HelpTitle= О варианте загрузки; Заголовок окна
; *** Настройки окна "О компакт-диске"
AboutPosition= 00, 01, 80, 01; Расположение окна: X, Y, ширина, высота
AboutColors= e0, 0f, 90, e0, 0f, 90; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса
AboutBorderStyle= 1; Стиль рамки окна: 0, 1, 2, 3, 4, 5
AboutShadowStyle= 1; Стиль тени под окном: 0, 1, 2
AboutTabSkip= 1; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.
AboutTitle= -------------------------------- SAM Boot CD v.2 -----------------------------; Заголовок окна
AboutText= ~ ; Содержимое окна
****************************** SAM Boot CD v5 ******************************
~
; *** Настроки окна "Бегущая строка"
ScrollPosition= 00, 02, 80, 01; Расположение окна: X, Y, ширина, высота
ScrollColors= F1, 04, 04, 74, 04, 94; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса
ScrollBorderStyle= 0; Стиль рамки окна: 0, 1, 2, 3, 4, 5
ScrollShadowStyle= 0; Стиль тени под окном: 0, 1, 2
ScrollTabSkip= 1; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.
ScrollMode= 0; Режим окна: 0 - бегущая строка, 1 - окно с текстом
ScrollTitle= ; Заголовок окна
ScrollText= ~ ; Содержимое окна
** S@M Boot CD ** ** S@M Boot CD ** ** S@M Boot CD **
** S@M Boot CD ** ** S@M Boot CD ** ** S@M Boot CD **
~
Рис. 9. Меню, полученное с помощью представленного выше конфигурационного файла
На этом мы заканчиваем краткое изучение WinPE. Надеюсь,
теперь в вашей коллекции программ появится диск с WinPE, который поможет вам в
случае краха системы сохранить самое важное информацию. Удачи!
Ссылки и дополнительная информация
На русском языке
На английском языке
Автор выражает благодарность всем, кто помогает новичкам и расширяет возможности WinPE, а также лично
reanimatolog,
KLASS,
fronik,
PSaVage,
dadu,
cap,
S@M и остальным участникам тем по WinPE в форумах «Операционные системы» и «Варезник» Компьютерной конференции Ru.Board.
литературный редактор: Zimagor
|