Как сделать свою сборку winpe
Собираем собственную Live-CD сборку WinPE2.0 на основе Windows 7. Конфигурируем сервер для загрузки образов дискет формата ima.
Первая и вторая части статьи были посвящены установке и конфигурированию сервера для загрузки и инсталляции с сети разнообразных дистрибутивов операционных систем. Будем считать, что все настроено и работает. Из поставленных задач, остается только один вопрос: “Как это может помочь лечить от вирусов компьютеры, восстанавливать ОС и загрузчики и т.д.?». Ответу на этот вопрос и посвящается эта часть.
Во времена, когда операционная система Windows XP только начинала свое победное шествие по десктопам пользователей, с ней происходили разные необъяснимые вещи, вроде синих экранов смерти (BSOD), испорченных загрузчиков и т.д. В связи с этим компания Microsoft разработала волшебный инструмент, позволяющий быстро и просто восстановить работоспособность операционной системы. Его название —Preinstallation Environment for Windows XP и WinPE [1].
WinPE представляла собой упрощенную версию Windows XP с возможностью установки и запуска с любого носителя достаточной ёмкости. Изначально система предназначалась для подготовки компьютера к инсталляции полноценной операционной системы и позволяла осуществлять предустановку ОС в автоматическом режиме. В поставку включался пакет драйверов сетевых карт и дисковых подсистем, которые поддерживаются Windows XP или Windows Server 2003. Обеспечивала доступ к общим сетевым папкам, включая доступ к Distributed File System (DFS). Включала в себя утилиты для форматирования и работы с разделами жесткого диска, позволяя получить доступ к его существующим разделам.
Отметим, что полный доступ возможно было получить и к разделам имеющим формат NTFS. Это, во многом, предопределило успех WinPE, так как кроме Windows XP и Windows Server 2000–2003, с этой файловой системой ни одна из операционных систем в полном объеме не работала.
Так же применив стандартные команды и утилиты Windows можно было восстановить работу системы и спасти данные. На этом возможности стандартной поставки Microsoft заканчивались, но ларчик который был открыт, оказался очень интересен многим.
Прошло немного времени после выхода WinPE для Windows XP и голландец Барт Лагервей (Bart Lagerweij) предложил для использования вместо нее свою альтернативу — BartPE [2]. Эта сборка операционной системы отличалась от WinPE возможностью расширения функций за счёт системы плагинов [3].
Плагины предлагалось использовать для интеграции самого различного программного обеспечения, изменения внешнего вида и работы операционной системы. Также была предложена возможность использовать собственноручно написаные плагины. Архитектура сборки оказалась настолько удачной, что количество расширений стало безудержно расти. Это позволило сборкам на BartPE вплотную приблизиться и внешне и функционально к традиционной Windows XP (Рис.1), выведя дистрибутив на первое место по популярности среди сборок Windows Live CD.
Рисунок 1. Внешний вид сборки BartPE с плагином XPE.
WinBuilder
Подготовка к сборке
Рассмотрим, что должен содержать дистрибутив “спасательной» системы, с учетом минимально необходимых задач администрирования:
Существует огромное количество готовых к использованию сборок на все случаи жизни. Для поставленной задачи можно выбрать понравившуюся. Но используя сторонний дистрибутив, конечно нельзя на сто процентов гарантировать целостность и сохранность ваших данных. В связи с этим, собранный лично, дистрибутив системы будет более безопасен.
Для самостоятельной подготовки сборки понадобится дистрибутив Windows 7 с интегрированным с пакетом исправления, полный комплект WAIK for Windows 7 and Windows 2008, дистрибутив WinBuilder и, конечно, комплект необходимых драйверов [7]. WinBuilder может сам запустить виртуальную машину с созданным live–CD образом системы во встроенном QEMU. Для полного тестирования готовых сборок рекомендуется установить VirtualBox [8]. Все действия можно проводить на компьютере с установленной Windows Vista и более поздними версиями операционных систем. Загрузим из сети Интернет все необходимые компоненты, а затем выполним последовательно следующие действия:
Рисунок 2. Выбор скриптов для установки.
Рисунок 3. Загрузка и обновление скриптов для сборщика Wibuilder.
Обычно процесс загрузки занимает не очень много времени. Об окончаним загрузки сигнализируют включенные галочки в панели слева главного окна программы. Если все сценарии скрипты, то можно переходить к сборке дистрибутива. В противном случае придётся удалить из папки с утилитой (c:\winbuilder) всё, кроме неё самой, и заново повторить загрузку. Можно попробовать еще раз повторить загрузку, но без очистки папки. Это позволит сэкономить время и трафик, но не гарантирует дальнейшей правильной работы. Так же необходимо обратить внимание на то, что если в Вашей системе включен UAC, запускать WinBuilder необходимо исключительно с правами администратора. Еще один важный момент — во время работы конструктору потребуется вызывать консольные утилиты из комплекта WAIK. Чтобы обеспечить ему эту возможность есть два пути.
Первый путь. Добавить в переменные окружения рабочие пути WAIK:
Второй путь. Скопировать необходимые файлы:
Перейдем к настройке WinBuilder. Запустим приложение, нажимаем кнопку Tools-Language и переключаем на русский язык. Интерфейс приложения, к сожалению, переведен не полностью. Закрываем эту вкладку и нажимаем на кнопку Ресурс, расположенную в правой части окна. В разделе Рабочие каталоги указываем путь к папке с файлами дистрибутива Windows 7 — c:\win7lv, целевой каталог и iso файл. Затем выбираем пункт меню Drivers-Driver Integration и нажимаем на кнопку Explore. В появившемся диалоговом окне выберем папку с драйверами. Ею, в данном случае, является папка c:\x86\drivers. В VirtualTest устанавливаем флаг в пункте VirtualBox Emulation, это позволит вызвать установленный VirtualBox. Если сборка происходит на системе Microsoft Vista, то необходимо в разделе Images Configuration отметить пункт Always use WIMMount Driver (very slow). Это позволит использовать старую утилиту монтирования файлов imagex.exe, которая входит состав Microsoft Vista.
На этом подготовка окончена, перейдем к созданию пробной сборки дистрибутива.
Сборка WinPE 2.0-Windows 7
Рисунок 4. Внешний вид системы по умолчанию.
Наконец, нажмем на кнопку Загрузить. После завершения процесса загрузки перейдем в главное меню приложения и выберем, доступные теперь компоненты и снова запускаем сборку образа. Далее выполним проверку и убедившись, в правильной работе всех приложений перейдем к размещению на сервере установки. Заметим, что полученный iso-образ можно использовать по назначению – записать CD диск.
Как разместить новый образ на сервере установки?
В первой части статьи [10] дано подробное описание технологии загрузки wim-образов систем. Кратко напомню. При загрузке по сети файл pxelinux.0 создает и отбражает меню доступных для загрузки систем. Меню описывается файлом конфигурации pxelinux.cfg. Для систем Window Vista и старше загружаемым файлом является «pxeboot.0» (переименованный «pxeboot.n12»). Он в свою очередь загружает «bootmgr.exe» – Windows Boot Manager (диспетчер загрузки) и запускает его на выполнение.Тот запрашивает у сервера файл BCD – boot configuration data (хранилище параметров запуска) и на основе полученных данных «bootmgr.exe» производит загрузку «boot.sdi» и «boot.wim» – образа Windows PE2.0. Все выше перечисленные необходимые файлы необходимо взять из созданного дистрибутива winpe7.iso.
Для настройки выполним последовательно:
1.Создадим новую секцию winpe7 в файле конфигурации меню /srv/tftpboot/pxelinux.cfg.
label winpe7
menu label ^WinPE WIN7
kernel sources/pxeboot.0
2.Монтируем созданный iso с WinPE7.
3.Копируем файл /home/temp/pe7/sources/boot.wim в /srv/tftpboot/sources/.
Если сервер уже был настроен на сетевую загрузку Windows 7 [10], файлы pxeboot.0, bootmgr.exe и boot.sdi копировать нет необходимости. В противном случае для более подробного разъяснения обратитесь к 10. Загружаемся с сети и проверяем созданный образ.
Как загружать образы дискет
Существует большое количество «загрузочных» дискет для выполнения разнообразных операций с компьютером. К их числу относятся дискеты для перепрошивки BIOS, HDD и т.д. Обычно они распространяются в виде файла формата IMA. Это ни что иное, как расширение дискетного образа, стандартной загрузочной дискеты Windows 98.
Специально для этого формата в комплекте syslinux существует сетевой загрузчик memdisk, который по умолчанию располагается в /usr/share/syslinux/.
Его можно использовать для загрузки любого образа ima.
Приведем пример использования этой утилиты. Для этого добавим в загрузку образ ima содержащий FreeDos:
1.В секцию freedos в файл конфигурации /srv/tftpboot/pxelinux.cfg добавим следующий текст:
label freedos
menu label ^FreeDOS+MHDD util
kernel memdisk
append initrd=pe/freedos.ima
2.Копируем файл /usr/share/syslinux/memdisk в корень tftp сервера (/srv/tftpboot/).
3.Скачиваем базовый образ FreeDOS по ссылке [12].
4.Создаем папку /srv/tftpboot/pe/ и копируем туда файл freedos.ima.
Теперь можно проверить загрузку выбрав в меню пункт FreeDOS+MHDD util (Рис.5).
Рисунок 5. Загрузка Freedos.
Заключение
Полученная сборка Windows 7 PE будет неплохо справляться с поставленными задачами:очистить компьютер от вирусов, восстановить загрузчик операционной системы или информацию.
Но, как показывает практика, скорее всего понадобиться добавить в сборку свои собственные файлы и приложения. Это можно сделать также при помощи сценарие. Большой набор готовых скриптов располагается по адресу [4] и [9]. Там же, на форуме можно найти различные дополнения к WinBuilder и методы работы с ними. Дополнять и улучшать созданную систему можно постоянно.
Собираем собственную Live-CD сборку WinPE2.0 на основе Windows 7. Конфигурируем сервер для загрузки образов дискет формата ima.
Первая и вторая части статьи были посвящены установке и конфигурированию сервера для загрузки и инсталляции с сети разнообразных дистрибутивов операционных систем. Будем считать, что все настроено и работает. Из поставленных задач, остается только один вопрос: “Как это может помочь лечить от вирусов компьютеры, восстанавливать ОС и загрузчики и т.д.?». Ответу на этот вопрос и посвящается эта часть.
Во времена, когда операционная система Windows XP только начинала свое победное шествие по десктопам пользователей, с ней происходили разные необъяснимые вещи, вроде синих экранов смерти (BSOD), испорченных загрузчиков и т.д. В связи с этим компания Microsoft разработала волшебный инструмент, позволяющий быстро и просто восстановить работоспособность операционной системы. Его название —Preinstallation Environment for Windows XP и WinPE [1].
WinPE представляла собой упрощенную версию Windows XP с возможностью установки и запуска с любого носителя достаточной ёмкости. Изначально система предназначалась для подготовки компьютера к инсталляции полноценной операционной системы и позволяла осуществлять предустановку ОС в автоматическом режиме. В поставку включался пакет драйверов сетевых карт и дисковых подсистем, которые поддерживаются Windows XP или Windows Server 2003. Обеспечивала доступ к общим сетевым папкам, включая доступ к Distributed File System (DFS). Включала в себя утилиты для форматирования и работы с разделами жесткого диска, позволяя получить доступ к его существующим разделам.
Отметим, что полный доступ возможно было получить и к разделам имеющим формат NTFS. Это, во многом, предопределило успех WinPE, так как кроме Windows XP и Windows Server 2000–2003, с этой файловой системой ни одна из операционных систем в полном объеме не работала.
Так же применив стандартные команды и утилиты Windows можно было восстановить работу системы и спасти данные. На этом возможности стандартной поставки Microsoft заканчивались, но ларчик который был открыт, оказался очень интересен многим.
Прошло немного времени после выхода WinPE для Windows XP и голландец Барт Лагервей (Bart Lagerweij) предложил для использования вместо нее свою альтернативу — BartPE [2]. Эта сборка операционной системы отличалась от WinPE возможностью расширения функций за счёт системы плагинов [3].
Плагины предлагалось использовать для интеграции самого различного программного обеспечения, изменения внешнего вида и работы операционной системы. Также была предложена возможность использовать собственноручно написаные плагины. Архитектура сборки оказалась настолько удачной, что количество расширений стало безудержно расти. Это позволило сборкам на BartPE вплотную приблизиться и внешне и функционально к традиционной Windows XP (Рис.1), выведя дистрибутив на первое место по популярности среди сборок Windows Live CD.
Рисунок 1. Внешний вид сборки BartPE с плагином XPE.
WinBuilder
Подготовка к сборке
Рассмотрим, что должен содержать дистрибутив “спасательной» системы, с учетом минимально необходимых задач администрирования:
Существует огромное количество готовых к использованию сборок на все случаи жизни. Для поставленной задачи можно выбрать понравившуюся. Но используя сторонний дистрибутив, конечно нельзя на сто процентов гарантировать целостность и сохранность ваших данных. В связи с этим, собранный лично, дистрибутив системы будет более безопасен.
Для самостоятельной подготовки сборки понадобится дистрибутив Windows 7 с интегрированным с пакетом исправления, полный комплект WAIK for Windows 7 and Windows 2008, дистрибутив WinBuilder и, конечно, комплект необходимых драйверов [7]. WinBuilder может сам запустить виртуальную машину с созданным live–CD образом системы во встроенном QEMU. Для полного тестирования готовых сборок рекомендуется установить VirtualBox [8]. Все действия можно проводить на компьютере с установленной Windows Vista и более поздними версиями операционных систем. Загрузим из сети Интернет все необходимые компоненты, а затем выполним последовательно следующие действия:
Рисунок 2. Выбор скриптов для установки.
Рисунок 3. Загрузка и обновление скриптов для сборщика Wibuilder.
Обычно процесс загрузки занимает не очень много времени. Об окончаним загрузки сигнализируют включенные галочки в панели слева главного окна программы. Если все сценарии скрипты, то можно переходить к сборке дистрибутива. В противном случае придётся удалить из папки с утилитой (c:\winbuilder) всё, кроме неё самой, и заново повторить загрузку. Можно попробовать еще раз повторить загрузку, но без очистки папки. Это позволит сэкономить время и трафик, но не гарантирует дальнейшей правильной работы. Так же необходимо обратить внимание на то, что если в Вашей системе включен UAC, запускать WinBuilder необходимо исключительно с правами администратора. Еще один важный момент — во время работы конструктору потребуется вызывать консольные утилиты из комплекта WAIK. Чтобы обеспечить ему эту возможность есть два пути.
Первый путь. Добавить в переменные окружения рабочие пути WAIK:
Второй путь. Скопировать необходимые файлы:
Перейдем к настройке WinBuilder. Запустим приложение, нажимаем кнопку Tools-Language и переключаем на русский язык. Интерфейс приложения, к сожалению, переведен не полностью. Закрываем эту вкладку и нажимаем на кнопку Ресурс, расположенную в правой части окна. В разделе Рабочие каталоги указываем путь к папке с файлами дистрибутива Windows 7 — c:\win7lv, целевой каталог и iso файл. Затем выбираем пункт меню Drivers-Driver Integration и нажимаем на кнопку Explore. В появившемся диалоговом окне выберем папку с драйверами. Ею, в данном случае, является папка c:\x86\drivers. В VirtualTest устанавливаем флаг в пункте VirtualBox Emulation, это позволит вызвать установленный VirtualBox. Если сборка происходит на системе Microsoft Vista, то необходимо в разделе Images Configuration отметить пункт Always use WIMMount Driver (very slow). Это позволит использовать старую утилиту монтирования файлов imagex.exe, которая входит состав Microsoft Vista.
На этом подготовка окончена, перейдем к созданию пробной сборки дистрибутива.
Сборка WinPE 2.0-Windows 7
Рисунок 4. Внешний вид системы по умолчанию.
Наконец, нажмем на кнопку Загрузить. После завершения процесса загрузки перейдем в главное меню приложения и выберем, доступные теперь компоненты и снова запускаем сборку образа. Далее выполним проверку и убедившись, в правильной работе всех приложений перейдем к размещению на сервере установки. Заметим, что полученный iso-образ можно использовать по назначению – записать CD диск.
Как разместить новый образ на сервере установки?
В первой части статьи [10] дано подробное описание технологии загрузки wim-образов систем. Кратко напомню. При загрузке по сети файл pxelinux.0 создает и отбражает меню доступных для загрузки систем. Меню описывается файлом конфигурации pxelinux.cfg. Для систем Window Vista и старше загружаемым файлом является «pxeboot.0» (переименованный «pxeboot.n12»). Он в свою очередь загружает «bootmgr.exe» – Windows Boot Manager (диспетчер загрузки) и запускает его на выполнение.Тот запрашивает у сервера файл BCD – boot configuration data (хранилище параметров запуска) и на основе полученных данных «bootmgr.exe» производит загрузку «boot.sdi» и «boot.wim» – образа Windows PE2.0. Все выше перечисленные необходимые файлы необходимо взять из созданного дистрибутива winpe7.iso.
Для настройки выполним последовательно:
1.Создадим новую секцию winpe7 в файле конфигурации меню /srv/tftpboot/pxelinux.cfg.
label winpe7
menu label ^WinPE WIN7
kernel sources/pxeboot.0
2.Монтируем созданный iso с WinPE7.
3.Копируем файл /home/temp/pe7/sources/boot.wim в /srv/tftpboot/sources/.
Если сервер уже был настроен на сетевую загрузку Windows 7 [10], файлы pxeboot.0, bootmgr.exe и boot.sdi копировать нет необходимости. В противном случае для более подробного разъяснения обратитесь к 10. Загружаемся с сети и проверяем созданный образ.
Как загружать образы дискет
Существует большое количество «загрузочных» дискет для выполнения разнообразных операций с компьютером. К их числу относятся дискеты для перепрошивки BIOS, HDD и т.д. Обычно они распространяются в виде файла формата IMA. Это ни что иное, как расширение дискетного образа, стандартной загрузочной дискеты Windows 98.
Специально для этого формата в комплекте syslinux существует сетевой загрузчик memdisk, который по умолчанию располагается в /usr/share/syslinux/.
Его можно использовать для загрузки любого образа ima.
Приведем пример использования этой утилиты. Для этого добавим в загрузку образ ima содержащий FreeDos:
1.В секцию freedos в файл конфигурации /srv/tftpboot/pxelinux.cfg добавим следующий текст:
label freedos
menu label ^FreeDOS+MHDD util
kernel memdisk
append initrd=pe/freedos.ima
2.Копируем файл /usr/share/syslinux/memdisk в корень tftp сервера (/srv/tftpboot/).
3.Скачиваем базовый образ FreeDOS по ссылке [12].
4.Создаем папку /srv/tftpboot/pe/ и копируем туда файл freedos.ima.
Теперь можно проверить загрузку выбрав в меню пункт FreeDOS+MHDD util (Рис.5).
Рисунок 5. Загрузка Freedos.
Заключение
Полученная сборка Windows 7 PE будет неплохо справляться с поставленными задачами:очистить компьютер от вирусов, восстановить загрузчик операционной системы или информацию.
Но, как показывает практика, скорее всего понадобиться добавить в сборку свои собственные файлы и приложения. Это можно сделать также при помощи сценарие. Большой набор готовых скриптов располагается по адресу [4] и [9]. Там же, на форуме можно найти различные дополнения к WinBuilder и методы работы с ними. Дополнять и улучшать созданную систему можно постоянно.