
Наиболее частые ошибки Sysprep.
06.10.2018В статье описываются некоторые ошибки Sysprep — встроенного инструмента Windows для «редактирования» и «перевозки» системы. Инструмент мало изучен обычными пользователями, а потому ошибки, возникающие при работе с этой полезной программой, я выделил в отдельную статью. Всем, наверное, не помогу, но чем богат, и что нарыл — поделюсь.
Запуск Sysprep
Да, перевезти Windows на диск или вместе с диском, а также кое-что в Windows изменить для финишной установки — основное программы предназначение. Работа утилиты на конкретном примере рассмотрена в статье «Как перенести жёсткий диск с Windows на другой компьютер«. Как пользоваться Sysprep вообще и для чего она была разработана, описано в статье «Как работать с Sysprep» (пишется). А пока приближаемся к возможным проблемам. Сама программа, как вы помните, располагается в папке:
C:\Windows\System32\sysprep\
И для работы с программой нужно обратиться напрямую к исполнительному файлу, либо запустить консоль cmd от имени администратора и ввести команду:
%windir%\System32\Sysprep\Sysprep.exe
В идеальном варианте (не важно какое действие для утилиты мы выбираем ) пользователи должны увидеть подготовку к запуску; в окне настроек можно выставить условия:
И, после смены системы или диска, завершаем переезд Windows. Но как бы, порой, не так…
Ошибка режима Аудита Ваша учётная запись отключена…
Возможные ошибки Sysprep
Это, конечно, не всегда ошибки Sysprep как таковой. Просто утилита не способна обрабатывать некоторые параметры, принимаемые на себя системой в текущем сеансе. И некоторые из служб или процессов ей откровенно мешают. Исправлением их мы сейчас и займёмся. Но, перед тем как начать, советую отключить сетевой кабель от карты, если компьютер подключён к интернету напрямую. По неизвестным лично мне причинам, Sysprep нередко отваливается на любом из этапов ИМЕННО при подключённой сети.
Sysprep не удалось проверить установку windows
Перед тем, как пробовать этот и остальные способы, не поленитесь отправиться в указанный в окне файлу setupact.log лога утилиты. Он традиционно лежит тут:
C:\Windows\System32\sysprep\Panther
Заострим на это внимание чуть позже. А в нашем случае решение простое. Для продолжения работы отправляемся в редактор реестра:
WIN+R
regedit.exe
Ищем REG_DWORD параметр в ключе
HKEY_LOCAL_MACHINE\SYSTEM\Setup\
с именем Upgrade. Нашли? Удаляйте:
Согласитесь с предупреждением об удалении параметра. Перезагружайтесь и запустите утилиту по новой.
Произошла неустранимая ошибка при выполнении sysprep
Самое время заглянуть в логи утилиты. Ошибки Sysprep в нём наверняка имеют такое содержание:
«[0x0f0082] SYSPRP LaunchDll:Failure occurred while executing ‘C:\Windows\system32\msdtcprx.dll,SysPrepDtcCleanup’, returned error code -2146434815[gle=0x000000b7]
«[0x0f0070] SYSPRP RunExternalDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = -2146434815[gle=0x000000b7]»
«[0x0f00a8] SYSPRP WinMain:Hit failure while processing sysprep cleanup providers; hr = 0x80100101[gle=0x000000b7]»
Вот тут сказано, что наиболее часто такие ошибки происходят на виртуальных машинах, так как утилита пытается остановить Cлужбу координатора распределённых транзакций Microsoft MSDTC (с ней мы ещё не раз столкнёмся). А «виртуалка» её тут же запускает. Одна жмёт на газ, вторая — на тормоз. И роль педали здесь играет библиотека msdtcprx.dll. Файл мы трогать не будем. А для решения проблемы придётся сначала службу удалить, а затем установить заново. Делаем это из командной строки от имени админа. Поочерёдно вводим две команды — на удаление и установку соответственно:
msdtc –uninstall
и
msdtc –install
Всё, проверяйте. Не помогло? Причиной могла стать «неприязнь» к сетевой службе Проигрывателя Windows. Служба, к слову сказать, запускается по умолчанию вместе с системой. Чтобы проверить, так ли это, остановите службу из командной строки:
net stop WMPNetworkSvc
и запустите Sysprep заново.
Вообще, читать журнал логов утилиты очень полезно. Именно оттуда можно узнать корни проблемы, почему программа отказывается запускаться. Ведь окно
совсем неинформативно. Однажды в логах пришлось наткнуться и на такую ошибку:
«Date Time, Error [0x0f0073] SYSPRP RunExternalDlls:Not running DLLs; either the machine is in an invalid state or we couldn’t update the recorded state, dwRet = 31»
Сама Microsoft на причину этой ошибки ответила расплывчато — мол, для «предотвращения создания битого образа утилитой». После долгих и упорных поисков решение проблемы оформилось так:
- запускаем редактор реестра и обратимся к ключу
HKEY_LOCAL_MACHINE\System\Setup\Status\SysprepStatus
- справа проверьте значение REG_DWORD параметра CleanupState. Должно быть 2. Тут же ищем параметр GeneralizationState. У него значение поставьте 7. Вот так:
- далее в реестре следуем к ключу
HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\SoftwareProtectionPlatform
- параметру REG_DWORD с именем SkipRearm присвойте значение 1:
- сохраняемся, из редактора выходим. Теперь с помощью командной строки cmd от имени админа переустанавливаем известную нам службу …
msdtc –uninstall
и
msdtc –install
- последний штрих: из папки с самой Sysprep
C:\Windows\System32\sysprep\
удаляем папку Panther
- попробуйте запустить Sysprep снова.
Не удалось завершить процесс установки…
При попытке установить обработанный утилитой диск в новой конфигурации, установщик Windows вдруг выдаёт:
Окно продолжает появляться раз от раза. Быстрый способ избавиться от этой ошибки Sysprep — попробовать обмануть Windows. Для этого:
- создадим изначально неправильные условия установки: вам нужен Безопасный режим. То есть во время очередной попытки установить системные файлы пытаемся войти в меню Дополнительных вариантов загрузки (обычно это клавиша F8)

выберите Параметры загрузки, что найти Безопасный режим
- Windows в таком режиме установиться физически не сможет, о чём вам сразу сообщит. Перезагружайтесь. А теперь ошибка должна исчезнуть и система будет устанавливаться в нормальном режиме.
В случае неудачи, когда окно с ошибкой продолжает появляться…
- Во время очередного появления ошибки зажимаем SHIFT+F10 для вызова аварийной консоли команд
- Через консоль переходим в директорию…
cd oobe
- и оттуда запускаем регистрацию пользователя принудительно:
msoobe
- появится всем знакомый менеджер установки с момента регистрации нового пользователя. Что делать дальше, вы знаете:
- проходим все окна вплоть до с окончанием установки. После чего перезагрузите компьютер кнопкой Пуск с панели задач. В случае, eсли Windows кнопки не слушается, перезапустите систему принудительно механически (кнопкой Reset с панели десктопа или выключением питания ноутбука).
Далее. Однажды при работе с Sysprep.exe я столкнулся с похожей ошибкой в режиме Аудита при окончательном «оформлении» системы:
Симптомы те же: круговая перезагрузка, при которой Windows застряла в подвешенном состоянии. Оказалось, что частично проблема решена уже давно. Но мне понадобилось, конечно, срочно выводить систему в OBE. У меня в итоге всё получилось, если нужны подробности — вам в статью «Компьютер неожиданно перезагрузился…»
Повторный запуск Sysprep
Редко кто добирается до этого этапа, но теоретически может возникнуть вопрос: а сколько вообще можно «сиспрепить» Windows? Конечно, логично предположить, что редкая сборка от Microsoft может кочевать от машины к машине. Короче — более трёх раз вам это сделать, как я понял, не удастся. И как итог — ошибка типа
Произошла неустранимая ошибка при попытке выполнить Sysprep при запуске команды sysprep/generalize
Варианты появления, ошибки Sysprep и «решение» , предложенное разрабами, описано в одноимённой статье. Если читать лень, скажу, что Microsoft предлагает лишь перестроить образ по-новой. Однако у меня прокатил пару раз такой набор действий:
- пробиваем «оставшееся число сиспрепов» (состояние лицензии) командой из консоли cmd от имени администратора
slmgr.vbs /dlv
если близко к 0, попробуйте перезарядить лицензию:
slmgr.vbs –rearm
- отправляемся в реестр за двумя параметрами, выставляя как указано ниже:
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState\
CleanupState:2
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState\
GeneralizationState:7
- редактор реестра покидаем и запускаем строку Выполнить (WIN + R). Выполняем команду на удаление службы координатора распределенных транзакций:
msdtc -uninstall
Досчитайте до 30-ти . Теперь команду установить службу обратно:
msdtc -install
- и снова немного выжидаем. А теперь перезапускаем компьютер привычным порядком. Вернитесь в реестр, где нужно проверить выставленные выше значения на предмет не изменились ли те. Если так оно всё и осталось, запускайте Sysprep с новым файлом ответов XML. У меня всё заработало вновь.
Всё, что знал, рассказал. Успехов нам всем.
Спасибо, помогло.