Наиболее частые ошибки Sysprep.

Наиболее частые ошибки Sysprep.

06.10.2018 1 Автор GodKnowses

В статье описываются некоторые ошибки Sysprep – встроенного инструмента Windows для “редактирования” и “перевозки” системы. Инструмент мало изучен обычными пользователями, а потому ошибки, возникающие при работе с этой полезной программой, я выделил в отдельную статью. Всем, наверное, не помогу, но чем богат, и что нарыл – поделюсь.

Запуск Sysprep

Да, перевезти Windows на диск или вместе с диском, а также кое-что в Windows изменить для финишной установки – основное программы предназначение. Работа утилиты на конкретном примере рассмотрена в статье “Как перенести жёсткий диск с Windows на другой компьютер“. Как пользоваться Sysprep вообще и для чего она была разработана, описано в статье “Как работать с Sysprep” (пишется). А пока приближаемся к возможным проблемам. Сама программа, как вы помните,  располагается в папке:

C:\Windows\System32\sysprep\

И для работы с программой нужно обратиться напрямую к исполнительному файлу, либо запустить консоль cmd от имени администратора и ввести команду:

%windir%\System32\Sysprep\Sysprep.exe

В идеальном варианте (не важно какое действие для утилиты мы выбираем ) пользователи должны увидеть подготовку к запуску; в окне настроек можно выставить условия:

sysprep на старой системе

И, после смены системы или диска, завершаем переезд Windows. Но как бы, порой, не так…

Ошибка режима Аудита Ваша учётная запись отключена

Возможные ошибки Sysprep

Это, конечно, не всегда ошибки Sysprep как таковой. Просто утилита не способна обрабатывать некоторые параметры, принимаемые на себя системой в текущем сеансе. И некоторые из служб или процессов ей откровенно мешают. Исправлением их мы сейчас и займёмся.

Sysprep не удалось проверить установку windows

sysprep не удалось проверить установку windows

Перед тем, как пробовать этот и остальные способы, не поленитесь отправиться в указанный в окне файлу setupact.log лога утилиты. Он традиционно лежит тут:

C:\Windows\System32\sysprep\Panther

Заострим на это внимание чуть позже. А в нашем случае решение простое. Для продолжения работы отправляемся в редактор реестра:

WIN+R

win+r

regedit.exe

редактор реестра

Ищем REG_DWORD параметр в ключе

 HKEY_LOCAL_MACHINE\SYSTEM\Setup\

с именем Upgrade. Нашли? Удаляйте:

удалить значение upgrade в реестре

Согласитесь с предупреждением об удалении параметра. Перезагружайтесь и запустите утилиту по новой.

Произошла неустранимая ошибка при выполнении sysprep

Произошла неустранимая ошибка при выполнении 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 заново.

Вообще, читать журнал логов утилиты очень полезно. Именно оттуда можно узнать корни проблемы, почему программа отказывается запускаться. Ведь окно

Произошла неустранимая ошибка при выполнении 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.  Вот так:

ошибка sysprep

  • далее в реестре следуем к ключу

HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\SoftwareProtectionPlatform

  • параметру REG_DWORD с именем SkipRearm присвойте значение 1:

sysprep ошибка

  • сохраняемся, из редактора выходим. Теперь с помощью командной строки cmd от имени админа переустанавливаем известную нам службу …
msdtc –uninstall

и

msdtc –install
  • последний штрих: из папки с самой Sysprep

C:\Windows\System32\sysprep\

удаляем папку Panther

удалить panther из sysprep

  • попробуйте запустить Sysprep снова.

Не удалось завершить процесс установки…

При попытке установить обработанный утилитой диск в новой конфигурации, установщик Windows вдруг выдаёт:

не удалось завершить процесс установки

Окно продолжает появляться раз от раза. Быстрый способ избавиться от этой ошибки Sysprep – попробовать обмануть Windows. Для этого:

дополнительные варианты загрузки

дополнительные параметры

дополнительные параметры windows 10

выберите Параметры загрузки, что найти Безопасный режим

  • Windows в таком режиме установиться физически не сможет, о чём вам сразу сообщит. Перезагружайтесь. А теперь ошибка должна исчезнуть и система будет устанавливаться в нормальном режиме.

В случае неудачи, когда окно с ошибкой продолжает появляться…

  • Во время очередного появления ошибки зажимаем SHIFT+F10 для вызова аварийной консоли команд
  • Через консоль переходим в директорию…
cd oobe
  • и оттуда запускаем регистрацию пользователя принудительно:
msoobe
  • появится всем знакомый менеджер установки с момента регистрации нового пользователя. Что делать дальше, вы знаете:

установка операционной системы Windows 7

  • проходим все окна вплоть до с окончанием установки. После чего перезагрузите компьютер кнопкой Пуск с панели задач. В случае, eсли Windows кнопки не слушается, перезапустите систему принудительно механически (кнопкой Reset с панели десктопа или выключением питания ноутбука).

Далее. Однажды при работе с Sysprep.exe я столкнулся с похожей ошибкой в режиме Аудита при окончательном “оформлении” системы:

чтобы установить windows нажмите ок

Симптомы те же: круговая перезагрузка, при которой 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. У меня всё заработало вновь.

Всё, что знал, рассказал. Успехов нам всем.