869 subscribers

Корректная перезагрузка зависшего при выключении Windows сервера

2,8k full reads
4,3k story viewsUnique page visitors
2,8k read the story to the endThat's 67% of the total page views
1,5 minute — average reading time

Уже не первый раз сталкиваюсь с такой проблемой в Windows Server 2008 R2 / Windows Server 2012/R2: после установки обновлений или неких ролей/компонентов сервер запрашивает перезагрузку, во время которой на экране появляется надпись “Preparing to configure Windows. Do not turn off your computer” или “Подготовка к настройке Windows. Не выключайте компьютер”. На этом этапе сервер замирает и эта надпись может висеть часами. При этом сервер продолжает быть доступен по сети, но часть служб, в том числе доступ к RDP, не доступны.

Как правило, в этом случае самый быстрый способ решить проблему – перезагрузить сервер по питанию (хардрезет). Например, удаленно перезагрузить физический сервер можно из консоли HP ILO, Dell iDRAC  и .т.п, или из консоли Hyper-V, vSphere для виртуальных машин. Но в таком случае есть  вероятность нарушить работу ОС. Лучше использовать более «мягкий» способ сброса зависшего при перезагрузке сервера.

Корректная перезагрузка зависшего при выключении Windows сервера

С другого компьютера при помощи оснастки Службы (Services) – services.msс удаленно подключимся к зависшему серверу.

В списке служб сервера несложно найти службу Windows Modules Installer (Установщик модулей Windows), находящуюся в состоянии Stopping. Очевидно, именно эта служба мешает выполнению процедуры корректной перезагрузки сервера.

Корректная перезагрузка зависшего при выключении Windows сервера

Кнопки управления службой при этом не доступны. В свойствах службы можно узнать имя исполняемого файла: C:\Windows\servicing\TrustedInstaller.exe

Корректная перезагрузка зависшего при выключении Windows сервера

Наша задача – принудительно завершить данный процесс. Проще всего воспользоваться сценарием, описанным в статье Как принудительно завершить зависшую службу с учетом того, что эти действия придется выполнить удаленно.

На любом компьютере откройте окно командой строки и для завершения процесса TrustedInstaller.exe на сервере с именем corp-man02 выполнить следующую команду.

taskkill.exe /s corp-man02 /u corp\admin_name /p P@ssw0rd! /im TrustedInstaller.exe

То же самое действие можно выполнить с помощью утилиты Pskill из набора PSTools:

pskill.exe \\corp-man02 TrustedInstaller.exe

Или PsExec:

psexec \\corp-man02 taskkill /IM TrustedInstaller.exe /F

После этого на экране зависшего сервера должна появиться надпись  Shutting down и через несколько мгновений он должен корректно перезагрузится.

Корректная перезагрузка зависшего при выключении Windows сервера

Проблема встречается не только на серверных версиях Windows, но и на клиентских Windows 7 / Windows 8 / Windows 10.

Источник