Почему не выключается компьютер?
Казалось бы, то, что не выключается компьютер, не так уж критично — главное, чтобы он включался. Однако медленное выключение компьютера — довольно частая проблема, в отличие от ситуации, когда компьютер вообще не включается. Причем со временем сбои при выключении компьютера начинают происходить практически на любом компьютере — он или выключается очень медленно, или Windows вообще не может выключить компьютер: вы будете часами созерцать надпись Завершение работы Windows, а компьютер так и не выключится. Как правило, в таких случаях у пользователя не хватает терпения дождаться завершения работы компьютера, и компьютер просто выдергивается из розетки. Это приводит к тому, что при следующем включении придется ждать, пока программа проверки дисков проверит диск и исправит ошибки. Кроме того, выключение компьютера подобным образом может привести к потере важных данных.
Почему так происходит?
Если раньше (во времена DOS) компьютер можно было просто выключить из розетки (и то весьма желательно было «припарковать» жесткий диск), выключение современного компьютера — это сложный процесс, который иногда длится недопустимо долго. Наиболее вероятные причины такого поведения — программная ошибка в драйвере и зависание какой-либо программы или службы (Windows ждет завершения работы программы и никак не может дождаться).
Ошибки в драйверах
Вспомните, какие устройства вы устанавливали последними, зайдите на сайты производителей этих устройств и скачайте последние версии драйверов — вполне вероятно, что это вам поможет. Если же у вас уже установлены последние версии драйверов, но завершение работы компьютера все равно выполняется в течение длительного времени, то, вероятно, вам придется или отказаться от использования устройства, или ждать новую версию драйвера.
Борьба с зависанием программ
При выключении компьютера Windows должна корректно завершить все программы и службы. Очевидно, что чем больше программ было запущено во время работы (в том числе и в фоновом режиме), тем дольше будет выполняться их завершение. А если какое-либо приложение при этом зависло, то время завершения работы может существенно увеличиться.
Напомню используемые при этом параметры реестра:
* REG_REG_DWORD AutoEndTasks — если присвоить этому параметру значение 1, то Windows будет автоматически завершать зависшие задачи;
* REG_SZ HungAppTimeout — период, по прошествии которого приложение будет считаться зависшим. Отсчет времени начинается с того момента, когда приложение перестало отвечать на запросы операционной системы. По умолчанию это время равно 5000 мс, то есть 5 с;
* REG_SZ WailToKiliAppTimeoul — время ожидания перед завершением процесса (вдруг процесс «одумается»). По умолчанию оно равно 20 000 мс, то есть 20 с.
Таким образом, по умолчанию Windows завершает процесс через 25 секунд. Все эти параметры находятся в разделе HKCU\Control Panel\Desktop. Но это еще не все. Довольно часто причиной длительного завершения работы является не зависшая программа, а сервис. Для автоматического завершения работы сервиса нужно установить значение параметра REG_SZ WaitToKillServiceTimeout в разделе HKLM\SYSTEM\CurrentControiSet\Coritrol. Значение этого параметра — тайм-аут в секундах, рекомендуемые значении — от 1 до 60 секунд. Помимо этого, причиной медленного завершения работы компьютера или даже причиной того, что не выключается компьютер, может быть запущенная Служба терминалов (Terminal Services), которая является основой для работы удаленного рабочего стола. Если эта служба вам не нужна, отключите ее: как показывает практика, это существенно сокращает время выключения компьютера. Если вы отключили службу терминалов, отключите также и служб)- Совместимость быстрого переключения пользователей.
В целях еще большего ускорения завершения работы можете отключить очистку своп-файла. Для этого в разделе HKLM\SYSTEM\CurrentControISet\ Control\Session ManagerNMemory Managemenl установите значение 0 для параметра ClearPageFileAtShutdown.
Зависание при выключении компьютера
Все гораздо хуже, если компьютер не просто медленно завершает работу, а зависает при этом. Проверить завис компьютер или нет, очень просто: нажмите на клавиатуре (или, или): если соответствующий данной клавише индикатор не отреагирует на ваши действия, значит, компьютер завис.
При зависании компьютера также нужно искать причину в неправильно работающем драйвере или сервисе, поскольку зависание при выключении — это, как правило, признак аппаратно-программной ошибки, нежели только программной. Драйвер — этот тот мостик между «железом» и «математикой», который дал сбой.
Как уже было сказано, нужно загрузить и установить новые версии драйверов (хотя не исключено, что ошибку так и не исправили). С зависанием сервиса бороться проще — в предыдущем разделе было показано, как именно следует поступить. Вот и все основные причины, почему не выключается компьютер.
Компьютер и Windows