Проблема со спящим режимом Windows

Предыстория написания этой статьи такова. Мой ноутбук Dell Inspirion 15 5510 при закрытии крышки перестал уходить в полноценный спящий режим. Точнее его поведение было совершенно непредсказуемо. Внезапные включения в рюкзаке или на зарядке и соответственно перегрев и разряд батареи. Мне очень не нравилось такое поведение и конечно не хотелось «убить» ноутбук. Как я искал причину и в итоге нашел некий компромисс, расскажу в этой статье.

У меня Dell Inspirion 5510 с i7-11390H (легкий производительный), но несколько раз он запускался в рюкзаке и часто оставался включенным с закрытой крышкой. Я перепроверил таймеры пробуждения, энергопотребление, настройки действия крышки, но ничего не помогло. Стал разбираться и это конечно позор Microsoft.

спящий режим

Коротко о причине

Из-за плохой реализации режима Modern Standby, (он же InstantGo, он же Connected Standby, он же AOAC, он же режим ожидания с подключением), который пришёл на смену обычному режиму сна (S3 State), возникают все перечисленные проблемы, а Microsoft уже несколько лет не может справится с проблемой. А производители устройств тоже не спешат оптимизировать BIOS и включать дополнительные настройки управления режимом умного сна. Да в этом режиме ноутбук никогда не засыпает, открываешь крышку и продолжаешь с того же места, можно, например, воспроизводить музыку при закрытой крышке ноутбука и включенном режиме сна. Но эта «фича» работает далеко не идеально и как вы понимаете не очень сказывается на заряде батареи и нагреве устройства.

Если ввести в поиске PlatformAoAcOverride можно увидеть много боли от пользователей, что подтверждает широту проблемы.

Как понять какой режим у вас

Тут все просто, введите в терминале или командной строке:

powercfg -a
powercfg -a

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

В случае если у вас режим (S3) включен, но есть проблема с самопроизвольным включением, смотрит на таймеры пробуждения.

powercfg -waketimers
powercfg -waketimers

Как исправить и отключить Modern Standby

Мне повезло и производитель моего компьютера добавил включение классического режима в настройки BIOS, но работает это так же, отключает режим сна с помощью твика реестра Windows.

Скриншот моего BIOS

DISCLAIMER! Все что нужно сделать это справить реестр, но как всегда перед манипуляциями сделайте резервную копию системы или реестра. Для работы автоматического шифрования устройства формально нужна поддержка Modern Standby. Но скорее это требование к аппаратной платформе. У меня проблем не возникло!

Исправляем реестр

Открываем, Терминал, Командную строку (CMD) или PowerShell от имени администратора, введите эту команду:

reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0

Для вступления параметра в силу нужна перезагрузка.

Вернуть обратно спящий режим по умолчанию (S3) нужно заменить ноль на 1 и так же перезагрузить систему.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power
параметр "PlatformAoAcOverride"=dword:00000000

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

Вместо вывода

Это конечно невероятно удручает, что проблема известна еще со времен Windows 8.1 и она до сих пор актуальна. Этот режим может причинить физический вред устройству, но его не спешат исправлять уже столько лет. Отключение режима — это всего лишь обходной путь, который не гарантирует исправления всех проблем сна. Ждем вменяемого решения от Microsoft.