Автоматизация установки WindowsЗнание - сила Не любит среднестатистический пользователь заглядывать
во всяческие справки, «хелпы», «доки», «ридми» и «хауту». Не просто
не любит, а категорически не любит! Избаловали его интуитивно понятные
и предельно простые в управлении и настройке операционные системы семейства
Windows. Возможно, именно это стало одной из причин непопулярности среди
широких масс юзеров UNIX-подобных ОС, в которых неподготовленному пользователю
разобраться можно, только осмыслив приличную гору скучной, написанной
малопонятным языком литературы, часто годной только в качестве эффективного
снотворного средства. Но нежелание что-то читать приводит порой к гораздо
большей потере времени и сил, чем те несколько десятков минут, что пользователь
мог бы потратить на вдумчивое изучение документации. Знание – сила,
как ни крути. Сценарий установки Итак, основное, но не единственное назначение файла MSBATCH.INF –
автоматизация процесса инсталляции ОС. То есть вы заранее вносите в
него ответы на все вопросы, которые задаются пользователю при установке
системы, и SETUP более вас не донимает, требуя ввода CD-Key или выбора
списка тем Рабочего Стола, получая все эти данные уже не от пользователя
в интерактивном режиме, а из заготовленного юзером файла ответов. Файл
этот представляет собой самый обычный текст, составленный по незамысловатым
правилам – главное, чтобы размещался он в папке с дистрибутивом Windows
и имел соответствующее наименование. В принципе, программе установки
ОС SETUP.EXE можно указать путь к этому сценарию, даже если он находится,
например, на дискете – для этого достаточно ввести команду «SETUP.EXE
A:\MSBATCH.INF», но удобнее всего, конечно, записать его на CD-R вместе
с дистрибутивом, программами и драйверами (установка специфических драйверов,
не входящих в состав Windows также возможна уже на стадии инсталляции
ОС – об этом ниже). Структура файла вполне обычная для Windows – ряд
разделов со строго заданными названиями, заключёнными в квадратные скобки
и внутри каждого раздела - список параметров (их имена также строго
определены) со значениями. Необрабатываемые системой комментарии предваряются
точкой с запятой. Параметров и разделов в нём предусмотрено немало,
обо всех подробно рассказать практически нереально, но для каждого пользователя
это и не требуется – для повышения эффективности работы на домашнем
компьютере вполне хватит знаний о его базовых функциях. [Version] - это обязательный заголовок для INF-файла Windows 9x, далее оставляем пустую строку и вводим заголовок первой секции, отвечающей за основные параметры инсталляции ОС: [Setup] - внутри этого раздела содержится набор параметров, управляющих непосредственно процессом установки системы и эквивалентных ответам на вопросы программы SETUP, а также ряд специфических ключей, влияющих на скорость установки ОС, задать которые можно только с помощью файла MSBATCH.INF. Если какой-либо параметр не прописан явным образом, то используется значение по умолчанию. Поскольку мы ставим своей задачей полностью автоматизировать инсталляцию Windows, то прописываем ниже следующие параметры: Express=1 1 – полностью автоматическая установка, к пользователю у программы установки нет никаких вопросов, 0 – полуавтоматическая установка, при которой пользователю разрешается изменять или подтверждать параметры, заданные в MSBATCH.INF (по умолчанию). NoDirWarn=1 1 – установка ОС в уже имеющуюся папку Windows без предупреждения, 0 – подтверждение выбора папки пользователем (по умолчанию) InstallDir=C:\WIN путь к папке, куда будет установлена ОС, по умолчанию - C:\WINDOWS EBD=0 0 – запрещает создание загрузочной дискеты, 1 – разрешает (по умолчанию) ChangeDir=0 0 – запрещает пользователю менять директорию, в которую устанавливается Windows (по умолчанию), 1 – разрешает OptionalComponents=1 1 – разрешается произвольный выбор компонентов ОС (по умолчанию), 0 – компоненты определяются типом установки системы, диалог выбора компонентов не выводится CCP=0 0 – не искать предыдущую версию Windows, 1 – искать (по умолчанию) CleanBoot=1 1 – отключает возможность апгрейда существующей на диске версии Windows, производится чистая установка, 0 – разрешает апгрейд (по умолчанию) Display=0 0 – не выводить во время установки на экран никаких диалоговых окон, 1 – выводить (по умолчанию) InstallType=3 тип установки: 0 – минимальная, 1 – обычная (по умолчанию), 2 – на переносной ПК, 3 – выборочная. DevicePath=1 1 – разрешает программе установки ОС искать не входящие в состав Windows INF-файлы драйверов устройств в папке с дистрибутивом – это позволяет интегрировать нужные драйвера прямо в дистрибутив ОС, 0 – запрещает (по умолчанию) Uninstall=0 0 – при наличии предыдущей версии Windows в случае её апгрейда не будет создаваться архив системных файлов для отмены обновления ОС, 1 – пользователь выбирает, сохранять возможность удаления Windows или нет (по умолчанию), 5 – автоматически создается архив. ProductKey="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX" CD-Key вашего диска ShowEula=0 0 – не выводить лицензионное соглашение, 1- выводить (по умолчанию) TimeZone="Russian" установка временной зоны
0 – перезагрузка с разрешения пользователя (по умолчанию), 1 – перезагрузка без запросов к пользователю Это основные параметры раздела [Setup]. Далее же следует ещё один чрезвычайно важный раздел, в котором задаются региональные установки, и для России в нём должны быть следующие параметры: [System]
Установка данных параметров обязательна, поскольку полноценную поддержку кириллицы в англоязычных версиях Windows можно установить только на этапе инсталляции ОС. Но тут имеет место быть одна очень неприятная то ли «фича», то ли «бага». В любых вариантах Windows 98 и в локализованной русской версии Windows Me проблем с автоматической установкой кириллических параметров нет. А вот пан-европейская Windows Me почему-то никак не хочет воспринимать региональные установки из MSBATCH.INF (если знаете почему – сообщите мне, пожалуйста), и системную локаль таким способом сменить не удаётся. Поэтому, если вы поклонник англоязычных Windows, то известных мне решения этой проблемы два: либо ни в коем случае не выбирайте полностью автоматическую установку – всегда задавайте параметр Express=0 в разделе [Setup] чтобы иметь возможность выставить регион и временную зону вручную, остальные же параметры при этом останется только подтвердить. Либо распакуйте файл PRECOPY1.CAB из дистрибутива Windows во временную папку, после чего найдите в ней файлы LOCALE.INF, MULTILNG.INF и CONTENT.INF. В первом из них нужно заменить строки Default_Locale="L0409" на Default_Locale="L0419" Resource_Locale="00000419" Во втором – строку Default_Keyboard="KEYBOARD_00000409" на Default_Keyboard="KEYBOARD_00000419" И в третьем Default_Content="244" на Default_Content="203" Теперь нужно снова создать файл PRECOPY1.CAB, но уже с изменёнными
нами файлами. В крайнем случае, просто поместите эти три файла в папку
с дистрибутивом Windows - к ним программа установки обратится в первую
очередь вместо архива PRECOPY1.CAB. В результате во время инсталляции
Windows по умолчанию будет выбран регион – «Россия» и с поддержкой кириллицы
при полностью автоматической установке проблем более не будет. DisplChar=16,1024,768 Поскольку параметров MSBATCH.INF очень много, то все их упомянуть просто невозможно, так что подробнее о работе с файлом сценария настоятельно советую почитать всё в той же документации Windows 98 Recource Kit – это обычный (но очень большой) файл справки с названием rk98book.chm в папке Win98\Tools\Reskit\Help компакт-диска Windows 98. Либо практически исчерпывающую информацию по всем возможностям применения файла MSBATCH.INF даже с наглядными примерами вы найдёте в Интернете. Но идём дальше. Нам необходимо ещё выбрать компоненты ОС, которые мы будем устанавливать – программы и системные утилиты из состава Windows. Для этого также имеется специальный раздел, который нужно определённым образом заполнить. Выглядит это примерно так: [OptionalComponents] и так далее. Как видите, здесь просто перечисляются все компоненты Windows, а значение 1 или 0 показывает, будет устанавливаться компонент или нет. Причём написание каждого параметра буква в букву соответствует тому, как звучит в диалоге «Установка и удаление программ» - «Установка Windows» название соответствующего компонента системы. Поэтому для заполнения этого раздела достаточно просто списать оттуда все названия, тем более что набор системных утилит существенно различается в Windows 98 и Windows Me и универсального списка не существует. При этом в русской версии почти все они называются по-русски, поэтому и в файл MSBATCH.INF их следует писать на «великом и могучем»: [OptionalComponents] И, наконец, осталось заполнить последние разделы. Чтобы программа SETUP не пыталась устанавливать принтер, надо создать пустой, без параметров раздел [Printers]. Также нам нужно задать имя пользователя и место его работы: [NameAndOrg] - здесь последний параметр, как и в разделе [Setup], предотвращает
появление на экране диалогового окна выбора имени пользователя при установке
ОС. Дело в том, что даже если вы выбираете полностью автоматическую
установку, то некоторые диалоговые окна всё равно будут мелькать на
экране, сами собой с него и пропадая, на что, всё-таки, тратится некоторое
время, поэтому лучше их отключить. Вообще говоря, параметр Display=0
можно прописать в каждый раздел, поскольку практически везде он работоспособен
и поможет избавиться от лицезрения диалогов, соответствующих содержанию
этих разделов. [Network] Таким образом, процесс инсталляции и частично настройки ОС полностью описан. Но, как вы хорошо знаете, на самом первом, текстовом этапе установке Windows проводится целый ряд не самых нужных тестов, которые опять-таки могут обращаться с запросами к пользователю, да и времени на своё проведение отнимают немало. Поэтому, дабы довершить картину полной автоматизации инсталляции ОС, сделаем ещё так, чтобы при запуске программы установки не проверялись ни диск, ни реестр, ни память. Для этого создадим ещё один вспомогательный файл SETUP.BAT примерно со следующим содержанием: SETUP /NM /ID /IM /IW /IS /IE /IH /NF где /IM - отмена проверки памяти Именно эти командным файлом и следует теперь запускать установку Windows. В результате с момента появления сообщения о том, что до завершения установки осталось 60 минут, до заверений, что надо потерпеть еще 28 минут, проходит всего несколько секунд, не говоря уже о том, сколько экономится времени благодаря отмене проверки диска на текстовом этапе инсталляции ОС. Утилиты Возможно, несмотря на все заманчивые перспективы подобного трюка,
кому-то процедура создания даже такого примитивного файла как MSBATCH.INF
покажется сложной, запутанной и неудобной – писать «конфиги» вручную
наш юзер не привык. Что ж, могу вас обрадовать: составлять его целиком
в Блокноте совсем не обязательно, поскольку Microsoft абсолютно бесплатно
распространяет специальную утилиту для его генерирования и редактирования
– Batch 98. Она не только проставит все необходимые для установки ОС
параметры в MSBATCH.INF, но и предоставит чрезвычайно удобный интерфейс
для осуществления кое-каких предварительных настроек Windows посредством
этого сценария. Например, настроить сеть с её помощью так же просто,
как в самой Windows – не нужно даже знать соответствующие параметры
файла MSBATCH.INF. Но… Дело в том, что, как видно из названия, написана
она была под 98-ю версию Windows, поэтому, к сожалению, в «Миллениуме»,
всё-таки, придётся немного подкорректировать созданный с её помощью
MSBATCH.INF из-за некоторых отличий этих двух систем. Например, надо
будет исправить параметры раздела [OptionalComponents], поскольку и
набор системных утилит разный в разных версиях Windows, и названия одной
и той же программы иногда отличаются. Так что без начальных знаний правил
работы с этим файлом, всё-таки, не обойтись. Утилиту эту несложно найти
в Интернете, либо установить её с компакт-диска Windows 98 – от неопытных
пользователей она скрывается в папке Win98\Tools\Reskit\Batch. Настройка до установки Но самая большая ценность файла MSBATCH.INF, думается мне, состоит
не в основном его предназначении, а в том, что его можно использовать
для тонкой настройки Windows, поскольку с помощью этого файла не очень
сложно ещё на стадии установки ОС внести любые записи в системный реестр
и конфигурационные файлы ОС, а также копировать, удалять, переименовывать
любые файлы на диске! Не нравятся значки, которые по задумке Microsoft
располагаются на рабочем столе сразу после установки ОС – удаляем любой
из них. Раздражает вступительный клип Windows – отменяем его запуск.
Хочется, чтобы на Рабочем Столе сразу оказались любимые обои – да ради
Бога! Надо внести изменения в файл MSDOS.SYS для отмены загрузки ненужных
драйверов – и это Windows сделает самостоятельно, следуя инструкциям,
заданным в файле MSBATCH.INF. В итоге не только время инсталляции ОС
сокращается раза в полтора-два, но и Windows оказывается полностью настроенной
сразу же после завершения её установки! А ведь на подгонку системы под
свои вкусы и потребности даже самый грамотный пользователь обычно затрачивает
не один час времени, да и программ-ускорителей Windows при этом приходится
устанавливать вагон и маленькую тележку. [Install] [WelcomeDelete] Раздел [Install] предназначен специально для выполнения самых разных операций, и одной командой «DelReg» дело не ограничивается – имеется возможность помещать в него сразу несколько команд, например, ещё и «AddReg» для добавления параметров в реестр, «CopyFiles» для копирования фалов в заданную директорию, «RenFiles» для переименования файлов, «DelFiles» для удаления файлов, «UpdateINIs» для внесения изменений в системные INI-файлы, «UpdateCfgSys» и «UpdateAutoBat» для изменения файлов Config.sys и Autoexec.bat соответственно и некоторые другие. Весьма доходчивые примеры использования всех этих команд вы найдёте на страничке http://www.bootix.com/germany/support/faq/win95/index.shtml. Я же продемонстрирую лишь ещё один конкретный образец - как вносятся изменения в MSDOS.SYS для отключения протоколирования загрузки ОС, отмены двойной буферизации и использования драйверов DoubleSpace и DriveSpace. В этом случае секция [Install] нашего файла сценариев расширится ещё на одну строку, приняв вид: [Install] и добавится ещё один подраздел с перечнем вносимых в раздел [Options] файла MSDOS.SYS параметров: [UpdateMSDosSys] Как видите, здесь вместо указания явным образом пути к файлу MSDOS.SYS применён специальный код «%30%», обозначающий корневую директорию системного диска. Подобные коды имеют около 30 системных папок и предназначены они для исключения ошибок в случае, когда, например, «виндовая» папка названа пользователем не «Windows» а «Win». Прописав в MSBATCH.INF вместо «C:\Windows» её код – «%10%» вы перестаете зависеть от фактического наименования этой папки и её расположения на дисках. В принципе, это, конечно, не каждому пользователю по плечу – для настройки ОС вносить вручную изменения в MSBATCH.INF по каждому разделу реестра. Но и тут есть небольшой трюк, многократно облегчающий нашу задачу. Я предлагаю следующую технологию: 1. произвести чистую установку Windows на диск, ничего не меняя в её
конфигурации после установки Можно, конечно, не возиться более с MSBATCH.INF и использовать полученные в Ashampoo инсталляционные файлы напрямую, уже после установки Windows, но это противоречит нашей главной на сегодня цели – полной автоматизации установки и настройки ОС. Поэтому мы возьмём полученный в Ashampoo REG-файл (назовем его Tuning.reg) и сделаем так, чтобы он импортировался в реестр сам, без нашего вмешательства. Для этого удобнее всего использовать утилиту Batch 98 – одной из её опций (кнопка Advanced Options) как раз и является внесение в реестр параметров из REG-файлов посредством соответствующих команд в MSBATCH.INF. Если после использования Batch 98 вы заглянете в файл сценария, то обнаружите в нём такие новые строки: [Install] (команда на копирования файла); [regfile.copy] (имя нашего REG-файла с настройками Windows); [DestinationDirs] (куда его копировать – 10 это код папки Windows); [RegistrySettings] (наш REG-файл импортируется в реестр посредством утилиты REGEDIT, запуск которой прописывается в раздел RunOnce реестра). Таким образом, мы добились того, что при установке ОС от пользователя требуется только запустить файл SETUP.BAT – вся установка и дальнейшая настройка Windows происходит без какого-либо вмешательства со стороны человека. Единственное, что останется пользователю сделать – это нажать кнопку «ОК» в диалоге выбора пароля при первой загрузке Windows. Но при большом желании и этот диалог легко убирается, если с помощью все того же MSBATCH.INF добавить в реестр параметр HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Network\ Но при этом будет отключена функция сохранения паролей Windows, и если понадобится, например, чтобы система запоминала логин и пароль Интернет-доступа, то этот параметр придётся убрать. Сфера применения всей этой технологии не ограничивается удовлетворением собственного любопытства и созданием максимальных удобств для своей любимой персоны. Например, часто ли вас, как большого компьютерного специалиста, близлежащие соседи и соседки просят переустановить им ОС? Если такое случается, то без специального загрузочного диска с дистрибутивом, созданным на основе моих рекомендаций, вам просто не обойтись! Достаточно в файл AUTOEXEC.BAT загрузочного компакт-диска поместить вызов нашего SETUP.BAT (а можно и FORMAT C: :)), как ваше личное присутствие при установке ОС более не потребуется – «чайника» всего лишь надо будет научить загружать ПК с CD-ROM и у него не останется никаких шансов что-либо испортить ни во время установки ОС ни при её настройке – все будет сделано в автоматическом режиме. На худой конец, во время установки «Форточек» у вас с соседкой просто окажется лишних пара часов свободного времени для более увлекательных занятий, чем набивание на клавиатуре ненавистного CD-Key. Так-то! |
© 2004 x-soft2.narod.ru |