Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #67, ИЮЛЬ 2004 г.

Полный PE!

Skylord (sky_lord@mail.ru)

Xakep, номер #067, стр. 067-022-3


mkimg.cmd >Путь к дистрибутиву винды, где находится каталог I386< >Путь, указывающий, куда будет записана готовая система< [Путь и имя файла ISO-образа с готовой системой]

Создание WinPE занимает буквально минуту (всего-то и надо - скопировать файлы общим объемом в 150 Мб и сделать из них ISO), после чего систему можно юзать.

Я рекомендую тебе запускать этот скрипт с перенаправлением вывода в файла (" < winpe_make.log") – тогда ты сможешь посмотреть, что не скопировалось в папку WinPE, и доложить нужные файлики вручную. Такой фокус может понадобиться, если ты натравишь скрипт, скажем, на дистрибутив с интегрированным SP1 и содержимое файла sp1.cab в свежеиспеченную PE придется перетаскивать самому (если, конечно, ты хочешь, чтобы твоя система грузилась, а не выкрикивала требования вставить диск с первым сервис-паком :).

Следующий момент – настройка системы. Ведь получившийся дистрибутив абсолютно голый, а для полноценной работы нужен как минимум Far.

Настройка PE’шки состоит из трех этапов. Для начала скопируй файлы нужной софтины в каталог Win PE. Потом экспортируй из своего реестра все настройки выбранной проги в reg-файл (с тем же Far'ом идет удобный скрипт SaveSettings.bat, выдающий все, что нужно, в файлах FarSave1.reg и FarSave2.reg), а на него натрави небольшую утилиту Reg2Inf (лежит тут - klassnarod.narod.ru/Reg2Inf.rar). Что делать с получившимися inf'ами? Слушай сюда! Реестр WinPE (файлы system32\setupreg.hiv, system32\config\software и system32\config\default) строится программой bldhives.exe на основании файлов inf, лежащих в том же каталоге. Точнее, достаточно запустить "bldhives.exe config.inf" (в config.inf находятся ссылки на остальные inf'ы) и скопировать в вышеупомянутые каталоги файлы setupreg.hiv, software и default. Думаю, тебе уже все понятно: следует внести изменения в inf-файлы (проще всего обычным Блокнотом или любым другим редактором, понимающем Unicode) и перестроить реестр. К примеру, для того же Far'а необходимо перетащить содержимое секции [FarSave1.AddReg] файла FarSave1.inf в секцию [AddReg] файла winpedef.inf. Или можешь добавить ссылку на FarSave1.inf прямо в config.inf (по аналогии с теми ссылками, которые там уже присутствуют). Перестроив реестр, следует заново создать ISO-образ. Проще простого! Запускай:

oscdimg.exe -h -n -betfsboot.com >Путь к готовой системе< >Путь и имя файла ISO-образа<

Тут стоит отметить файлик etfsboot.com - это загрузочный сектор компакта. Он лежит в том же каталоге, что и oscdimg.exe, но для надежности лучше прописать полный путь до него.

Итак, систему мы создали, настроили, записали ISO'шку на компакт и пытаемся с нее загрузиться. Сначала система выполняет поиск оборудования (действия, аналогичные процессу инсталляции новой WinXP), а буквально через несколько секунд запускается сама Windows PE, состоящая из фоновой картинки и окна командной строки. Вот и все. Не особенно симпатично? Это все потому, что в роли shell'а выступает консоль (чуть выше я писал о том, что Explorer'а в WinPE нет) - полностью 32-битная, позволяющая запускать почти все виндовые проги (прежде всего те, которые для своей работы не требуют жесткого диска), но малоудобная в работе. Да и русский язык к тому же не поддерживается...

Назад на стр. 067-022-2  Содержание  Вперед на стр. 067-022-4