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. Окно управлением плагинами Теперь давайте зайдем на страничку 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. Параметры языков не трогал — у меня переключение русский/английский работает стабильно по . Нюанс, связанный с добавлением ярлыков программ в 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, который поможет вам в случае краха системы сохранить самое важное — информацию. Удачи!
|