14 лет назад 28 февраля 2005 в 0:39 776

В Upgrade Special #1, посвященном Windows XP, мы уже писали об автоматической установке операционной системы, а также о том, каким образом интегрировать в дистрибутив ОС новые драйверы, программы и даже заранее сделать кое-какие настройки системы. Путь это непростой и не каждому под силу. Однако за этот год, который прошел с момента написания той статьи, появились программы, с помощью которых создать свою собственную версию Windows может практически каждый. Мы расскажем о двух из них – nLite и Winnt.sif Creator.

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

Разбираться с тонкостями ручного создания файла ответов для инсталлятора Windows winnt.sif такой пользователь, разумеется, не будет, а вот воспользоваться специальными утилитами, которые почти все сделают за него, ему вполне по плечу – в этом случае при плановом сносе Windows он наконец-то будет избавлен от нудного ввода CD-Key, повторной инсталляции обновлений и прочих рутинных настроек системы.

Конечно, было бы гораздо проще один раз поставить ОС, грамотно ее настроить и сделать образ системного раздела, чтобы просто перезаливать его, когда ОС в очередной раз пойдет вразнос. Однако многие пользователи почему-то недолюбливают программы создания образов – они кажутся им слишком сложными, да и сам образ требует гораздо больше места для хранения, чем обычный дистрибутив. Чуть более продвинутый юзер непременно имеет в своем арсенале Norton Ghost и при самом жутком сбое готов в течение получаса вернуть ОС в первозданный вид.

Но и такому пользователю не обойтись без собственного дистрибутива, ведь ему постоянно приходится переустанавливать Windows соседям и знакомым, которые даже это не могут сделать самостоятельно – а в данном случае созданный “под себя” образ ни в коей мере не годится.

РАБОТА С NLITE
Перед запуском программы необходимо подготовить все будущие компоненты нашего дистрибутива – сам диск Windows XP, Service Pack 2, все необходимые драйверы, а также программы must have типа русского MUI для английской версии Windows XP, Nero Burning ROM, FlashGet и так далее (правда, не каждую программу удастся интегрировать в дистрибутив).

После загрузки nLite первым делом попросит вас указать путь к дистрибутиву Windows XP – его предварительно надо скопировать на винчестер – скажем, в папку Distrib (не удаляйте ее потом – дистрибутив можно многократно пересобирать и изменять, например, при выходе новых хотфиксов). С диска Windows XP нас интересуют лишь папка i386 и файлы без расширения, расположенные в корневой директории компакт-диска (типа WIN51IP). Далее нужно указать путь к exe-файлу сервис-пака – самостоятельно распаковывать его не требуется.

По завершении интеграции пакета обновлений у вас появится выбор – сделать ISO-образ диска Windows XP уже сейчас, без каких-либо иных дополнений, или продолжить работу над ним. Разумеется, в нашем случае выбираем следующий этап – определение компонентов Windows, которые мы хотим полностью исключить из дистрибутива. В принципе, при создании максимально универсального дистрибутива вы можете оставить все как есть – вдруг сосед, который им впоследствии воспользуется (ваше присутствие при инсталляции благодаря такому дистрибутиву наконец-то станет необязательным), жить не может без “Пинбола” или встроенной поддержки ZIP-архивов.

Если же вы собираете дистрибутив индивидуального потребления, то установите флажки напротив тех программ, служб и компонентов, которые каждый раз после установки ОС и так приходится удалять вручную. Кстати, здесь можно удалить из состава Windows XP Internet Explorer, что, по заявлениям Microsoft, даже теоретически невозможно. В следующем окне будет предложено вручную ввести имена файлов, которые вам нужно исключить из дистрибутива, но для наших целей эта опция не требуется.

Важнейший этап – настройка будущего процесса автоматической инсталляции Windows с помощью специального файла ответов winnt.sif. Сам файл создавать вручную не требуется – необходимо лишь устанавливать флажки и вводить необходимые данные в интерфейсе nLite. Учтите только, что если на исходном компакт-диске уже имелся файл ответов (такое бывает в OEM-дистрибутивах), то он будет полностью перезаписан.

Поэтому нелишне будет потом просмотреть содержимое исходного winnt.sif и созданного nLite – возможно, какие-то важные параметры (тот же CD-Key) потребуется восстановить. Кстати, если инсталляция останавливается сразу после загрузки с диска и появляется сообщение о файле txtsetup.sif, то может помочь удаление папки Textmode на диске с дистрибутивом.
Обратим внимание на самые важные опции, которые предлагает nLite.

Для того чтобы получить дистрибутив, пригодный для установки на самые разные ПК, параметр “Тип компьютера” следует оставить в положении Automatic. Если вы внесли в файл ответов все параметры и данные, которые запрашивает система во время инсталляции, установите параметр “Автоматический режим” в положение FullUnattended. Но если вы будете использовать дистрибутив при установке на ПК соседей по сети, то этот вариант не подходит – он, например, не позволяет сделать так, чтобы в сети у всех ПК было одно и то же имя. В этом случае вам придется оставлять соответствующие поля nLite пустыми и выбирать режим DefaultHide – в результате при инсталляции ОС вопросы будут появляться только тогда, когда пользователю будет нужно вводить личные данные.

Установка драйверов – один из самых сложных моментов. Для того чтобы утилита смогла внедрить их в дистрибутив, необходимо, чтобы архив с драйвером был распакован и на диске присутствовал необходимый inf-файл, который и следует указывать в nLite. Тут можно использовать пару трюков. Во-первых, exe-файл драйвера часто оказывается обычным самораспаковывающимся архивом и его легко развернуть с помощью любого приличного архиватора.

Во-вторых, можно запустить инсталляцию драйвера, подождать пока файлы распакуются и затем просто взять их из временной папки, которую несложно найти где-то в недрах C:\Documents and Settings\Имя_пользователя\Local Settings\Temp. Если же inf-файл получить никак не удается, то можно обойтись без интеграции драйвера, а устанавливать его уже на конечном этапе инсталляции ОС в автоматическом режиме как обычное приложение (об этом чуть ниже) – практически все инсталляторы поддерживают режим silent-установки, при котором никакого вмешательства пользователя не требуется. Кстати, программа позволяет устанавливать и неподписанные драйверы – при их использовании никаких дополнительных сообщений во время инсталляции не возникает.
Теперь нужно интегрировать в систему новейшие критические обновления.

Чтобы точно знать, какие обновления нужны вашему дистрибутиву, желательно хотя бы раз его установить и затем из-под этой системы зайти на Windows Update. Если вы увидите, что системе не хватает каких-то хотфиксов, то скачайте их на диск, снова вернитесь к nLite, интегрируйте эти патчи и пересоберите дистрибутив – пересборка займет не более 15 минут вместе с записью диска. Если же хотите обойтись без тестовой установки ОС, то просто посмотрите, какие хотфиксы на сегодняшний день предлагаются для Windows XP SP2 по адресу v4.windowsupdate.microsoft.com/catalog/ru и выберите из них необходимые.

Далее вам предоставляется возможность сделать несколько типичных настроек и твиков операционной системы. Здесь сложно давать какие-то рекомендации – все зависит от вкусов пользователя. Единственный совет – не злоупотребляйте “пропатчиванием” системы. nLite позволяет отключить защиту системных файлов, включить возможность установки неподписанных тем оформления, увеличить число одновременных попыток соединения (актуально для SP2, где такие ограничения появились), но для этого ей приходится вносить изменения непосредственно в системные файлы, а это может вызвать некоторые проблемы, особенно у неподготовленного пользователя.

Так, пропатчивание файла uxtheme.dll, разрешающее установку тем оформления, приводит к проблемам при последующей установке сервис-паков. Самой же полезной опцией здесь является, пожалуй, отключение всплывающих сообщений, которое совершенно безопасно и сохраняет пользователю Windows немало нервных клеток, избавляя от надоедливых подсказок.

Последний этап – сборка дистрибутива. В ряде случаев – например, если вы вдруг решили интегрировать в дистрибутив обновление до 10 версии Windows Media Player как обычный хотфикс – здесь могут возникнуть сообщения об ошибках. Такие обновления придется добавлять в дистрибутив вместе с обычными программами, используя silent-установку на последнем этапе инсталляции Windows. По завершении процесса сборки вам будет предложено создать ISO-образ загрузочного диска. Но не спешите нажимать эту кнопку – есть смысл еще кое-что исправить и доработать (программу, кстати, можно закрыть – ISO сделаете позже).

WINNT.SIF CREATOR
К сожалению, nLite предоставляет лишь минимальные возможности по созданию файла ответов. Что ж, при желании вы можете использовать другую, более мощную программу – Winnt.sif Creator (b0r3d.msfnhosting.com). Эта утилита хоть и не знает абсолютно все возможные параметры этого файла, зато на порядок превосходит nLite по части автоматизации установки и настройки Windows XP. Поэтому если вы хотите большего, то до создания ISO-файла полностью переделайте уже готовый winnt.sif. Дело в том, что в отличие от nLite редактирование уже созданного файла Creator пока не поддерживает. В принципе, это можно сделать с помощью программы UltraISO (www.ezbsystems.com/ultraiso) и ей подобных, но иногда такие утилиты повреждают образ.

Winnt.sif Creator значительно превосходит и аналогичную программу для создания winnt.sif от Microsoft: он не только дает возможность настроить параметры непосредственно инсталляции, но и может создавать автоматически внедряемый в систему reg-файл с популярными твиками Windows XP. Для этого в программе предусмотрено два основных раздела – Configuration, отвечающий за unattend-установку, и Registry Tweaks.

В разделе Configuration – Data рекомендуется установить опцию загрузки с CD, а также флажок Auto Partition – в результате ОС будет инсталлироваться на первый найденный свободный раздел винчестера. Иначе обязательно всплывет запрос о том, на какой раздел вы хотите ставить систему, и, соответственно, потребуется вмешательство оператора.

Раздел Unattended позволяет запускать установку дополнительных программ и копировать нужные файлы на винчестер – обязательно отметьте ключ Install Extra Programs. Опция Repartition опасна, так как включает полное переразбиение диска – ни в коем случае не активируйте ее, если только дистрибутив не предназначен для установки ОС на новые ПК. Если нужно, чтобы при инсталляции был создан пользователь, установите флаг Show create user screen – иначе после установки Windows вы будете работать под учетной записью администратора.

Правда, при этом опять-таки потребуется вмешательство человека при установке ОС, так что, возможно, лучше создать учетные записи уже после установки ОС. Опция AutoActivate позволит активировать систему в автоматическом режиме, но лучше ее не использовать – так как это требует уже настроенного и установленного интернет-соединения. Очень полезен пункт Driver Path – благодаря ему вы тоже можете добавлять в дистрибутив драйверы устройств, но не так, как в nLite.

Для этого необходимо создать на компакт-диске папку вида C:\Distrib\$OEM$\$1\Drivers\Net, куда распаковать драйверы, например, сетевой карты (чтобы в этой папке присутствовал соответствующий INF-файл). Затем создайте аналогичную папку, например, для видео: C:\Distrib\$OEM$\$1\Drivers\Catalyst, и так далее. Теперь в поле Driver Path через точку с запятой без пробелов укажите системе пути к этим папкам: Drivers\Net;Drivers\Catalyst3_6\2KXP_INF;Drivers\sound\. Обратите внимание: поскольку для драйверов Catalyst INF-файл оказался в поддиректории 2KXP_INF, указывать надо путь именно к ней (впрочем, Catalyst вообще лучше ставить как приложение).

Чтобы задать порядок установки самых важных драйверов (драйверы чипсета, скажем, принято устанавливать первыми), придумайте папкам с этими драйверами такие названия, чтобы их алфавитный порядок совпадал с требуемым порядком установки. Например, 000_Intel, 002_Sound и так далее. Наконец, скопируйте inf-файлы всех драйверов еще и в папку $OEM$\$$\inf. Теперь при инсталляции ОС нужные драйверы будут подхвачены автоматически. (Эта функция дублирует то, что нам предлагал nLite, но продвинутым пользователям рекомендуется пользоваться именно ею.)

В разделе GuiUnattended следует обратить внимание на параметр TimeZone Index – для Москвы это будет 145. Очень интересен параметр Profiles Path, позволяющий изменить установленный по умолчанию путь к папке Documents and Settings – на уже установленной системе это сделать очень сложно.

В разделе TapiLocation необходимо выбрать пульсовый набор номера и указать код страны. Как ни странно, в справке программы отсутствует код России (7), а в разделе Regional Settings вы не обнаружите кода для русского языка (в окошке Language укажите 00000419).

Весьма полезен раздел Components – в нем легко можно выбрать установленные по умолчанию основные системные программы. Обратите внимание на то, что эти программы не удаляются из дистрибутива, и вы в любой момент можете их доустановить при помощи меню “Установка и удаление программ”.

Наконец, в разделе GUIRunOnce можно прописать пути к командным файлам, которые будут запускать автоматическую инсталляцию интегрированных в дистрибутив приложений, драйверов, выполненных в виде exe-файлов, а также reg-файлов с настройками программ и Windows. Запомните указанные пути и названия файлов или измените их так, как вам удобно – они нам еще потребуются.

Сделав все необходимые настройки, переходим к пункту Finish, нажимаем Make My winnt.sif! и получаем готовый файл ответов. Для тех, кто не боится ковыряться в параметрах системы, настоятельно советуем изучить содержимое этого файла, а при необходимости еще и вручную дополнить его, воспользовавшись подробными инструкциями из Upgarde Special #1 за 2004 год либо изучив документ ref.chm из архива SUPPORT\TOOLS\Deploy.cab дистрибутива Windows. Полученный в результате файл winnt.sif переносим в папку i386 нашего дистрибутива Windows XP.

НАСТРОЙКА СИСТЕМЫ
Собственно, часть настроек Windows позволяет сделать сам Winnt.sif Creator – его раздел Registry Tweaks является, по сути, мини-твикером, и для начала мы советуем воспользоваться именно им, выставив флажки нужных настроек. На выходе программы вы получите готовый reg-файл, который нужно будет импортировать в реестр Windows во время ее инсталляции. Делается это следующим образом. Если вы не забыли, в файле winnt.sif у нас оказался прописан запуск нескольких командных файлов – инструкции из них будут выполнены на конечном этапе установки ОС.

Следовательно, чтобы импортировать полученный reg-файл в систему, соответствующую команду необходимо задать в одном из этих файлов. Для этого создайте в директории $OEM$\$1 (именно она является аналогом %systemdrive%, указанного в Winnt.sif Creator) папку install, а в ней – файлы main_batch.cmd, hotfixes.cmd, applications.cmd. Откройте в Блокноте main_batch.cmd и вставьте в него строки:

Но возможно, грамотнее будет создать свой собственный reg-файл с настройками системы. Это несложно сделать вручную, используя готовый шаблон, который можно взять, например, тут: www.msfn.org/board/index.php?act=ST&f=70&t=27911. Впрочем, reg-файл можно создать и с нуля, но это потребует много времени и сил. Вам придется:

1 установить на диск “чистую” копию Windows XP SP2;
2 установить используемые вами обычно твикеры;
3 сделать снимок состояния реестра при помощи Ashampoo Uninstaller;
4 настроить Windows ее собственными средствами и с помощью твикеров;
5 снова сделать снимок системы;
6 на основе полученного протокола изменений создать в Ashampoo Uninstaller инсталляционный reg-файл.
Как видите, процедура непростая и опять-таки требующая тестовой установки ОС.

Восстановление активации
При переустановке Windows XP очень важно восстановить активационные файлы, иначе систему придется активировать заново. Для этого надо всего лишь перенести со старой системы файл WPA.DBL, в котором, собственно и содержатся данные о том, что ваша ОС была активирована (разумеется, он сработает только на вашем ПК). Необходимо сделать так, чтобы после установки новой Windows этот файл снова оказался в папке WINDOWS\SYSTEM32.

Для этого надо всего лишь создать на компакт-диске директорию $OEM$\$$\System32 и поместить туда копию этого файла. Во время инсталляции все файлы из этой папки будут скопированы в аналогичный каталог на жестком диске. Учтите только, что для того, чтобы какие-либо файлы из папки $OEM$ копировались на винчестер, в разделе [Unattend] файла winnt.sif должны присутствовать параметры OemPreinstall=Yes и UnattendSwitch=Yes. Кстати, данные об активации MS-Office находятся в папке C:\Documents and Settings\All Users\Application Data\Microsoft\Office\Data – позаботьтесь и об их сохранении.

УСТАНОВКА ПРОГРАММ
Проще всего устанавливать программы, которые работают после простого копирования соответствующей поддиректории папки Program Files – это, например, популярный менеджер закачек FlashGet или TotalCommander. Для того чтобы внедрить эту программу в дистрибутив, нужно всего лишь создать на компакт-диске Windows XP папку $OEM$\$1\Program Files и в нее скопировать папку с уже установленной программой.

После установки Windows все это окажется на вашем жестком диске. Если же программа раскидывает свои библиотеки по всей системе, то без полной ее инсталляции не обойтись. Многие программы поддерживают так называемый silent (или unattend) режим установки, при котором не требуется никакого вмешательства пользователя.

Чтобы воспользоваться им, необходимо запустить инсталлятор с нужными параметрами командной строки, узнать которые для самых популярных программ и распространенных типов инсталляционных систем вы сможете, например, на сайте unattended.oszone.net/installers.shtml и в форуме www.msfn.org/board/index.php?s=828032722ec0856eafcc7b35ed799921&showforum=80.

Определившись с командными строками своих любимых программ (желательно их предварительно испытать, воспользовавшись меню Run), скопируйте дистрибутивы в уже упоминавшуюся папку $OEM$\$1\install. Туда же поместите файл applications.cmd, в котором и пропишите эти команды вида (для установки русского MUI и Nero):

ECHO Complete

Здесь крестиками обозначен серийный номер Nero. Для установки же уже упоминавшегося Windows Media Player нужно использовать такую команду:

ECHO Installing Windows Media Player 10
start /wait %systemdrive%\install\WMP10\MP10Setup.exe /q:A /c:”setup_wm.exe /Q /R:N /DisallowSystemRestore”

Наконец, желательно отправить ПК на перезагрузку, прописав:

ECHO
shutdown.exe -r -f -t 60 -c “Windows XP will now restart in 1 minute. Don’t worry, it’s not a virus 🙂 !”
EXIT

Таким же способом можно инсталлировать и хотфиксы – для этого, если помните, у нас предусмотрен файл hotfixes.cmd. Но поскольку хотфиксы мы уже интегрировали с помощью nLite, этот файл можно не использовать: удалите его упоминание в winnt.sif. А вообще, проще всего сделать всего один командный файл, а не три, как предлагает Winnt.sif Creator. Подробнее об этом способе читайте в Upgrade Special #1 или по адресу unattended.oszone.net/hotfixes.shtml.

Существует, правда, еще один очень элегантный, но более сложный способ установки программ, при котором отображается не консольное, а “виндовое” окно. Он подробно описан на странице unattended.oszone.net/RunOnceEx.shtml – после того как вы отработаете инсталляцию через пакетные файлы, можно перейти на него.

НАСТРОЙКА ПРОГРАММ
Для того чтобы программы могли не только автоматически устанавливаться вместе с Windows XP, но и настраиваться так, как вы привыкли, можно использовать такую технологию. На чистый компьютер с только что установленной ОС (это, впрочем, лишь желательное требование, но не обязательное – главное, чтобы программа, настройку которой вы автоматизируете, на него еще не ставилась), установите программу Ashampoo Uninstaller (www.ashampoo.com), а затем инсталлируйте требуемую программу и разок запустите ее, не делая никаких настроек.

Сделайте с помощью Ashampoo снимок текущей конфигурации системы, снова запустите программу и настройте ее так, как вам необходимо. Снова сделайте снимок и получите протокол изменений, которые вносятся в реестр при настройке программы. Теперь выберите в Ashampoo опцию Create Installation Files и получите reg-файл с вашими настройками, который надо просто внедрить в реестр после установки программы. Делается это аналогично тому, как мы импортировали reg-файл с твиками системы, только команду для этого надо прописывать после команды, которая устанавливает программу.

Точно таким же образом решается задача автоматической регистрации shareware-программ. Вам нужно лишь сравнить два снимка системы – до ввода регистрационных данных и после. Таким образом, вы получите reg-файл с ключом программы, внедрение которого в реестр автоматом превратит shareware в полнофункциональную версию. Для того же FlashGet это будут, например, параметры в разделе реестра HKEY_CURRENT_USER\Software\JetCar\JetCar\General. Если же вы будете регистрировать программу одновременно с ее настройкой, этот параметр тоже должен оказаться в итоговом reg-файле. Однако использовать такой дистрибутив можно только на своем ПК – у другого пользователя должен быть свой собственный ключ.

Некоторые программы (WhereIsIt?, WinAmp, DrWeb) сохраняют свои регистрационные данные или настройки в специальном файле. Чтобы перенести его с компакт-диска в нужную папку на винчестере, нужно создать соответствующий подкаталог внутри $OEM$\$1\Program Files дистрибутива и поместить туда ключевой файл. Единственное, на что следует еще обратить внимание – объем диска при интеграции в него программ может перевалить за 700 Мб, и тогда вам придется воспользоваться DVD-RW.

Итак, благодаря утилитам nLite и Winnt.sif Creator вы получаете возможность легко создавать самые разные дистрибутивы, предназначенные для разных целей: универсальный дистрибутив с интегрированным SP2 и последними обновлениями; такой же дистрибутив, но уже с реализованной полностью автоматической установкой и некоторыми настройками для установки на ПК начинающих пользователей – с ним они справятся и без вашего участия; и, наконец, максимально переработанный дистрибутив с драйверами, программами, хитрыми твиками системы и даже видоизмененным графическим интерфейсом – для себя, любимого. Ведь времени на это теперь потребуется гораздо меньше, нежели при ручной сборке подобных дисков.

Полезные ресурсы:
– forum.ru-board.com/topic.cgi?forum=62&topic=0012&start=0
– forum.ru-board.com/topic.cgi?forum=8&topic=0535
– forum.ru-board.com/topic.cgi?forum=62&topic=0212
– mapcell.narod.ru/w2k_unattended_install.doc
– unattended.msfn.org
– unattended.sourceforge.net/installers.html
– www.microsoft.com/windows2000/downloads/servicepacks/sp3/hfdeploy.htm
– ne0n.pp.ru/unattmgr
– www.vitaligraf.de/home.htm
– jdeboeck.msfnhosting.com
– www.msfn.org/board/index.php?showtopic=9817
– gosh.msfnhosting.com
– unattended.oszone.net
– forum.oszone.net/forumdisplay.php?f=32
– www.msfn.org/board/index.php?showforum=88

Менеджер автоустановки Windows XP
По адресу ne0n.pp.ru/unattmgr вы найдете еще одну мощнейшую программу для создания файла ответов – “Менеджер автоустановки Windows XP”. Эта полностью русскоязычная утилита способна изменять огромное число параметров, превосходя по данному показателю даже Winnt.sif Creator.