Настройка и оптимизация операционных систем
Главная -> Система

Windows 7 portable: делаем загрузочную флешку с "семеркой" на борту

Напечатать страницу


Введение

Наша задача на сегодня — создать специальную сборку Windows 7, которая бы работала без установки и запускалась прямо с флешки. Включив в ее состав необходимый софт, мы сможем решать разные задачи: решать проблемы с дисковыми разделами, удалять вирусы или, к примеру, использовать хакерские инструменты в привычном окружении.

Давно смекнув, что многие проблемы гораздо проще решать, загрузившись с Live-носителя, я стараюсь всегда иметь при себе на флешке какой-нибудь recovery-дистрибутив. Согласись, что это если не лучший, то, по крайней мере, один из удобнейших способов восстановить систему или, к примеру, расправиться с малварью (особенно если речь идет о блокираторе). Я перепробовал многое. Сперва это были системы на базе Linux, затем UBCD4Win, построенный на базе Windows XP, а потом я сделал свою собственную сборку, используя небезызвестную утилиту Bart’s PE Builder. Увы, прога давно не обновляется, а, значит, в качестве список поддерживаемых систем, доступных для переноса на загрузочный носитель, остается попрежнему тем же: Windows 2000/XP/2003. Это немного огорчает: уже все успели привыкнуть к "семерке", и было бы здорово собрать свою загрузочную систему именно на базе Windows 7. Сказано — сделано.

Наш помощник — WinBuilder

В замену 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 — собирает загрузочную систему из дистрибутива Windows 7.

Мы же будем использовать Win7PE, как самый проверенный и наиболее подходящий для наших задач проект.

Что нам нужно?

Для того, чтобы собрать загрузочную систему на базе Windows 7 нам понадобится следующее:

1. Дистрибутив Windows 7 x86 или x64, желательно с уже интегрированным SP1.

2. Последняя версия WinBuilder. Он распространяется в виде небольшого exe-файла, а необходимые для работы компоненты и вспомогательные утилиты дополнительно загружает из Сети.

3. Windows Automated Installation Kit for Windows 7 (WAIK). Пакет для автоматической установки Windows весит очень немало — это образ на 1,7 Гб, который ты можешь скачать с сайта Microsoft

4. Driverpack’и — классные наборы драйверов, которые поддерживают огромное количество железа. На сайте доступны сборки для различных видов девайсов, нам понадобится не так много, а именно — сборники для категорий Chipset, LAN, WLAN Mass Storage driver.

Предварительные приготовления

Когда все файлы будут в нашем распоряжении, можно приступать к приготовлениям.

1. Для начала нам нужно установить Windows Automated Installation Kit for Windows 7. Записывать на болванку ISO’шник, само собой, не обязательно: можно просто распаковать файлы из KB3AIK_EN.iso и запустить StartCD.exe. В появившемся меню автозапуска выбираем Windows AIK Setup и выполняем самую стандартную установку. Весит это хозяйство много, но после того, как скрипты WinBuilder извлекут оттуда нужные файлы, WAIK можно будет удалить (имей это в виду).

Устанавливаем WAIK
Устанавливаем WAIK

2. Далее копируем файлы Windows 7 с диска или из ISO-образа в какую-нибудь директорию.

3. Размещаем загруженный WinBuilder.exe в какой-нибудь папке (например, C:\WinBuilder) — лишь бы не в директории с профайлом пользователя. И запускаем бинарник под аккаунтом администратора: иначе программа честно предупредит тебя о возможных проблемах.

4. От WinBuilder’а в чистом виде толку мало — ему необходимы сценарии и вспомогательные файлы для создания загрузочного дистрибутива. Поэтому первое, что ты увидишь после запуска — это "Download Center". Прога предложит выбрать проекты, которые необходимо скачать.

Отмечаем галочками:

  • updates.boot-land.net (это апдейты);
  • win7pe.WinBuilder.net/SE (файлы проекта Win7PE).

В левом верхнем углу можно выбрать режим загрузки (по умолчанию он выставлен в значение "Recommended"). Выбираем через меню "Complete" и начинаем загрузку файлов, нажав на кнопку "Download".

5. По какой-то причине WinBuilder не может корректно извлечь абсолютно все файлы, необходимые для создания сборки, поэтому придется поработать немного руками. Необходимо найти файл bcdedit.exe в своей системе (Windows 7) и скопировать его в C:\WinBuilder \Projects\Tools\Win7PE_SE\x86 (или C:\WinBuilder\Projects\Tools\Win7PE_SE\x64 для 64-битной системы). Туда же нужно скопировать следующие файлы:

imagex.exe
wimgapi.dll
wimmount.inf
wimmount.sys
wimserv.exe

Изначально они находятся в папке WAIK. Можно попробовать не выполнять этот шаг. У меня автоматические скрипты WinBuilder не смогли сграбить эти файлы, но возможно тебе повезет больше.

Собираем дистрибутив

Теперь, когда все необходимое для сборки у нас есть и готово к использованию, нет смысла затягивать с созданием дистрибутива. Опять же раскладываю все по пунктам.

1. Итак, в левой панели мы видим дерево проекта Win7PE SE. Нажимаем но кнопку "Source": здесь необходимо указать расположение файлов дистрибутива Windows 7. Все остальное можно оставить по умолчанию.

2. Далее необходимо подключить к созданию сборки драйверы, которые будет использовать система. Это делается в разделе "Drivers". По умолчанию здесь указан путь %GlobalTemplates%\Drivers_x86. Проще всего нажать на кнопку "Explore" и в появившуюся папку скопировать все необходимые драйвера. Просто распаковываем сюда архивы Driverpack’ов, которые мы предварительно скачали. Так как поддерживается сканирование поддиректорий, то пихать все в одну сумасшедшую кучу необязательно: смело размещай содержимое архивов "как есть".

3. Если пройтись по разделу "Tweaks", то можно дополнительно внести различные косметические настройки будущей системы. К примеру, изменить wallpaper, настроить меню "Пуск", изменить ярлычки. Все очень понятно настраивается через соответствующие опции.

4. Далее переходим в раздел "WriteMedia" и активируем режим "Copy to USB-Device", чтобы сразу разместить нашу сборку на USB-флешку, выбрав в меню нужный носитель.

5. Теперь можно нажать на кнопку "Play" и верить, что все пройдет без сучка и задоринки. Создание сборки, очевидно, занимает некоторое время: в процессе можно наблюдать, как выполняется один скрипт системы за другим (сложно представить, сколько времени ушло бы на выполнение подобной работы вручную). Соответственно, чем больше скриптов ты выбрал для выполнения, тем дольше будет возиться WinBuilder. В случае ошибки прога сообщит в чем проблема и, скорее всего, выдаст в браузере справку с возможным решение проблемы.

Эту инструкцию я составляю с учетом всех возникших у меня сложностей, поэтому ты не должен наступить на мои грабли. Все должно быть хорошо, и на выходе ты получишь файл Win7PE_x86.ISO в папке WinBuilder\ISO. 

6. Прежде чем загружать файлы на флешку, можно предварительно проверить работоспособность сборки в виртуальной машине, и здесь опять же все автоматизировано. В разделе VirtualTest можно выбрать систему виртуализации (испытание можно устроить, воспользовавшись qEmu, VirtualBox, Virtual PC, VMware). Я оставил режим по умолчанию (Best Emulation), и WinBuilder запускала получившийся образ в установленной VMWare Workstation, что меня вполне устраивало. Ты же можешь выбрать более подходящий сценарий. Можно оставить все как есть и установить в систему бесплатный и легковесный.

Проверяем сборку под VMware
Проверяем сборку под VMware

7. Теперь о том, как выглядит перенос системы на флешку. Сначала WinBuilder запускает HP USB Disk Storage Format Tool — самую правильную утилиту для форматирования USB-носителей. Выбираем здесь FAT32 (если хочешь в будущем добавить возможность загрузки с флешки другой системы) или NTFS. Форматируем. После этого в игру вступает утилита Grub4Dos, у которой важное назначение — установить на флешку загрузчик. Тут необходимо: во-первых, правильно выбрать диск (так как буквы не отображаются, смотри внимательно на размер), во-вторых, выбрать в качестве значения параметра "Part List — Whole disk (MBR)" и отметить галочкой опцию Don’t search floppy. После этого остается нажать на кнопку "Install", моментально получить сообщение об установке загрузчика и, мысленно поблагодарив Gbur4Dos, закрыть его окно. Все: после этого WinBuilder оперативно перенесет все файлы на USB-носитель.

Наша загрузочная флешка с Windows 7 готова

Тут уже грех не загрузиться с USB-носителя, чтобы убедиться, что система работает не только в виртуальном, но и в настоящем, самом обычном окружении. Но хочу сразу предупредить: это сильно урезанная вариация Windows 7, в которой оставлено минимум компонентов. Никаких тебе Aero и красивых эффектов: все это отключено. А из софта ты по умолчанию получаешь некоторые стандартные утилиты Windows (вроде regedit’а), а также несколько бонусных программ вроде PENetwork для настройки сети (в том числе беспроводного адаптера) и Opera USB для браузинга. Все это неплохо, но явно недостаточно — систему нужно снарядить.

Настройка сети
Настройка сети

Скрипты (плагины)

Дополнительные программы, которые можно включить в состав своей сборки системы, распространяются в виде скриптов (или плагинов — так их тоже называют). Подключить их просто. Достаточно скопировать их в \WinBuilder\Projects\Win7PE_SE\Apps и потом активировать через GUI-интерфейс WinBuider. Правда, чтобы они появились в дереве скриптов, программу приходится перезапускать, хотя не исключаю, что обновить список плагинов можно как-то проще. В некоторых случаях плагин распространяется в виде единственного файла — сценария. Тут есть два варианта. Разработчик мог включить необходимые файлы прямо в этот файл, закодировав их в base64. Или же в составе скрипта никакие файлы не включены, и их нужно скопировать в папку со сценарием самому (это должно быть подробно описано в мануале плагина). Последнее особенно касается коммерческого софта (того же самого Total Commander’а), файлы которого разработчики плагинов просто не имеют права распространять.

Теперь отвечаю на наверняка возникший у тебя вопрос: "А где взять эти плагины?". Есть множество источников — например, отсюда:

К примеру, можно скачать плагин Wireshark и необходимый для его работы Winpcap (доступны отсюда). Перемещаем его в каталог Apps/Network, активируем через дерево — и у нас получается сборка с полноценным сниффером. Ссылки на некоторые полезные плагины я привел ниже:

  • Avira AntiVir
  • Malwarebytes’ Anti-Malware
  • Sala’s Password Renew

Несмотря на то, что готовых плагинов довольно много, полезно уметь самому написать скрипт для добавления нужных программ в систему. Когда добавляешь новый скрипт через "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", то ты увидишь структуру папок, используемых в сборке, чтобы понимать, куда именно будут добавляться файлы.

Что у нас получилось?

Насколько хорошо работает такая система? Очень хорошо! При загрузке на моем ноутбуке, сразу цепляются необходимые драйвера, в том числе для беспроводного модуля. Таким образом, у меня сразу есть выход в Сеть. Все программы, если их правильно интегрировать (то есть, выполняя все их зависимости), на ура запускаются и работают. А это и софт для восстановления системы, работы с таблицами разделов, бэкапа, редактирования реестра, а также хак-тулзы. В конце концов, что может быть удобнее в качестве вспомогательной системы, которую можно всегда брать с собой и в случае необходимости с нее загружаться?

Несколько советов

  1. Как я уже упомянул, в качестве исходного дистрибутива лучше взять образ Windows 7 с уже включенным пакетом обновления (SP1). С использованием дистрибутива, в котором сервиспака еще нет, возникли проблемы с нахождением некоторых библиотек. Хотя, оговорюсь, это некритично, потому что WinBuilder выдает конкретные способы решений проблемы.
  2. В случае каких-то проблем скрипты, как правило, выдают ошибки. Если же что-то пошло не так, но в чем именно проблема непонятно, помогут логи. Опция активируется в сценарии "Finalize .. Save log file" и включена по умолчанию. Логи WinBuilder пишет очень подробно: можно полностью изучить процесс создания сборки, проследить логику выполнения скриптов и в случае какой-то проблемы попытаться устранить ошибки.
  3. Опциональным, но очень полезным проектом является www.paraglidernc.com/WinBuilder (рекомендую его сразу выбрать для загрузки во время первого запуска WinBuilder). Он включает в себя подробнейшую инструкцию по созданию сценариев. После установки ищи его в папке Projects\Paraglider\WinBuilder.chm.
  4. Самый простой способ включить в сборку приложение — это найти ее Portable-версию (например, на сайте portableapps.com), которая уже включает в себя все необходимые файлы для работы в "чужой" системе.

Сайт автора журнала xakep.ru

Похожие публикации
Комментарии (0)

Комментариев нет.

Для того, чтобы оставить свой комментарий вам необходимо войти или зарегистрироваться на сайте.





Консультация специалиста

Консультант по Windows Если у вас есть вопрос по Windows или работе с ПК, вы можете задать его нашему консультанту.

Бесплатно и без регистрации!

Задать вопрос

Работа в нашей коменда
Опрос
Какая ОС вам больше нравится?





Результаты опросов
Разработка
  • Разработка сайта: Роман Чернышов