Windows просыпается сам. Как исправить?

После обновления Windows, или после установки новых программ, или чего-то еще, Ваш компьютер или ноутбук начинает сам просыпаться (выходить из сна, режима гибернации). Такое у меня на практике было очень часто и я научился с этим бороться. В этой статье рассмотрим примеры как запретить Windows автоматически выходить из состояния Sleep (hibernate).

Примеры ниже показаны для Windows 10, но на ранних версиях все делает аналогичным образом.

Причин почему Виндовс может просыпаться много. Обычно, это способность периферийных устройств будить Windows. Также это может быть автоматическое обслуживание Windows или обновлениями системы/программ. Рассмотрим все возможные причины ниже.

Причина 1: Настройки BIOS

Нужно проверить настройки BIOS, связанные с авто-пробуждением компьютера через внешние устройства. Это может быть:

  • Функционал WOL (Wake on LAN)
  • Настройки пробуждения при движении мыши. Бывают глюки с неподвижно стоящими беспроводными мышками.
  • Настройки пробуждения при нажатие на клавиш клавиатуры: Power On By Keyboard и Power On By Mouse.

Все эти функции желательно отключить. Сказать где именно это делается в BIOS сложно, потому что версии BIOS отличаются.

вверх

Причина 2: Будят устройства (мышь, клава)

Заходим в Device Manager (Диспетчер устройств) и смотрим параметры у: Мыши, Клавиатуры и Сетевых адаптеров (Network adapters). Убираем у них возможность будить компьютер (Allow this device to wake the computer).

Чтобы отключить пробуждение компьютера при получении пакета WOL сетевой картой, нужно в свойствах сетевой карты снять опцию Only allow a magic packet to wake the computer.

вверх

Причина 3: Будят запланированные задачи (waketimers)

Разные программы (утилиты) могут создавать задачи, которые выполняются в определенное время. Такие задачи могут будить компьютер (ноутбук). Например, задача проверки на вирусы, или установка обновлений какой-либо программы, или оптимизация windows.

Запланированных задач в Windows очень много, но не все из них будят компьютер, однако некоторые могут это делать.

Для решения этой причины нужно:

  1. Выяснить какая задача вывела компьютер из режима сна (гибернации). Посмотреть это можно в системном журнале Windows Events (лог событий Windows).
  2. Отключить возможность выводить из сна у конкретной задачи. Делается это в Task Scheduler (планировщик заданий).
вверх

Узнаем какая команда вывела комп из сна

Открываем журнал:

  • Жмем Windows + R > eventvwr.msc
  • Или Control Panel > System and Security > Administrative tools > View event logs

Заходим в ветку Windows Logs > System и ищем ближайшую информацию о событии где в колонке Sourсe указано Power-Troubleshooter.

В этом примере, мой комп проснулся из-за нажатия мной кнопки питания (Power Button). Возможные варианты Wake Source (источников пробуждения):

  • Кнопка питания — когда вы руками включаете компьютер соответствующей кнопкой.
  • Устройства ввода HID (может обозначаться иначе, обычно содержит аббревиатуру HID) — система проснулась от устройства ввода (клавиатура, мышь).
  • Сетевой адаптер — сетевая карта настроена так, что может пробуждать компьютер (ноутбук) при входящих соединениях.
  • Таймер — говорит о том, что запланированная задача (в планировщике заданий) вывела Windows из сна.
  • Крышка ноутбука (может обозначаться по-разному, например «Устройство USB Root Hub») — говорит о том, что крышка была открыта.
  • Нет данных — информации, кроме времени выхода из сна, нет. Такие пункты встречаются на ноутбуках очень часто (т.е. это штатная ситуация). Обычно другие действия описанные в этой статье успешно прекращают авто-пробуждение.

Пример пробуждения по таймеру (по задаче)

Тут мы видим что из сна вывел таймер, а конкретно задача «NT TASK\Microsoft\Windows\UpdateOrchestrator\Reboot». Запоминаем этот путь.

вверх

Отключаем возможность вывода из сна у конкретной задачи (waketimers)

Откроем Task Scheduler (Планировщик задач):

  • Жмет Windows + R > taskschd.msc
  • Или Control Panel > System and Security > Administrative tools > Schedule tasks

Переходим в путь, который видели в системном журнале: «Microsoft\Windows\UpdateOrchestrator\Reboot»:

Далее, делаем двойной клик по событию (чтобы открыть настройки события) и переходим во вкладку «Условия» и снимите галочку с пункта «Пробуждать компьютер для выполнения задачи«:

Все, задача больше не будет будить комп!

вверх

Отключаем возможность вывода из сна для всех задач (waketimers)

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

Для этого нужно зайти в Плане управления питанием, там есть опция Разрешить/Запретить таймеры пробуждения.

  • Открываем настройки Электропитания:
    • Жмём Win+R и в открывшееся окно вводим powercfg.cpl
    • Или Control Panel > System and Security > Power Options
  • В открывшемся окне, нажимаем Настройка схемы электропитания (Change Plan Settings).
  • Далее нажимаем Изменить доп. параметры питания (Change advanced power settings).
  • Переходим в пункт Сон > Разрешить таймеры пробуждения (Sleep > Allow wake timers) и выбираем Отключить (disable).

вверх

Причина 4: Будит система обслуживания Windows

Когда пробуждение компьютера (ноутбука) происходит ночью (в 3 часа ночи), то часто в этом виновата «Система обслуживания Windows». Она будит компьютер для выполнения задач по обслуживанию системы (дефрагментация, проверка дисков, установка обновлений и т.п.).

Чтобы проверить, может ли эта система будить Windows, откройте следующий элемент панели управления:

Control Panel > System and Security > Security and Maintenance > Change maintenance settings

Снимите галочку с «Allow scheduled maintenance to wake up my computer at the scheduled time»  (Разрешить задаче обслуживания пробуждать мой компьютер в запланированное время).

Или можно изменить время на часы когда компьютер включен.

 

вверх

powercfg (утилита командной строки)

Смотреть и управлять пробуждением компьютера можно через Командную строку.  Это удобнее, чем лазить по настройкам и искать какие галочки нужно включить/отключить. Рассмотрим команды, которые управляют пробуждением компьютера.

Чтобы открыть Командную строку: жмет Windows + R, вводим cmd и жмем OK (Enter).

 

Какое событие/устройство разбудило компьютер, можно увидеть через команду:

powercfg -lastwake

 

Кому разрешено будить компьютер (список устройств) можно получить так:

powercfg -devicequery wake_armed

Обычно этот список включает:

  • Клавиатуру (Standard PS/2 Keyboard )
  • Мышь (HID-compliant mouse)
  • Сетевые карты (в том числе Wi-Fi)

 

Полный список системных устройств, которые могут выводить Компьютер из спящего режима:

powercfg -devicequery wake_from_any

 

Отключить возможность пробуждения компьютера для отдельного устройства можно из командной строки:

powercfg -devicedisablewake "Название-устройства"

То же самое можно сделать из графического интерфейса диспетчера устройств (devmgmt.msc). Смотрите «Причина 2» выше.

 

Отключить возможность пробуждения Windows для всех устройств сразу можно следующей командой (сценарием):

for /F "tokens=*" %A in ('powercfg -devicequery wake_armed') do powercfg -devicedisablewake "%A"

 

Список заданий планировщика задач, которые могут разбудить компьютер можно получить так:

powercfg -waketimers
В Windows 10 эту команду нужно запускать из PowerShell (как администратор). Потому что для запуска этой команды нужны права админа.

В этот примере виновато обновление программы Windows Media Center. Чтобы отключить возможность пробуждения для этого задания:

  • Откройте Task Scheduler (Планировщик задач). Windows + R > taskschd.msc.
  • Найдите нужно задание. Путь к заданию указан в результатах команды. В этом примере это: Microsoft > Windows > Media Center > mcupdate_scheduled.
  • Откройте задание (двойной клик по нему) и на вкладке Conditions снимите флажок Wake the computer to run this task.

Подробнее об управлении планировщиком задач смотрите выше в «Причина 3».

Видео: работа с командной строкой powercfg