- Уловка-32 — Windows, софт и железо без фанатизма/
- Статьи/
- Ноутбук не выходит из сна: виноват не драйвер, а переход в гибернацию/
Ноутбук не выходит из сна: виноват не драйвер, а переход в гибернацию
Содержание
Закрыли крышку, вернулись через пять минут: ноутбук проснулся как ни в чём не бывало. Вернулись через час: экран чёрный, кнопки не реагируют, спасает только долгое удержание питания.
Короткий ответ: сам сон у вас, скорее всего, работает. Ломается переход из сна в гибернацию. Windows по таймеру выводит ноутбук из Modern Standby и пытается уйти в глубокий сон (S4), а вернуться из него уже не может. Драйвер видеокарты виноват далеко не всегда.
Почему «через час», а не сразу #
Дело в том, что закрытая крышка и выключение это разные вещи. На современных ноутбуках крышка отправляет машину не в «выключено», а в Modern Standby (S0 Low Power Idle): сон, в котором система остаётся на связи. Процессор и сеть продолжают работать, поэтому ноутбук открывается мгновенно.
Дальше вступает таймер. В Windows есть скрытая настройка Hibernate idle timeout: «время после сна, по истечении которого система сама просыпается и уходит в гибернацию». Она и включает гибернацию на Modern Standby-машинах. Минимальное значение настройки это 0, и оно не значит «никогда»: ноль означает «уходить в гибернацию по порогу адаптивной гибернации». То есть система считает расход батареи в ожидании и переходит в S4, когда он превышает бюджет.
Здесь и появляется «примерно час». Пока ноутбук в S0, всё нормально. Как только он перешёл в гибернацию (S4), а возврат из S4 не восстанавливает состояние устройств, экран не загорается, индикаторы не реагируют.
Отличие от драйвера: при сбое драйвера ноутбук обычно не просыпается и после короткого сна. Здесь короткий сон проходит штатно, значит, ломается именно переход.
Как проверить, что дело в гибернации #
Начните с того, какие состояния сна вообще доступны:
powercfg /a
Если в доступных есть Standby (S0 Low Power Idle), у вас Modern Standby. Если там же есть Hibernate, переход в гибернацию возможен.
Дальше смотрите отчёт по сессиям ожидания:
powercfg /sleepstudy
Он открывается в браузере и показывает каждую сессию за последние три дня (период можно увеличить: powercfg /sleepstudy /duration 7). Для нашей задачи важны завершение сессии и код выхода. Переход в гибернацию виден по кодам:
- 20 (Hibernate, or Shutdown);
- 45 (Directed DRIPS: Device-S4);
- 25 (Resume S4 Display Burst).
Если сессия обрывается на одном из этих кодов, а после него ноутбук не вернулся, причина в переходе S0 → S4.
Более полную картину по переходам питания даёт powercfg /systempowerreport (сокращённо /spr). А powercfg /systemsleepdiagnostics покажет интервалы, когда вы не работали за компьютером, и ушёл ли он в сон.
Драйвер или прошивка: почему это важно #
Соблазн списать всё на драйвер видеокарты есть, но данные говорят об обратном. По владельцам Honor MagicBook на AMD Ryzen (MagicBook 15, X16, X16 Pro) накопился характерный набор: ноутбук не выходит из сна, мигают Caps Lock и Fn, помогает только жёсткая перезагрузка. У части владельцев при этом гибернация работает штатно.
Самое показательное: на том же железе сон не работает и в Linux (Fedora). Если сбой воспроизводится в другой операционной системе, дело не в драйвере Windows, а на уровне прошивки, BIOS или EC ноутбука.
Это не значит, что так у всех и всегда. Но если у вас MagicBook на AMD, начинать стоит не с переустановки драйверов, а с прошивки.
Что сделать #
1. Смените действие при закрытии крышки. Панель управления → Электропитание → «Действия при закрытии крышки» → «Гибернация» или «Завершение работы». Так крышка перестанет уводить ноутбук в Modern Standby, а вместе с ним и в проблемный переход. Это самый быстрый способ проверить гипотезу: если зависания исчезли, дело было в переходе.
2. Отключите переход из сна в гибернацию. Если нужен именно сон, отключите гибернацию целиком:
powercfg /h off
Тогда Modern Standby не сможет перейти в S4, и «мёртвого сна» не будет. Учтите цену: вместе с гибернацией отключится и быстрый запуск, а сон останется в S0, то есть ноутбук будет расходовать заряд в сумке. Если это не подходит, отодвиньте таймер вместо отключения:
powercfg /change hibernate-timeout-dc 120
Так гибернация сработает не через считаные минуты, а позже. Вопреки ожиданию, значение 0 здесь не «никогда», а «по порогу адаптивной гибернации».
3. Обновите прошивку и драйверы вендора. Для Honor это PC Manager и обновление BIOS/EC, плюс драйверы чипсета и видео с сайта производителя. В случае, с которого начался этот разбор, BIOS как раз не обновлялся.
4. Проверьте драйвер видеокарты, но в конце. Win+Ctrl+Shift+B перезапускает графический драйвер, однако на «мёртвом сне» это чаще не помогает: он не оживляет уже зависшую систему.
Ограничения #
- Сон и гибернация это разные механизмы. Отключение гибернации лечит переход. Если сон ломается сразу после закрытия крышки, это другой сценарий.
- Переключить S3 и Modern Standby настройкой в BIOS нельзя, только переустановкой системы. «Вернуть старый S3» не выйдет.
- Жёсткая перезагрузка не безобидна. Долгое удержание питания не даёт системе сохранить состояние; это риск для открытых документов и файловой системы.
- Метод не гарантирует результат: если сбой на уровне прошивки, поможет только обновление BIOS/EC от вендора.
FAQ #
Ноутбук не просыпается только после долгого сна. Это драйвер? Скорее нет. Драйвер обычно ломает и короткий сон. Если короткий сон проходит, а длинный нет, смотрите переход в гибернацию.
После powercfg /h off ноутбук стал дольше включаться. Почему?
Вы отключили гибернацию, а с ней и быстрый запуск. Если это неудобно, верните гибернацию и обновите прошивку, но не терпите зависания.
powercfg /sleepstudy пишет, что отчёт недоступен. Что это значит?
Отчёт рассчитан на Modern Standby. Если команда недоступна, у вас обычный ждущий режим S3, и тогда причина зависаний другая.
Мигают Caps Lock и Fn, экран чёрный. Это точно сон? На MagicBook на AMD это типичный признак незавершённого выхода из сна. Сначала подождите и попробуйте безопасные сочетания, и только потом удерживайте питание.
Итог #
- Короткий сон работает, длинный нет: смотрите переход в гибернацию, а не драйвер.
- Проверка:
powercfg /a, затемpowercfg /sleepstudy(коды 20, 25, 45). - Если у вас MagicBook на AMD и сон не работает даже в Linux, это уровень прошивки, начинайте с BIOS/EC.
- Быстрое решение: действие крышки и отключение перехода в гибернацию.
О том, почему ноутбук разряжается в выключенном состоянии и при чём тут Modern Standby, мы разбирали
отдельно. А про то, как отключать гибернацию и что будет с файлом hiberfil.sys, читайте в
статье про гибернацию.
Нужна помощь? #
Если не хочется самому разбираться с режимами сна, отчётами и прошивкой, помогу удалённо. Найду, что мешает выходу из сна, настрою питание и обновлю драйверы. Заодно поставлю оригинальный Microsoft Office 2024 и помогу с активацией Windows, без репаков и торрентов.