Нередко возникает необходимость в добавлении собственных файлов в состав устанавливаемой операционной системы. Это можно сделать различными способами.
Внимание! Не используйте эти способы для замены системных файлов, поскольку это может привести к неправильной работе операционной системы.
На этой странице
Добавление файлов в системный образ
Достаточно простым способом включения собственных файлов в дистрибутив Windows является их добавление в системный образ с помощью утилиты ImageX. ImageX представляет собой средство командной строки Windows, с помощью которого можно создавать файлы образа Windows (WIM-файлы) и управлять ими. С помощью этой утилиты можно, например, подключить образ Windows, добавить необходимые файлы, а затем сохранить текущий образ. Именно этим мы и займемся далее.
Примечание. Недостаток этого способа в том, что для обновления или удаления добавленных файлов требуется много времени (относительно $OEM$ папок, например). Кроме того, при использовании этого способа существует вероятность повреждения системного образа, что может привести к проблемам с установкой или работой ОС.
Допустим, мы хотим добавить собственный логотип в свойства системы. Для этого нужно разместить логотип в любой папке (как правило, используется папка %SystemRoot%\System32) и указать к нему путь в файле ответов. Чтобы добавить логотип в папку System32, нужно подключить WIM-образ Windows.
Подключение образа Windows
В меню Пуск последовательно щелкните Все программы, Microsoft Windows AIK и Утилиты командной строки Windows PE. В командной строке введите команду, указав параметры, соответствующие вашей ситуации:
imagex /mountrw C:\VistaWork\DVD\sources\install.wim 4 C:\VistaWork\Mount
В этой команде:
- /mountrw - указывает утилите ImageX подключить образ с возможность чтения и записи.
- C:\VistaWork\DVD\sources\install.wim - путь к WIM-файлу образа.
- 4 - индекс образа (подробнее об индексах образа см. здесь).
- C:\VistaWork\Mount - путь к папке, в которую будет подключен образ.
После подключения образ будет доступен в виде обычной папки Windows, которую можно открыть в Проводнике. Поскольку образ подключен с возможностью записи, в папку можно копировать файлы.
Копирование файлов в подключенный образ
В нашем случае требуется разместить файл с именем, скажем, mylogo.bmp в папке %SystemRoot%\System32. Для этого достаточно открыть в подключенном образе папку Windows\System32 и скопировать туда заранее подготовленный файл с логотипом.
Точно так же в образ можно добавить другие файлы (например, привычный вам набор утилит командной строки).
Сохранение образа
Для сохранения образа также требуется всего одна команда:
imagex /unmount /commit C:\VistaWork\Mount
В этой команде:
- /unmount - отключение образа.
- /commit - сохранение изменений в образе (если этот параметр не указан, образ будет отключен без сохранения изменений).
- C:\VistaWork\Mount - путь к папке, в которую подключен образ.
Процедура отключения образа при сохранении изменений в нем может занять некоторое время. Наберитесь терпения и не прерывайте процесс.
Дополнительную информацию об утилите ImageX вы найдете в справочном файле "Руководство пользователя по пакету автоматической установки Windows (WAIK)", входящем в состав WAIK.
Добавление файлов с помощью $OEM$ папок
Хотя этот метод не является предпочтительным с точки зрения Microsoft (начиная с Vista, рекомендуется использовать образы данных), он поддерживается.
Принцип работы $OEM$ папок
$OEM$ папки - это папка с названием $OEM$ и содержащиеся в ней подпапки, также имеющие особые названия, которые распознаёт программа установки Windows. Удобство $OEM$ папок заключается в том, что во время установки ОС их содержимое автоматически копируется в заданные папки на жестком диске. Проще всего объяснить это на примере.
Допустим, вы хотите добавить собственный набор утилит командной строки в папку %SystemRoot%\System32, чтобы их можно было запускать из командной строки, не указывая полный путь. Папка %SystemRoot% (или %WinDir%) - это папка Windows, расположенная на системном диске. В структуре $OEM$ папок ей соответствует папка с названием $$. Если создать в папке $$ подпапку System32, а в ней в свою очередь разместить утилиты командной строки, все они будут скопированы в папку %SystemRoot%\System32 во время установки системы.
Список поддерживаемых $OEM$ папок
Внимание!Начиная с Windows Vista не поддерживаются некоторые $OEM$ папки, которые поддерживались в Windows XP. Полный список папок, заимствованный из справочной документации, приводится ниже.
Папка | Определение | Поддерживается |
$OEM$ | Содержит все дополнительные папки и файлы для автоматической или настраиваемой установки. | Да |
\$OEM$\$$ | Содержит файлы, которые программа установки Windows копирует в папку %WINDIR% (например, C:\windows) во время установки. | Да |
\$OEM$\$$\System32 | Содержит файлы, которые программа установки Windows копирует в папку %WINDIR%\System32 во время установки. | Да |
\$OEM$\$1 | Представляет собой корневой каталог диска, на котором устанавливается Windows (также называемый загрузочным разделом), и содержит файлы, которые программа установки Windows копирует в загрузочный раздел во время установки. | Да |
\$OEM$\$1\Pnpdrivers | Содержит новые или обновленные драйверы самонастраивающихся устройств. Пользователь указывает имя папки в файле Unattend.xml для автоматической установки. Например, эту папку можно назвать \$OEM$\$1\Pnpdrvs. | Да |
\$OEM$\буква_диска\подпапка | Подпапка диска, содержащая файлы, которые программа установки Windows копирует в подпапку во время установки. В каталоге $OEM$\буква_диска могут находиться несколько таких папок, например \$OEM$\D\MyFolder. | Да |
\$OEM$\$1\SysPrep | Содержит файлы для установки с помощью программы sysprep. | Нет |
\$OEM$\$Docs | Содержит файлы, которые программа установки Windows копирует в папку %DOCUMENTS_AND_SETTINGS% во время установки. | Нет |
\$OEM$\$Progs | Содержит программы, которые программа установки Windows копирует в папку %PROGRAM_FILES% во время установки. | Нет |
\$OEM$\$Progs\Internet Explorer | Содержит файл параметров для настройки обозревателя Internet Explorer. | Нет |
\$OEM$\Textmode | Содержит обновленные драйверы запоминающих устройств и файлы аппаратно-зависимого уровня, необходимые на текстовом этапе установки. | Нет |
\$OEM$\$$\Help | Содержит специальные файлы справки, которые программа установки Windows копирует в папку %WINDIR%\Help во время установки. | Нет |
Создание и размещение $OEM$ папок
Сначала создается папка с названием $OEM$, а в ней необходимые вам подпапки, в которые затем можно добавить собственные папки и файлы. Существует два способа размещения $OEM$ папок: официальный и недокументированный. Второй из них проще и лишен недостатка, имеющегося у первого способа.
Недокументированный способ
Об этом способе сообщил участник конференции OSZone Boa Soft. При включении в состав установочного DVD-диска $OEM$ папки размещаются в корне папки sources. На скриншоте показан пример структуры $OEM$ папок, включенных в состав установочного диска.
Во время установки $OEM$ папки будут скопированы на жесткий диск вне зависимости от того, используется файл ответов или нет.
Официальный способ
Главный недостаток официального способа в том, что во время установки на жесткий диск копируется все содержимое носителя, на котором размещены $OEM$ папки (подробнее об этом в конце статьи).
При включении в состав установочного DVD-диска $OEM$ папки размещаются в его корне. Другими словами, папка $OEM$ расположена на одном уровне с папкой sources. На скриншоте изображен пример структуры $OEM$ папок, включенных в состав установочного диска.
Для того чтобы $OEM$ папки автоматически скопировались на диск во время установки системы, необходимо задать всего один параметр в файле ответов. Если вы следовали статьям сайта, и у вас уже имеется базовый файл ответов, в нем к проходу windowsPE уже добавлен компонент Microsoft-Windows-Setup. У этого компонента есть параметр UseConfigurationSet, для которого необходимо указать значение true.
Параметр указывает программе установки использовать набор конфигурации, которым и являются $OEM$ папки. Подробнее о наборах конфигурации и $OEM$ папках вы можете узнать из справочного файла "Руководство пользователя по пакету автоматической установки Windows (WAIK)", входящего в состав WAIK.
Важное примечание об официальном способе
Если параметр UseConfigurationSet имеет значение true, все содержимое носителя, на котором находятся $OEM$ папки, копируется на жесткий диск в папку %SystemRoot%\ConfigSetRoot. Другими словами, если $OEM$ папки расположены на установочном DVD, все содержимое этого диска будет скопировано на жесткий диск. На практике это означает более длительную установку Windows и потерю нескольких гигабайт свободного пространства на физическом диске. Безусловно, эту папку можно удалить по окончании установки, высвободив место на диске, но с тем временем, которое будет затрачено на копирование содержимого установочного диска, ничего поделать нельзя.