- Зміст статті Наше завдання на сьогодні - створити спеціальну збірку Windows 7, яка б працювала без...
- Що нам потрібно?
- попередні приготування
- збираємо дистрибутив
- Скрипти (плагіни)
- Що у нас вийшло?
- Декілька порад
Зміст статті
Наше завдання на сьогодні - створити спеціальну збірку 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 - збирає завантажувальну систему з дистрибутива Vista або Windows 7.
Ми ж будемо використовувати Win7PE, як самий перевірений і найбільш підходящий для наших завдань проект.
Що нам потрібно?
Для того, щоб зібрати завантажувальну систему на базі Windows 7 нам знадобиться наступне:
- Дистрибутив Windows 7 x86 або x64, бажано з уже інтегрованим SP1.
- остання версія 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 можна буде видалити (май це на увазі).
  встановлюємо WAIK 
- Далі копіюємо файли Windows 7 з диска або з ISO-образу в якусь директорію.
- Розміщуємо завантажений WinBuilder.exe в який-небудь папці (наприклад, C: WinBuilder) - аби не в директорії з профайлів користувача. І запускаємо бінарник під аккаунтом адміністратора: інакше програма чесно попередить тебе про можливі проблеми. 
- Від WinBuilder'а в чистому вигляді толку мало - йому необхідні сценарії і допоміжні файли для створення завантажувального дистрибутива. Тому перше, що ти побачиш після запуску - це «Download Center». Прога запропонує вибрати проекти, які необхідно завантажити. 
Відзначаємо галочками:
- updates.boot-land.net (це апдейти);
- win7pe.WinBuilder.net/SE (файли проекту Win7PE).
У лівому верхньому кутку можна вибрати режим завантаження (за замовчуванням він виставлений в значення «Recommended»). Вибираємо через меню «Complete» і починаємо завантаження файлів, натиснувши на кнопку «Download».
- З якоїсь причини WinBuilder не може коректно витягти абсолютно всі файли, необхідні для створення збірки, тому доведеться попрацювати трохи руками. Необхідно знайти файл bcdedit.exe в своїй системі (Windows 7) і скопіювати його в C: WinBuilder ProjectsToolsWin7PE_SEx86 (або C: WinBuilder ProjectsToolsWin7PE_SEx64 для 64-бітної системи). Туди ж потрібно скопіювати наступні файли:
  imagex.exe 
  wimgapi.dll 
  wimmount.inf 
  wimmount.sys 
  wimserv.exe 
Спочатку вони знаходяться в папці WAIK. Можна спробувати не виконувати цей крок. У мене автоматичні скрипти WinBuilder не змогли сграбіть ці файли, але можливо тобі пощастить більше.
збираємо дистрибутив
Тепер, коли все необхідне для збірки у нас є і готове до використання, немає сенсу затягувати зі створенням дистрибутива. Знову ж розкладаю все по пунктах.
- Отже, в лівій панелі ми бачимо дерево проекту Win7PE SE. Натискаємо але кнопку «Source»: тут необхідно вказати розташування файлів дистрибутива Windows 7. Все інше можна залишити за замовчуванням.
- Далі необхідно підключити до створення збірки драйвери, які буде використовувати система. Це робиться в розділі «Drivers». За замовчуванням тут вказано шлях% GlobalTemplates% Drivers_x86. Найпростіше натиснути на кнопку «Explore» і в що з'явилася папку скопіювати всі необхідні драйвера. Просто розпаковуємо сюди архіви Driverpack'ов, які ми попередньо завантажили. Так як підтримується сканування піддиректорій, то пхати все в одну божевільну купу необов'язково: сміливо розміщай вміст архівів «як є». 
- Якщо пройтися по розділу «Tweaks», то можна додатково внести різні косметичні настройки майбутньої системи. Наприклад, змінити wallpaper, налаштувати меню «Пуск», змінити ярлики. Все дуже зрозуміло налаштовується через відповідні опції. 
- Далі переходимо в розділ «WriteMedia» і активуємо режим «Copy to USB-Device», щоб відразу розмістити нашу збірку на USB-флешку, вибравши в меню потрібний носій. 
- Тепер можна натиснути на кнопку «Play» і вірити, що все пройде без сучка і задирки. Створення збірки, очевидно, займає деякий час: в процесі можна спостерігати, як виконується один скрипт системи за іншим (складно уявити, скільки часу пішло б на виконання подібної роботи вручну). Відповідно, чим більше скриптів ти вибрав для виконання, тим довше буде возитися WinBuilder. У разі помилки прога повідомить в чому проблема і, швидше за все, видасть в браузері довідку з можливим вирішення проблеми. 
Цю інструкцію я складаю з урахуванням всіх виниклих у мене складнощів, тому ти не повинен наступити на мої граблі. Все повинно бути добре, і на виході ти отримаєш файл Win7PE_x86.ISO в папці WinBuilderISO.
- Перш ніж завантажувати файли на флешку, можна попередньо перевірити працездатність збірки в віртуальній машині, і тут знову ж таки все автоматизовано. У розділі VirtualTest можна вибрати систему віртуалізації (випробування можна влаштувати, скориставшись qEmu, VirtualBox, Virtual PC, VMware). Я залишив режим за замовчуванням (Best Emulation), і WinBuilder запускала вийшов образ у встановленій VMWare Workstation, що мене цілком влаштовувало. Ти ж можеш вибрати найбільш підходящий сценарій. Можна залишити все як є і встановити в систему безкоштовний і легкий.
  Перевіряємо збірку під VMware 
- Тепер про те, як виглядає перенесення системи на флешку. Спочатку WinBuilder запускає HP USB Disk Storage Format Tool - найправильнішу утиліту для форматування USB-носіїв. Вибираємо тут FAT32 (якщо хочеш в майбутньому додати можливість завантаження з флешки іншої системи) або NTFS. Форматуємо. Після цього в гру вступає утиліта Grub4Dos, у якій важливе призначення - встановити на флешку завантажувач. Тут необхідно: по-перше, правильно вибрати диск (так як букви не відображаються, дивись уважно на розмір), по-друге, вибрати в якості значення параметра «Part List - Whole disk (MBR)» і відзначити галочкою опцію Do not search floppy. Після цього залишається натиснути на кнопку «Install», моментально отримати повідомлення про встановлення завантажувача і, подумки подякувавши Gbur4Dos, закрити його вікно. Все: після цього WinBuilder оперативно перенесе всі файли на USB-носій.
Наша завантажувальна флешка з Windows 7 готова.
Тут вже гріх не завантажитися з USB-носія, щоб переконатися, що система працює не тільки у віртуальному, а й в сьогоденні, самому звичайному оточенні. Але хочу відразу попередити: це сильно урізана варіація Windows 7, в якій залишено мінімум компонентів. Ніяких тобі Aero і красивих ефектів: все це відключено. А з софта ти за замовчуванням отримуєш деякі стандартні утиліти Windows (на кшталт regedit'а), а також кілька бонусних програм на зразок PENetwork для настройки мережі (в тому числі бездротового адаптера) і Opera USB для серфінгу. Все це непогано, але явно недостатньо - систему потрібно спорядити.
  Налаштування мережі 
Скрипти (плагіни)
Додаткові програми, які можна включити до складу своєї збірки системи, поширюються у вигляді скриптів (або плагінів - так їх теж називають). Підключити їх просто. Досить скопіювати їх в WinBuilderProjectsWin7PE_SEApps і потім активувати через GUI-інтерфейс WinBuider. Правда, щоб вони з'явилися в дереві скриптів, програму доводиться перезапускати, хоча не виключаю, що оновити список плагінів можна якось простіше. У деяких випадках плагін поширюється у вигляді єдиного файлу - сценарію. Тут є два варіанти. Розробник міг включити необхідні файли прямо в цей файл, закодований їх в base64. Або ж в складі скрипта ніякі файли не включені, і їх потрібно скопіювати в папку зі сценарієм самому (це повинно бути детально описано в мануалі плагіна). Останнє особливо стосується комерційного софта (того ж самого Total Commander'а), файли якого розробники плагінів просто не мають права поширювати.
Тепер відповідаю на напевно виник у тебе питання: «А де взяти ці плагіни?». Є безліч джерел - наприклад, звідси:
Наприклад, можна завантажити плагін Wireshark і необхідний для його роботи Winpcap (доступні звідси ). Переміщаємо його в каталог Apps / Network, активуємо через дерево - і у нас виходить збірка з повноцінним сніффером. Посилання на деякі корисні плагіни я привів нижче:
Незважаючи на те, що готових плагінів досить багато, корисно вміти самому написати скрипт для додавання потрібних програм в систему. Коли додаєш новий скрипт через «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 ), Яка вже включає в себе всі необхідні файли для роботи в «чужий» системі.
Що нам потрібно?
Тепер відповідаю на напевно виник у тебе питання: «А де взяти ці плагіни?
Що у нас вийшло?
Наскільки добре працює така система?
Зрештою, що може бути зручніше в якості допоміжної системи, яку можна завжди брати з собою і в разі необхідності з неї завантажуватися?
 
                    