Наша задача на сегодня — создать специальную сборку Windows 7, которая бы работала без установки и запускалась прямо с флешки. Включив в ее состав необходимый софт, мы сможем решать разные задачи: решать проблемы с дисковыми разделами, удалять вирусы или, к примеру, использовать хакерские инструменты в привычном окружении. Давно смекнув, что многие проблемы гораздо проще решать, загрузившись с Live-носителя, я стараюсь всегда иметь при себе на флешке какой-нибудь recovery-дистрибутив.
Наша задача на сегодня — создать специальную сборку Windows 7, которая бы работала без установки и запускалась прямо с флешки. Включив в ее состав необходимый софт, мы сможем решать разные задачи: решать проблемы с дисковыми разделами, удалять вирусы или, к примеру, использовать хакерские инструменты в привычном окружении. Давно смекнув, что многие проблемы гораздо проще решать, загрузившись с Live-носителя, я стараюсь всегда иметь при себе на флешке какой-нибудь recovery-дистрибутив. Согласись, что это если не лучший, то, по крайней мере, один из удобнейших способов восстановить систему или, к примеру, расправиться с малварью (особенно если речь идет о блокираторе). Я перепробовал многое. Сперва это были системы на базе Linux, затем UBCD4Win, построенный на базе Windows XP, а потом я сделал свою собственную сборку, используя небезызвестную утилиту Bart’s PE Builder. Увы, прога давно не обновляется, а, значит, в качестве список поддерживаемых систем, доступных для переноса на загрузочный носитель, остается попрежнему тем же: Windows 2000/XP/2003. Это немного огорчает: уже все успели привыкнуть к “семерке”, и было бы здорово собрать свою загрузочную систему именно на базе Windows 7. Сказано — сделано. В замену PeBuilder нашелся другой, совершенно замечательный инструмент — WinBuilder. Это даже не программа, а настоящий фреймворк для создания Windows PE (так называется облегченная версия ОС Windows, которая позволяет загружаться со сменного CD/DVD/USB-носителя). Для этого он извлекает нужные компоненты из дистрибутива самой системы, а также набора Windows Automated Installation Kit (WAIK) в качестве основы для системы и позволяет создавать дополнительные скрипты, с помощью которых в систему встраиваются любые сторонние утилиты. На базе WinBuilder построено несколько проектов, вот лишь некоторые из них: LiveXP — использует в качестве источника файлов Windows XP и создает систему для администраторов. Win7PE — берет за основу системы дистрибутив Windows 7. VistaPE-CAPI — создает сборку на основе Vista. NaughtyPE — основывается на Windows XP и из коробки поддерживает воспроизведения медиа-файлов. MultiPE — собирает загрузочную систему из дистрибутива Vista или Windows 7. Мы же будем использовать Win7PE, как самый проверенный и наиболее подходящий для наших задач проект. Что нам нужно? Для того, чтобы собрать загрузочную систему на базе Windows 7 нам понадобится следующее: Последняя версия WinBuilder. Он распространяется в виде небольшого exe-файла, а необходимые для работы компоненты и вспомогательные утилиты дополнительно загружает из Сети. Windows Automated Installation Kit for Windows 7 (WAIK). Пакет для автоматической установки Windows весит очень немало — это образ на 1,7 Гб, который ты можешь либо выкачать с сайта Microsoft, либо взять с нашего диска. Driverpack’и — классные наборы драйверов, которые поддерживают огромное количество железа. На сайте доступны сборки для различных видов девайсов, нам понадобится не так много, а именно — сборники для категорий Chipset, LAN, WLAN Mass Storage driver. Для начала нам нужно установить Windows Automated Installation Kit for Windows 7. Записывать на болванку ISO’шник, само собой, не обязательно: можно просто распаковать файлы из KB3AIK_EN.iso и запустить StartCD.exe. В появившемся меню автозапуска выбираем Windows AIK Setup и выполняем самую стандартную установку. Весит это хозяйство много, но после того, как скрипты WinBuilder извлекут оттуда нужные файлы, WAIK можно будет удалить (имей это в виду). Наша загрузочная флешка с Windows 7 готова. Тут уже грех не загрузиться с USB-носителя, чтобы убедиться, что система работает не только в виртуальном, но и в настоящем, самом обычном окружении. Но хочу сразу предупредить: это сильно урезанная вариация Windows 7, в которой оставлено минимум компонентов. Никаких тебе Aero и красивых эффектов: все это отключено. А из софта ты по умолчанию получаешь некоторые стандартные утилиты Windows (вроде regedit’а), а также несколько бонусных программ вроде PENetwork для настройки сети (в том числе беспроводного адаптера) и Opera USB для браузинга. Все это неплохо, но явно недостаточно — систему нужно снарядить. Настройка сети Скрипты (плагины) Дополнительные программы, которые можно включить в состав своей сборки системы, распространяются в виде скриптов (или плагинов — так их тоже называют). Подключить их просто. Достаточно скопировать их в WinBuilderProjectsWin7PE_SEApps и потом активировать через GUI-интерфейс WinBuider. Правда, чтобы они появились в дереве скриптов, программу приходится перезапускать, хотя не исключаю, что обновить список плагинов можно как-то проще. В некоторых случаях плагин распространяется в виде единственного файла — сценария. Тут есть два варианта. Разработчик мог включить необходимые файлы прямо в этот файл, закодировав их в base64. Или же в составе скрипта никакие файлы не включены, и их нужно скопировать в папку со сценарием самому (это должно быть подробно описано в мануале плагина). Последнее особенно касается коммерческого софта (того же самого Total Commander’а), файлы которого разработчики плагинов просто не имеют права распространять. Теперь отвечаю на наверняка возникший у тебя вопрос: “А где взять эти плагины?”. Есть множество источников — например, отсюда: Несмотря на то, что готовых плагинов довольно много, полезно уметь самому написать скрипт для добавления нужных программ в систему. Когда добавляешь новый скрипт через “Tools .. Create script…”, WinBuilder предлагает простой шаблон скрипта. Для примера я приведу простенький сценарий, который устанавливает Softperfect Netscan, и поясню логику с помощью комментариев: //Секция с информацией о добавляемом приложении [main] Title=NetScan Description=Netscan from Softperfect Selected=True Level=5 Version=1 NoWarning=False Download_Level=0 //Важные переменные, включая путь до исполняемого файла [variables] %ProgramTitle%=Netscan %ProgramEXE%=netscan.exe %ProgramFolder%=netscan // Команды для установки приложения [process] // Копируем нужные файлы из поддиректории netscan в папке, где находится скрипт (сюда нужно предварительно перенести необходимое для работы программы) CopyProgram,%ScriptDir%%ProgramFolder% //Добавляем ярлыки Add_Shortcut,StartMenu,Netscan Add_Shortcut,Desktop,Netscan //Указываем DLL’ки, которые необходимы для работы программы. WinBuilder включит их в сборку Require_FileQ,mgmtapi.dll Require_FileQ,msvcrt.dll Require_FileQ,KERNEL32.dll Require_FileQ,snmpapi.dll Require_FileQ,USER32.dll Require_FileQ,WS2_32.dll Require_FileQ,wsnmp32.dll Огромное количество скриптов доступно на форуме reboot.pro, их можно посмотреть как примеры и использовать в качестве основы. В любом случае, ничего сложного в создании своих сценариев нет. Если есть необходимость просто добавить какие-то файлы в сборку, то необязательно для этого создавать плагин. В этой ситуации поможет раздел “Components .. Additional Files”, который необходим как раз для такой ситуации. Если нажать на кнопку “Directory Example”, то ты увидишь структуру папок, используемых в сборке, чтобы понимать, куда именно будут добавляться файлы. Что у нас получилось? Насколько хорошо работает такая система? Очень хорошо! При загрузке на моем ноутбуке, сразу цепляются необходимые драйвера, в том числе для беспроводного модуля. Таким образом, у меня сразу есть выход в Сеть. Все программы, если их правильно интегрировать (то есть, выполняя все их зависимости), на ура запускаются и работают. А это и софт для восстановления системы, работы с таблицами разделов, бэкапа, редактирования реестра, а также хак-тулзы. В конце концов, что может быть удобнее в качестве вспомогательной системы, которую можно всегда брать с собой и в случае необходимости с нее загружаться? Несколько советов Как я уже упомянул, в качестве исходного дистрибутива лучше взять образ Windows 7 с уже включенным пакетом обновления (SP1). С использованием дистрибутива, в котором сервиспака еще нет, возникли проблемы с нахождением некоторых библиотек. Хотя, оговорюсь, это некритично, потому что WinBuilder выдает конкретные способы решений проблемы. В случае каких-то проблем скрипты, как правило, выдают ошибки. Если же что-то пошло не так, но в чем именно проблема непонятно, помогут логи. Опция активируется в сценарии “Finalize .. Save log file” и включена по умолчанию. Логи WinBuilder пишет очень подробно: можно полностью изучить процесс создания сборки, проследить логику выполнения скриптов и в случае какой-то проблемы попытаться устранить ошибки. Опциональным, но очень полезным проектом является www.paraglidernc.com/WinBuilder (рекомендую его сразу выбрать для загрузки во время первого запуска WinBuilder). Он включает в себя подробнейшую инструкцию по созданию сценариев. После установки ищи его в папке ProjectsParagliderWinBuilder.chm. Самый простой способ включить в сборку приложение — это найти ее Portable-версию (например, на сайте portableapps.com), которая уже включает в себя все необходимые файлы для работы в “чужой” системе.