Sysprep

Sysprep — это служебная программа для подготовки операционной системы Microsoft Windows к развёртыванию и клонированию[1]. Sysprep позволяет создать эталонный образ Windows, исключая уникальные параметры установки (такие как идентификаторы компьютера и пользователя), для последующего массового развёртывания на других машинах.

Изначально утилита предназначалась для работы с Windows NT 4.0, но поддержка была реализована и для более поздних версий, включая Windows XP, Windows Vista, Windows 8 и др. Sysprep помогает избежать проблем, возникающих при клонировании образов Windows на различные компьютеры.

Что важно знать
Sysprep
Тип служебная программа для развертывания ОС
Разработчик Microsoft
Операционная система Microsoft Windows
Первый выпуск 1996
Лицензия проприетарная

Проблемы, возникающие при клонировании носителя

  • Отсутствие или некорректное определение жёстких дисков или SSD;
  • Некорректная слой абстракции оборудования;
  • Отсутствие драйверов для некоторых устройств;
  • Повторяющиеся имена компьютеров в сети;
  • Ошибки при распознавании ПК в доменной среде: проблема возникает из-за одинакового идентификатора (SID), который используется для идентификации рабочей станции;
  • Потеря дискового пространства: например, если развернуть образ на 10 ГБ на носителе 40 ГБ, используется только 10 ГБ, остальное пространство теряется, если не воспользоваться параметром ExtendOemPartition=1 в файле sysprep.inf;
  • Некоторые ноутбуки, оснащённые жёсткими дисками SATA, не поддерживают стандартную установку Microsoft Windows XP или установку с помощью Sysprep. Это касается и всех контроллеров, не распознаваемых Windows XP «из коробки». Для решения требуется добавить в Sysprep параметры OEMMassStorage.

Использование Sysprep в Windows NT 4.0 и Windows Server 2003

Для запуска Sysprep необходимо:

  • Извлечь утилиту из архива deploy.cab с установочного CD Windows или скачать обновлённый пакет средств развёртывания с сайта Microsoft. Deployment Tools доступны для Windows NT 4.0, Windows 2000, Windows XP SP1/SP2 и Windows Server 2003, а также в виде компонентов OPK (OEM PreInstallation Kit) или ADK;
  • Создать папку Sysprep в корне системы и скопировать туда файлы sysprep.exe, setupcl.exe и factory.exe;
  • Использовать «Setup Manager» (setupmgr.exe) для генерации файла ответов Sysprep (обычно называется unattended). В зависимости от версии инструментов файл будет называться либо sysprep.inf, либо unattended.txt;
  • Сохранить файл как Sysprep.inf в каталоге Sysprep.

Далее sysprep.exe можно запустить вручную из командной строки для настройки параметров Sysprep через графический интерфейс (GUI). Это подготовит Windows к первому запуску — «опыт после распаковки» (OOBE, Out-Of-Box Experience).

В Windows XP это может быть окно приветствия или функция Mini-Setup.

Mini-Setup использует параметры из sysprep.inf. Приветствие Windows использует сведения из winbom.ini в качестве файла ответов.

Дополнительную информацию можно найти в файлах помощи ref.chm и deploy.chm, которые находятся в архиве deploy.cab или в пакете средств развёртывания.

Использование Sysprep в Windows Vista (RC1/2/Final)

Назначение

  • Подготовка компьютера к продаже (клиент должен лишь ввести ключ продукта и т. д.);
  • Подготовка ПК к созданию образа (можно использовать файл ответов для автоматизации процедуры).

Основы использования

  • Запуск:

В Windows Vista запуск производится через командную строку:

 C:\Windows\system32\sysprep\sysprep.exe /generalize /oobe

Эта команда удаляет индивидуальные данные и готовит систему к новому запуску (/generalize) и инициирует мастер первоначальной настройки пользователя (/oobe).

  • Использование файла ответов:

Для автоматизации процесса желательно указать файл ответов с помощью дополнительного параметра:

 C:\Windows\system32\sysprep\sysprep.exe /generalize /oobe /unattend:c:\sysprep.xml

Создание sysprep.xml

Для автоматической генерации такого файла Microsoft рекомендует использовать BDD 2007, однако можно воспользоваться и существующими примерами из Интернета. Как правило, для этого используется файл unattend.xml, применяемый для установки Windows Vista, переименованный в sysprep.xml.

Рекомендуется обеспечить:

  • Корректную структуру XML (желательно использовать XML-редактор);
  • Отсутствие пустых XML-элементов, так как это приводит к ошибкам.

При указании файла ответов (название может быть любым), Vista копирует его в C:\Windows\Panther\unattend.xml; исходный файл становится неактуальным. После этого все изменения будут вноситься в Panther\unattend.xml.

Программа установки Windows Vista ищет файлы unattend.xml или autounattend.xml в семи различных местах, четвёртое — C:\Windows\Panther\unattend.xml.

Пример файла sysprep.xml (без гарантии работоспособности):

<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
 <settings pass="specialize">
  <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" 
     language="neutral" versionScope="nonSxS" processorArchitecture="x86">
   <ComputerName>JohnWayne</ComputerName>
   <ProductKey>AAAAA-AAAAA-AAAAA-AAAAA-AAAAA</ProductKey>
   <TimeZone>Central European Standard Time</TimeZone>
  </component>
 </settings>
 <settings pass="oobeSystem">
  <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" 
     language="neutral" versionScope="nonSxS" processorArchitecture="x86">
   <FirstLogonCommands>
    <SynchronousCommand wcm:action="add">
     <Order>1</Order>
     <CommandLine>C:\runonce.cmd</CommandLine>
     <Description>RunOnce Command</Description>
    </SynchronousCommand>
   </FirstLogonCommands>
  </component>
 </settings>
</unattend>

Возможные сложности

  • Если не добавить /generalize при запуске Sysprep, клоны будут выдавать сообщение об ошибке загрузчика (bootloader) о том, что файл winload.exe повреждён или отсутствует. Для исправления требуется загрузиться с DVD Windows Vista, выбрать опцию «Восстановление» вместо установки, после чего система обнаружит ошибку и предложит её исправить — после перезагрузки ошибка исчезает.
  • В случае некорректного XML Vista выдаёт сообщение об ошибке, не указывая, где именно находится проблема; пустые элементы XML вызывают аналогичные ошибки.
  • Неправильно указанная ключ продукта в файле ответов приводит к критической ошибке Sysprep.
  • Не рекомендуется изменять c:\sysprep.xml после загрузки образа; изменения надо делать в c:\windows\panther\unattend.xml, куда копируется исходный файл.
  • В Windows PE 2.0 для присвоения сетевого диска необходима команда:
 net use S: \\Server\Share /user:Server\User Password
  • В Windows Vista и Windows 7 запустить Sysprep можно максимум три раза. Четвёртый запуск приводит к критической ошибке; к тому же по умолчанию после этого блокируется локальная учётная запись администратора[2].

Необходимое ПО и материалы

  • Загрузочный CD Windows PE 2.0;
  • ImageX.exe (для создания и развёртывания образов, работает только в Windows PE);
  • Пример файла sysprep.xml либо комплект Microsoft Windows WAIK с мастером Windows System Image Manager для его создания.

Примечания

Ссылки