Автоматическая установка Windows

Автор: content Пятница, Апрель 11th, 2008 Нет комментариев

Рубрика: Операционные системы

Вы когда-нибудь хотели создать инсталляционный диск Windows XP, который бы автоматически установил систему, не задавая вопросов про имя пользователя, ключ продукта, временные и региональные настройки? А как насчет установки ваших любимых приложений, ключей реестра, обновленных драйверов, всех обновлений и заплаток от Microsoft? Все это возможно, и мы постараемся рассказать о том, как этого достичь. В английском языке этот процесс называется “unattended installation”, а мы будем использовать термин “автоматическая установка”.

Целевая аудитория
Домашние пользователи, которые тратят драгоценное время на нудную установку Windows, вручную устанавливают важные приложения, загружают обновления и заплатки с сайта Microsoft, расходуя Интернет трафик, а потом настраивают систему, изменяя многочисленные ключи реестра.

Уровень сложности
Знание операционной системы Windows XP на среднем уровне (не эксперт, но и не новичок). Базовое понимание принципов работы пакетных файлов (*.bat или *.cmd) . Базовое знание английского языка. На последнем пункте я остановлюсь чуть подробнее.

Большинство материалов переведены с английского и публикуются с разрешения авторов. Оригинальные статьи и руководства находятся на сайте http://unattended.msfn.org/ Я не ставлю перед собой задачу перевести все материалы данного сайта. Не исключено, что иногда вы увидите ссылки на оригиналы статей, где некоторые моменты расписаны подробнее. Следовательно, знание английского поможет. С другой стороны, на msfn.org существует очень сильный форум, где вопросы автоматической установки изучены вдоль и поперек. Владея базовыми навыками английского, можно воспользоваться поиском по форуму и найти ответы, даже не задавая вопросов.

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

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

Если не получится с первого раза, то не отчаивайтесь. Все должно работать. Исправьте ошибки и пробуйте снова – не боги горшки обжигают <img src=»http://sitefree.ru/images/smilies/icon_wink.gif»>

Готовы попробовать? Тогда приступим.

Старт

Вам обязательно понадобятся
Инсталляционный диск Windows XP. Он может быть как с интегрированным SP1, так и без него.
XP SP2 Deployment Tools (http://www.microsoft.com/downloads/details.aspx?FamilyId=3E90DC91-AC56-4665-949B-BEDA3080E0F6&displaylang=en)
CDImage, который необходим для записи загрузочного диска на основе нашего дистрибутива автоматической установки. Записи диска посвящена отдельная статья (http://unattended.oszone.net/finalizing.shtml), где есть ссылки на все необходимое.
Программа для записи CD (Nero Burning Rom или любая аналогичная ей)
Также, для экспериментов может пригодиться виртуальная машина (VMWare или Virtual PC).

Подготовка
Создайте директорию XPCD на жестком диске. Можете поместить ее в корневой каталог – C:\XPCD
Скопируйте содержимое инсталляционного диска Windows XP в C:\XPCD
C:\XPCD создайте директорию $OEM$, а в ней создайте директории как описано на странице $OEM$ директории на инсталляционном диске (http://unattended.oszone.net/oem_folders.shtml). В эти директории вы сможете поместить программы, драйверы и ключи реестра, которые в дальнейшем будут установлены или импортированы автоматически в процессе установки Windows.
Следующим шагом будет создание файла ответов winnt.sif, который будет использован при автоматической установке Windows XP.

Файл ответов WINNT.SIF
WINNT.SIF

WINNT.SIF это файл ответов для установки Windows XP. Файл представляет собой скрипт ответов на серию диалоговых окон графического интерфейса установки системы. WINNT.SIF говорит программе установки как обращаться со всеми дополнительными файлами и папками, которые вы создали, а также предоставляет программе установки всю информацию, которую пользователь вводит в время стандартной установки Windows.

Загрузите XP SP2 Deployment Tools (http://www.microsoft.com/downloads/details.aspx?FamilyId=3E90DC91-AC56-4665-949B-BEDA3080E0F6&displaylang=en), и распакуйте содержимое архива. Вам понадобятся два файла: setupmgr.exe (Setup Manager) и ref.chm (справочный файл). Setup Manager представляет собой мастер создания файла ответов, и разобраться с ним не очень сложно. Для начала работы задайте мастеру следующие опции:

New or Existing Answer File: Create New
Type of Setup: Unattended Setup
Windows Product: Windows XP Home / Professional
User Interaction: Fully Automated
Distribution Share: Set up from CD

После этого примите лицензионное соглашение и заполните все поля, которые бы вы заполняли во время установки ОС. Если какой-то раздел вам непонятен, то просто пропустите его. Windows использует параметры по умолчанию для этого раздела.

После окончания работы создается файл unattend.txt. Поскольку вы планируете ставить систему с CD, то надо переименовать файл в WINNT.SIF.

Предустановка OEM компонентов

Мы используем $OEM$ директории (подробнее о них здесь: http://unattended.oszone.net/oem_folders.shtml) для установки любимых программ, драйверов, настроек реестра и т.д. Чтобы все это работало надо указать два параметра в WINNT.SIF в разделе [Unattended]

[Unattended]
OemPreinstall=Yes
UnattendSwitch=»yes»

OEMPreinstall=Yes сообщает Windows, что на диске находится директория $OEM$. Таким образом во время установки все содержимое директории будет скопировано на раздел жесткого диска, на который устанавливается система.

UnattendSwitch=»yes» говорит Windows пропустить этап «Добро пожаловать в Windows XP», который помогает пользователю создать Учетные записи и подключение к сети Интернет.

Если в процессе установки вы хотите указать определенный раздел жесткого диска и отформатировать его, то убедитесь, что файл WINNT.SIF содержит следующие строки в разделах [Data] и [Unattended]:

[Data]
AutoPartition=0

[Unattended]
Repartition=No

Тогда, во время установки система попросит вас выбрать раздел жесткого диска. Если он не отформатирован (содержит операционную систему), то удалите раздел и создайте его заново, чтобы получить возможность отформатировать его в желаемую файловую систему. Если раздел не удалять, то Windows будет установлена на текущую файловую систему и опций форматирования предложено не будет. Я рекомендую эти параметры указать, иначе вы рискуете установить систему не на тот раздел, на который задумали <img src=»http://sitefree.ru/images/smilies/icon_wink.gif»>

В файле WINNT.SIF можно указать много различных параметров. Подробнее читайте на этой странице (http://unattended.oszone.net/winntsif_parameters.shtml).

Куда положить WINNT.SIF? В директорию I386 на вашем установочном диске. Если вы создаете диск с помощью XPCreate, то WINNT.SIF можно положить в директорию XPCREATE\FilesCD\I386 и он автоматически будет скопирован в I386 инсталляционного диска, который вы получите по окончании работы программы.

Важное примечание: инсталляционный диск, созданный при помощи файла ответов WINNT.SIFне будет содержать возможностей восстановления системы посредством функции Repair. В принципе, можно сделать dual boot диск с возможностью загрузки либо в автоматическую, либо в обычную установку, но это тема для отдельной статьи (http://unattended.oszone.net/multiboot2.shtml).

Теперь давайте рассмотрим работу пакетных файлов, которые мы будем использовать для автоматизирования различных заданий во время установки Windows.

Пакетные файлы (*. bat или *.cmd)
Прежде чем мы приступим к созданию пакетных файлов для установки любимых приложений и изменений в реестре, вы, вероятно, захотите узнать что же это за файлы и как ими пользоваться.

Пакетные файлы (*.cmd или *.bat) могут быть выполнены на различных стадиях установки Windows. Использование пакетных файлов помогает автоматизировать выполнение нескольких заданий. При этом никакого вмешательства пользователя не требуется.

Эти файлы могут быть выполнены из cmdlines.txt, svcpack.inf, RunOnceEx раздела в Реестре, или из секции [GuiRunOnce] в файле winnt.sif. Мы подробнее разберем различные варианты чуть позже.

Типичное содержимое пакетного файла
Пакетные файлы поддерживают все команды, которые могут быть выполнены из командной строки. Чтобы увидеть командую строку достаточно проделать следующее: Пуск->Выполнить->cmd->ОК

Давайте попробуем сделать простенький пакетный файл. Откройте Блокнот и скопируйте туда следующий текст:

title Batch File Testing
echo Hello World
echo.
echo Starting Notepad
start notepad
echo.
echo Starting Wordpad
start Wordpad
echo.
pause
exit

Сохраните файл с любым именем и в любом месте. Убедитесь, что вы назначили расширение *.cmd (а не .txt, которое Блокнот присвоит по умолчанию). Теперь запустите ваш файл. Вы увидите, что он назначит окну имя «Batch File Testing», запустит Блокнот и WordPad, попросит нажать любую клавишу для продолжения работы и закроет окно.

Что означают команды, использованные в данном файле?

@echo off Скрывает строку C:\> и все команды, используемые в пакетном файле
echo. Создает пробел между строками
echo message Отображает сообщение в окне, исключительно с информационными целями
title Название окна
start Запускает приложение или установочный процесс
pause Отображает сообщение «Press any key to continue…» («Нажмите любую клавишу для продолжения…»
exit Закрывает командную строку

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

start /wait %systemdrive%\install\some_application\setup.exe /ключ /еще ключ

start запустит установку приложения, а /wait дождется ее окончания перед тем, как выполнить установку следующего приложения. Использование /wait очень важно, т.к. в противном случае одновременно запустится установка сразу нескольких приложений и конфликты неизбежны.

Теперь, когда вы имеете представление о том, как работают пакетные файлы, ознакомьтесь со страницей Примеров (http://unattended.oszone.net/examples.shtml).

Во время установки окно, с выполняющимися командами, будет выглядеть так (http://unattended.oszone.net/images/command_line.gif).
Несколько мрачновато, но это можно разнообразить (http://unattended.oszone.net/images/batch_colors.png), сделав фон и шрифт цветными. Цвета задаются в десятичном (hex) исчислении, и формат назначения цветов выглядит как color хх. Первая цифра означает фон, вторая — шрифт. Допустимы следующие значения цветов:

0=Black (черный) 8=Gray (серый)
1=Blue (синий) 9=Light Blue (голубой)
2=Green (зеленый) A=Light Green (светло-зеленый)
3=Aqua (морской волны) B=Light Aqua
4=Red (красный) C=Light Red
5=Purple (фиолетовый) D=Light Purple
6=Yellow (желтый) E=Light Yellow
7=White (белый) F=Bright White

Таким образом для ярко-белого шрифта и голубого фона вы используете color 9F.

Чтобы посмотреть как это выглядит на практике, скопируйте текст в блокнот и сохраните файл как colors.cmd.

cls
@echo off
Title Graphics group is being installed now
color 9F
ECHO Adobe Photoshop 7.0
ECHO ACDSee 6.0.3
PAUSE
Title Internet group is being installed now
color 57
ECHO Stay Connected! 3.5
ECHO MSN Messenger 6.2
PAUSE
EXIT

Примечание: команда PAUSE дана исключительно для того, чтобы можно было рассмотреть все получше. В реальном файле установка пойдет без остановки. В данном примере подается идея группировки приложений по типу (Графика, Интернет) и назначения им различных цветовых групп. Чтобы очистить экран перед каждой группой можно вставлять @CLS перед строкой Title.

cmdlines.txt, svcpack.inf and [GuiRunOnce]
Пакетные файлы могут быть запущены из cmdlines.txt или svcpack.inf, которые будут исполнены на Т-13/Т-12 этапе установки Windows (Т-13 означает 13 минут до окончания установки). cmdlines.txt удобен для таких задач как Добавление Пользователей и АвтоЛогон (http://unattended.oszone.net/autologon.shtml), или для импортирования заранее подготовленных ключей реестра HKEY_CURRENT_USER (http://unattended.oszone.net/registry.shtml#T13) в профиль по умолчанию (Default Profile). svcpack.inf используется для установки хотфиксов, и подробно рассказываю о нем тут. Также, для интеграции хотфиксов можно использовать XPCreate (http://unattended.oszone.net/xpcreate.shtml).

Пример пакетного файла, запущенного из [GuiRunOnce] (скриншот).

Как вы видите, здесь используется комбинация «ECHO» и «ECHO Message». Делать это не обязательно, но рекомендуется, т.к. дает возможность видеть как происходит процесс инсталляции приложений в реальном времени. [GuiRunOnce] запускается при первом входе в систему.

Пример содержимого пакетного файла:

CLS
@echo off
TITLE Windows XP SP1 — Unattended Installation
ECHO.
ECHO Over the next few minutes you will see automated installations
ECHO of various sofware applications, and registry tweaks being
ECHO implemented.
ECHO.
ECHO Removing Wallpapers and Screensavers…
DEL «%systemroot%\*.bmp»
DEL «%systemroot%\Web\Wallpaper\*.jpg»
DEL «%systemroot%\system32\dllcache\*.scr»
DEL «%systemroot%\system32\*.scr»
ECHO.
ECHO Removing useless shortcuts…
DEL «%systemdrive%\Documents and Settings\All Users\Start Menu\Windows Update.lnk»
DEL «%systemdrive%\Documents and Settings\All Users\Start Menu\Set Program Access and Defaults.lnk»
DEL «%systemdrive%\Documents and Settings\All Users\Start Menu\Windows Catalog.lnk»
ECHO.
ECHO Installing TweakUI 2.10 Powertoy
ECHO Please wait…
start /wait %systemdrive%\Install\TweakUI.msi /qn
ECHO.
ECHO Applying Registry Tweaks…
REGEDIT /S %systemdrive%\Install\RegTweaks.reg
ECHO.
ECHO Deleting ASP.NET User Account created by .NET Framework 1.1…
net user aspnet /delete
ECHO.
EXIT

Он производит удаление обоев и скринсэйверов, устанавливаемых по умолчанию системой, а также некоторых ярлыков. Затем устанавливает TweakUI, импортирует ключи реестра и удаляет учетную запись ASP.NET, созданную при установке .NET Framework. Более содержательный файл вы можете посмотреть на странице примеров.

Куда положить пакетные файлы?
Для [GuiRunOnce] вы можете положить их в любую директорию, находящуюся внутри директории $OEM$. Например, если вы кладете batch_file.cmd в $OEM$\$1\Install\, то секция [GuiRunOnce] в winnt.sif будет выглядеть следующим образом:

[GuiRunOnce]
%systemdrive%\Install\batch_file.cmd

Директория Install будет скопирована на системный диск в процессе установки, так что она превратится в C:\Install. Подробнее на странице $OEM$ директории на инсталляционном диске (http://unattended.oszone.net/winntsif.shtml).

cmdlines.txt нужно положить в директорию $OEM$, и Windows автоматически найдет его во время установки. Все пакетные файлы, запускаемые из cmdlines.txt, должны находиться в той же директории, что и cmdlines.txt.

svcpack.inf кладется в директорию I386 на вашем инсталляционном диске (не забудьте удалить svcpack.in_ оттуда). Все пакетные файлы, запускаемые из svcpack.inf, должны находиться в директории I386\svcpack, если только это не прописано иначе в самом файле.

Существует альтернативный метод использования пакетных файлов для установки приложений и импортирования ключей реестра. Главное отличие заключается в графическом интерфейсе, отображаемом в процессе выполнения заданий. Вместо командной строки пользователь видит красивое окошко (http://unattended.oszone.net/images/runonceex.png), в котором наглядно показан прогресс работы. Конечно, есть различия и в командах. О том как это делается читайте тут (http://unattended.oszone.net/RunOnceEx.shtml).

Подведем промежуточный итог. Вы уже многое проделали: скопировали содержимое инсталляционного диска в C:\XPCD, поготовили $ОЕМ$ директории, создали файл ответов winnt.sif, и получили представление о работе пакетных файлов. Далее вы можете узнать как с установочного диска можно

импортировать ключи реестра (http://unattended.oszone.net/registry.shtml)
установить приложения (http://unattended.oszone.net/progs.shtml)
установить драйверы (http://unattended.oszone.net/drivers.shtml)
сделать прочие добавления к операционной системе (http://unattended.oszone.net/additions.shtml)
интегрировать обновления и заплатки, выпущенные Microsoft (http://unattended.oszone.net/hotfixes.shtml)
Последний пункт лучше применять только для критических обновлений из соображений экономии места на диске и времени при установке системы. Отмечу, что использование программы XPCreate (http://unattended.oszone.net/xpcreate.shtml) вполне удачно автоматизирует интеграции обновлений.

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

Создание CD
После того, как вы подготовите инсталляционный диск, дважды проверьте все ли правильно, включая файл ответов winnt.sif, все пакетные файлы, svcpack.inf и все остальное, что вы захотели туда включить.

Виртуальные машины

Весьма вероятно, что вы сделали ошибки, т.к. с первого раза все не все получается, как задумано. Лучшим способом проверить ваш диск будет виртуальная машина (VMWare или VirtualPC). Вы просто сэкономите деньги на CD болванках, а даже если вы пишете на RW, то лишнее форматирование вашему жесткому диску ни к чему. Виртуальные машины – это приложения, эмулирующие «железо» и позволяющие установить операционную систему, не затрагивая ваши существующие логические диски.

И VMWare (http://www.vmware.com/) и VirtualPC (http://www.microsoft.com/windowsxp/virtualpc/) подерживают ISO образы.

Использование утилиты CDImage от Microsoft для создания ISO образа

CDImage – это приложение, работающее из командной строки, разработанное Microsoft для создания ISO образа из директории, содержащей поддиректории и файлы. Мы собрали в один архив CDImage, файл boot.bin, делающий ваш CD загрузочным и командый файл, который содержит все необходимые ключи для изготовления ISO образа. В итоге, получилась утилита, создающая ISO образ одним кликом мыши.

Скачать: CDImage for Windows XP Professional (http://unattended.oszone.net/files/CDImage_Pro.zip)
Скачать: CDImage for Windows XP Home (http://unattended.oszone.net/files/CDImage_Home.zip)

Если вы не доверяете моему переводу, то прочитайте readme.txt, содержащий инструкции, которые я излагаю ниже.

ISO Creator for WinXP Pro.cmd предполагает, что ваши файлы находятся в C:\XPCD\. а еще точнее в C:\XPCD\i386\. Если вы положили файлы в другую директорию, то отредактируйте файл в Блокноте соотвествующим образом.
Файл ISO Creator for WinXP Pro.cmd может быть запущен откуда угодно при условии, что CDIMAGE.exe и xpboot.img находятся в одной с ним директории.
После запуска ISO Creator for WinXP Pro.cmd файловые атрибуты «Скрытый» и «Только для чтения» снимаются с директории C:\XPCD, а также всех поддиректорий и файлов, находящихся в ней. По окончании работы программы в корневом каталоге диска C: создается ISO образ WXPFPP_EN.iso
Либо прожгите образ на CD, используя Nero или Easy CD Creator, либо смонитируйте образ в виртуальной машине для тестирования.
С альтернативным и более долгим методом создания загрузочного диска можно ознакомиться на английском на The Elder Geek (http://www.theeldergeek.com/slipstreamed_xpsp1_cd.htm) или на Windows Help.net (http://www.windows-help.net/windowsxp/winxp-sp1-bootcd.html), и на русском у Ginger (http://polygon.iphosting.ru/win/bootcdxp.php).

Примечания

Не рекомендуется использование программ WinISO, UltraISO и аналогичных им для редактирования ISO образа, т.к. существует риск повредить образ.

Некоторые участники форума MSFN.org сообщали, что VirtualPC не поддерживает ISO образы DVD дисков объемом свыше 2 Гб. Обойти эту проблему можно смонтировав образ при помощи других программ (DaemonTools, Alcohol 120%). После монтирования образа используйте функцию Capture Host Drive <driveletter>:» в Virtual PC.

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты