Wake On Lan после сбоя питания (или из состояния G3)
И все бы хорошо, если бы не одно но. После сбоя питания ваш компьютер не включится.
Согласитесь, это будет «приятной» неожиданностью, особенно если вы находитесь за пару тысяч километров от него.
Одно из решений написано здесь, но оно аппаратно-программное, а ведь можно обойтись без дополнительного железа.
Про WOL на Хабре можно найти уже две станицы. Поэтому в этой статье не будет рассматриваться включение wol на карточке.
Введение
Для начала разберемся, почему компьютер не включится. Для понимания этого стоит обратится к ACPI.
ACPI — англ. Advanced Configuration and Power Interface — усовершенствованный интерфейс управления конфигурацией и питанием). В ACPI описаны состояния — как глобальные, так и конкретных устройств в частности. (wiki)

- G2 (S5) (soft-off) — мягкое (программное) выключение; система полностью остановлена, но под напряжением, готова включиться в любой момент. Системный контекст утерян.
- G3 (mechanical off) — механическое выключение системы; блок питания ATX отключен.
- «Stay Off» – при потере питания в сети и его восстановлении для включения ПК необходимо нажать кнопку питания.
- «Turn On» – восстановление питания вызывает автоматическое включение системы.
- «Last State» – Восстановление системы в то состояние, в котором она находилась на момент пропадания питания. Если была выключены — остается выключена, иначе включается.
Выбрав «Turn On», останется вопрос лишь в том, как выключить компьютер, когда он включился после сбоя питания, а не от запроса по сети или штатного запуска кнопкой на корпусе. Делать эти проверки мы будем в initrd.
Расположение файлов для initrd в Ubuntu/Debian можно посмотреть в man на initramfs-tools (онлайн с сайта Ubuntu).
Для Centos все немного по другому — там dracut.
Для обеспечения проверки, как был включен компьютер, после посылки wol пакета мы будем пинговать его. Но так как пакет WOL у нас «магический», пусть пинги будут тоже «магическими». Пусть наши пинги будут размером в 48 байт, а не в 84.
Итого вся идея в виде блок-схемы: 
Реализация
Модули
В /etc/initramfs-tools/modules добавим необходимые модули для работы iptables и сети.
Модуль для вашей сетевой карты
Модули iptables
Скрипт
В /etc/initramfs-tools/scripts/local-top/ добавим файл checkboot с содержимым:
И делаем его исполняемым:
Скрипт реализует блок-схему, приведенную выше.
В /etc/initramfs-tools/hooks/ добавим файл checkboot с содержимым:
И делаем его исполняемым:
Этот файл указывает, что необходимо добавить в initrd для корректной работы нашего скрипта.
В нем после копирования утилит iptables и ifconfig необходимо так же скопировать библиотеки для iptables.
Слинкованные библиотеки можно получить, выполнив ldd /sbin/iptables.
Но в процессе работы также будут использоваться динамически подгружаемые модули. Их список можно увидеть, выполнив команду:
Что позволит получить остальные подгружаемые библиотеки:
Update initrd
Перед обновлением initrd хорошей идеей является скопировать стабильный вариант в /boot с другим именем, чтобы в случае каких-либо ошибок в скрипте/хуке загрузка системы не представляла сложности.
Обновляем initrd командой:
Добавляем новые строчки в grub с nocheckboot.
Делаем это либо непосредственным редактированием /boot/grub/grub.cfg с созданием нового пункта с добавлением nocheckboot в строке параметров к ядру, либо изменяя /etc/grub.d/10_linux, что лучше, так как после update-grub2 наши изменения не исчезнут, как случится, если мы будем редактировать grub.cfg.
Для этого в /etc/grub.d/10_linux добавляем:
Запуск
Осталось только написать скрипт запуска.
И вот он:
Здесь «-c 50» — это 50 пакетов, 1 пакет в секунду, а значит 50 секунд — время, за которое должны пройти все этапы до «Проверка счетчика правила iptables». А «-s 20» делает размер пакета равным 48 байтам. 48 — 20 = 28 байт — заголовки IP и ETHERNET.
Как сделать чтобы компьютер автоматически включался при подаче питания
Компьютеры стандарта ATX запускаются не непосредственно при включении в сеть 220 вольт. Для начала работы надо выполнить дополнительные манипуляции (обычно, нажать кнопку Пуск). Это действие стало привычным, но некоторым пользователям по разным причинам необходимо иметь автоматическое включение компьютера – при подключении к сети 220 вольт или по установленному расписанию. Другим кажется удобным автозапуск после исчезновения и восстановления электричества (например, после разряда аккумуляторов ноутбука и последующим включении его в сеть). Настроить режим включения персонального компьютера при подаче питания несложно самостоятельно.
Как сделать включение компьютера при подаче питания
Управление запуском в персональном компьютере осуществляется посредством базовой системы (BIOS, UEFI), которая формирует сигнал на включение блока питания и далее на пуск ОС (Windows, Linux и т.п.). Так как базовая система запускается до загрузки ОС, то настройка режима включения не зависит от операционки и от ее версии.
В BIOS
При запуске компьютера надо войти в BIOS. Обычно это делается нажатием клавиши Del или F2. Нажимать надо вовремя, иначе есть шанс пропустить момент. Далее надо найти в меню пункт Power Management Setup (может называться по-другому, может находиться внутри расширенных настроек и т.д.).

В разделе надо выбрать строку PWRON After PWR-Fail. Для нее доступны варианты значений, оформленные в виде.
| Выбор значение | Действие |
|---|---|
| Power Off или Off | При подаче напряжения компьютер остается выключенным до нажатия кнопки Старт или других действий |
| Former-Sts или Last State | При появлении напряжения ПК возвращается к последнему статусу перед исчезновением питающей сети |
| Power ON или Always ON | Компьютер стартует при подаче сетевого напряжения |

Если выбрать последний пункт, то ПК будет включаться при появлении на блоке питания сетевого напряжения.
В UEFI
Bios, как базовая система, доминировала в персональных компьютерах долгие годы и десятилетия. Однако, несмотря на развитие и появление новых версий, со временем ее возможностей перестало хватать. На смену БИОС пришла система UEFI. Она выполняет те же функции по запуску и конфигурации компьютера, но имеет дополнительные возможности и может работать с более современным оборудованием. Принципиальным же отличием UEFI выглядит тот факт, что она является мини-операционной системой и поддерживает графику и мышь. В целом работа в UEFI более комфортна для пользователя.
Название BIOS стало настолько нарицательным, что даже более поздние системы используют этот термин в технической документации и в интерфейсах.

Принципиально установка заданной опции в UEFI не отличается от тех же действий в БИОС. Основная задача – найти соответствующий пункт в меню.
В данной версии он называется Restore AC Power Loss, и в нем также доступны три пункта меню. Они имеют те же значения, что и для БИОС. Сам раздел управления питанием находится в пункте расширенных настроек (Advanced).
Настройка автоматического включения ПК по расписанию
Иногда требуется включать компьютер в определенное время. Такая необходимость может возникнуть, когда требуется периодический дистанционный доступ к ПК. Для такой настройки надо войти в BIOS и выбрать пункт Power Management Setup.
Внутри этого раздела надо выбрать пункт Date и в открывшемся окне установить дату автоматического запуска. В следующей строке надо выбрать пункт Resume Time – здесь устанавливается время автоматического включения.

В других версиях пункт меню может называться Power On By RTC Alarm, а а подпункт установки времени RTC Alarm Time содержать разделы:
- RTC Alarm Hour – установка часов;
- RTC Alarm Minute, RTC Alarm Second – минуты и секунды соответственно.
В иных версиях БИОС и UEFI разделы и подразделы могут быть названы по-другому.
Дистанционное включения по сети Wake on Lan
Несколько более сложно настроить дистанционный пуск ПК по сети через функцию Wake On LAN (WOL). Зато в работе этот сервис удобнее — ПК можно включать удаленно в любое время. Проблема здесь в том, что в процессе управления завязана не только БИОС, но и материнская плата компьютера, а также сетевой адаптер. Железо должно поддерживать данную функцию (все, что выпущено после 2001 года, проблем не создаст).
Для большинства моделей, выполненных на Pentium II и III, для реализации функции WOL надо найти на матплате трехштырьковый разъем, маркированный Wake On LAN, и соединить его специальным кабелем с таким же разъемом на сетевой плате.
- Wake-Up by PCI-E device;
- Power on by Ethernet Card;
- Power on by PCI device;
- другие близкие по смыслу термины.
Здесь надо включить функцию Power on by PCI device.
В современных системах UEFI удаленное включение невозможно, если включены некоторые дополнительные функции, например ErP (EuP), задающая минимальное энергопотребление в ждущем режиме, или CEC 2019 Ready – примерно то же самое, но по стандартам США.

Далее надо настроить сетевой адаптер. В меню Windows «Сеть и Интернет» в разделе «Состояние» в подразделе «Изменения сетевых параметров» надо перейти в меню «Настройка параметров адаптера». Откроется окно «Сетевые подключения». В открывшемся окне свойств сетевого адаптера активировать кнопку «Настроить…».
На вкладке «Дополнительно» включить параметры, связанные с Wake Up LAN. Ориентироваться надо на фразы Wake Up, Magic packet, Включение по локальной сети и т.п.

После этого на вкладке «Электропитание» отметить соответствующие пункты, название которых зависит от драйвера сетевой карты.

После включения режима WOL надо установить программное обеспечение, работающее под основной операционной системой. Для Windows это будут, например, программы:
- утилита broadc.exe – для локальной сети;
- wol.exe – для управления через интернет.
Также существует множество программ, имеющих более широкий функционал, в которые включена реализация функции WOL. К ним относится широко известный TeamViewer и т.д.
Среди пользователей Linux популярна программа wakeonlan.
Включать питание дистанционно можно и с помощью активации других опций меню Power. Так, включение опции Power on by ring запускает компьютер при появлении сигнала на шине приема COM-порта. COM-порт является устаревшим, поэтому мало у какого компьютера есть физический последовательный порт. Поэтому эту функцию обычно используют совместно со встроенным модемом, который эмулирует работу с COM-портом. Отсюда и название функции – «Включение по звонку».

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

Если есть подозрение, что проблема в BIOS (UEFI), то первое, что надо сделать – отменить все недавние изменения, после которых началось самопроизвольное включение. Если это не помогло, надо войти в режим настройки Power Management и тщательно проверить каждый пункт. Часть функций не всегда правильно работает и может вызвать указанную проблему. Те опции, без которых можно обойтись, надо выключить.
Также надо помнить, что несанкционированный самозапуск могут вызывать некоторые вирусы. Надо попробовать их отловить специальными программами.
Проблема может быть и на уровне операционной системы. Так, некоторые программы, утилиты или драйверы способны вызывать рестарт ПК. Если ОС настроена на создание контрольных точек, надо попытаться откатить систему до ближайшей контрольной точки и проверить, будет ли эффект сохраняться. Если не поможет – до следующей точки и т.д. Если контрольные точки не создаются, можно удалять по одной недавно установленные программы и отслеживать наличие проблемы.
Для наглядности рекомендуем серию тематических видеороликов.
Изменение режима включения компьютера при подаче сетевого напряжения, с одной стороны, несложно. С другой – потребуются базовые знания английского (если меню ПО не поддерживает русский язык), а также определенную квалификацию, чтобы среди множества терминов найти нужный. Поэтому каждое действие должно быть осознанным. Иначе вместо повышения удобства работы можно получить множество проблем – мелких, но неприятных.
Инженер-электроник. Работаю в мастерской по ремонту бытовых приборов. Увлекаюсь схемотехникой.
Как сделать чтобы компьютер включался при подаче питания?
Практически каждому приходилось сталкиваться с ситуацией, когда во время перерыва в работе отключилось электричество и включение компьютера при подаче питания не произошло. И не помог даже установленный для страховки ИБП. В то же время некоторые пользователи, наоборот, жалуются, что автовключение компа происходит вне зависимости от желания его обладателя. В статье мы разберём причины этих ситуаций и способы их предотвращения.
Почему компьютер включается сам при подаче питания
Далеко не всегда уместен автоматический запуск ПК при подключении к нему питания. Такое не очень часто бывает, но раз это имеет место, то надо найти причины. Дело в том, что подключение компьютера к сети автоматически подаёт питание на материнскую плату и вход блока питания. Но монитор запускается, только когда нажимается кнопка запуска.
Автоматическое включение компьютера часто происходит по следующим причинам:
-
обеспечивающем подачу тока. Нужно его протестировать.
- Что-то не так в настройках BIOS. Следует проверить корректность всех параметров BIOS на материнской плате и убедиться в правильности установки параметров запуска компьютера.
- Некорректно работает кнопка пуска, расположенная на лицевой панели кейса. Результатом этого может стать замыкание проводов, провоцирующее запуск компьютера в момент подачи питания.
Самостоятельное включение компьютера по одной из перечисленных неисправностей может приводить к повреждению материнской платы и потере данных, хранящихся на жёстком диске.
Как включить функцию автоматического включения компьютера в BIOS
Чтобы перейти в BIOS, обычно достаточно нажать одну из клавиш — F2, Delete — когда осуществляется стартовый этап загрузки ПК. Это определяется модификацией материнской платы, установленной на устройстве. При включении высвечивается подсказка по этому вопросу.

Мы опишем алгоритм активации функции автовключения Windows 10 для нескольких версий BIOS.
BIOS American Megatrends Inc. P1.80, 20.05.2011
Выполняем переход в раздел «Advanced», где находим и активируем строчку ACPI Configuration.

Настройка Restore on AC/Power Loss включается в позицию «Power On».

Когда необходимо установить конкретную дату включения, с помощью Enabled осуществляем активацию настройки автоматического включения RTC Alarm Power On.

Теперь надо выбрать, когда должен включаться компьютер: все без исключения дни (Every Day) либо по выделенным числам конкретного месяца. Для этого существует RTC Alarm Date Every Day. Чтобы определить время включения, обращаемся к RTC Alarm Time.

После установки нужных параметров включаем кнопку F10 или кликаем по Save Changes and Exit и иконке «ОК». В результате этих действий все настройки сохранятся, а компьютер перезагрузится.

BIOS American Megatrends Inc. V4.3, 21.10.2009
Находим раздел под названием Power Management Setup и выполняем переход.

Настройка Restore On AC Power Loss переводится в позицию «On».

А если требуется включение по графику, то выполняем активацию Resume By RTC Alarm.

Теперь необходимо включить активацию функции, которая выберет режим её задействования: ежедневно или по конкретно установленным числам, зайдя в пункт «Data». Установка времени осуществляется в «HH:MM:SS».

После сохранения настроек используем кнопку F10 для выхода из BIOS.
BIOS American Megatrends Inc. 0401, 05.05.2010
Выбрав раздел Power, открываем ARM Configuration.
Выбираем положение «Power On» для «Restore on AC Power Loss», теперь при подаче (возобновлении) тока компьютер будет запускаться.
Аналогично рассмотренным способам ежедневного автоматического включения либо в конкретные дни, переводим Power On By RTC Alarm в состояние Enabled.

Открывается доступ к настройкам, обеспечивающим включение каждый день в конкретно заданное время, вплоть до минут, а также секунд.
Если в этом будет необходимость, то можно также выполнить настройку на одну какую-то дату, опять же с указанием времени.
Выходим из настроек, не забыв их сохранить.

Когда необходимость включать компьютер автоматически отпадает, потребуется кликнуть на кнопку «Disabled» в настройках «Power On By RTC Alarm».

Мы перечислили версии BIOS, с которыми нам удалось поработать. Если на вашем компьютере установили иную базовую систему ввода-вывода, то наш материал поможет определить правильный путь и на них.
Настраиваем запланированный автозапуск компьютера по времени и дате в UEFI
Если после выключения компьютера нужно задействовать запуск в UEFI, осуществляются следующие действия:
- Выполняем вход в UEFI (делаем это так же, как в БИОС).
- Открыв главное окно, переходим в расширенный режим. Для этого нажимаем клавишу F7 либо активируем расположенную в нижней части экрана кнопку «Дополнительно».
- В открывшемся окне переходим в раздел APM.
- Если нужно включать компьютер при возобновлении или подаче питания, то выставляем в первой строке “Возобновление подачи питания” режим “Power On”. Для настройки автозапуска по времени активируем режим «Включение посредством RTC». Для этого нужно выделить строку, нажать enter (кнопка может различаться в зависимости от материнской платы) и выбрать “вкл”.
- В развернувшихся строках устанавливаем требуемые параметры автоматического включения компьютера.
- Сохраняем заданные параметры настроек и выходим из UEFI.
Заключение
Ну вот мы и разобрались, как организовать автоматическое включение компьютера при подаче питания или по времени и дате. Как вы убедились, в любых версиях БИОСа настройки выполняются по аналогии, будут лишь незначительные отличия. Что касается UEFI, мы показали лишь один пример. На личном опыте отмечу, что в материнских платах других производителей всё обстоит практически таким же образом.
Спасибо, помогло! 40

Как проверить блок питания компьютера на работоспособность

Как можно использовать блок питания от компьютера

Как сделать чтобы сири говорила при подключении зарядки к Айфону

Почему сильно гудит блок питания в компьютере

Можно ли включить блок питания без компьютера: пошаговая инструкция перемычки контактов
Как заставить ПК автоматически запускаться после отключения электричества
В зависимости от района, в котором мы живем, вполне возможно, что у нас частые перебои с электричеством или просто микроотключения, что, возможно, хуже. В этих случаях лучше всего использовать ИБП для предотвращения проблем, но если у нас его нет, вполне возможно, что нам понадобится наш ПК снова включился автоматически. Поэтому сегодня мы научим вас, как автоматически запускать наш компьютер после отключения электричества.
Нет ничего более раздражающего, чем быть посреди работы, и вдруг начинается буря, и электричество внезапно отключается. К счастью, если бы мы были осторожны, мы сохранили бы наши данные, чтобы продолжить работу. Однако наш компьютер, возможно, выполнял долгосрочную задачу, которая была внезапно прервана и требует перезагрузки. Хотя нам не нужно прибегать к такому сложному примеру, мы просто должны вернуться, чтобы продолжить нашу работу, и наше время было потеряно в процессе. И знаете, время — золото.

Как я могу немедленно загрузить компьютер в прежнее состояние? В идеале система хранения должна быть достаточно быстрой, чтобы можно было легко восстановить копию файла. Оперативная память. Но такой механизм не только требует очень быстрой памяти, но и должен вручную активироваться операционной системой, поэтому он не будет работать при отключении питания. Это приведет к непрерывной записи на жесткий диск или SSD, сокращая срок его полезного использования и ограничивая доступ к обоим.
Почему перебои в подаче электроэнергии характерны для каждого ПК?
Есть места, которые по разным причинам, таким как инфраструктура или неблагоприятные погодные условия, вызывают внезапное отключение питания, а вместе с ним и то, что выполняется на нашем ПК. Если это не что-то важное, мы действительно не возражаем против того, чтобы включить его вручную, но бывают ситуации, когда это невозможно, и желательно, чтобы компьютер снова включился и вернулся к работе, которую он выполнял.
Например, мы можем использовать маломощный ПК в качестве сервера, который позволяет нам загружать или обмениваться файлами или брандмауэр. Также возможно, что у нас есть RIG для майнинга или даже создана небольшая инфраструктура облачных вычислений для удаленной работы. Например, веб-сайт, размещенный на WordPress.
Во всех этих случаях и в том случае, если нас нет дома, когда происходит отключение питания, интересно знать, что, настроив наш ПК, он снова запустится, когда появится новый блок питания. Без необходимости идти самим, чтобы снова включить его. И это не сложный процесс, требующий передовых технических знаний. Как это сделать? Мы объясняем два основных шага, чтобы иметь возможность сделать это, если у вас есть Windows компьютер, который вы хотите, чтобы всегда работал, даже после временного отключения электроэнергии.
Первый шаг: настройка UEFI или BIOS ПК
Этот метод является лучшим из двух, так как он, как можно предположить, наиболее близок к исходной конфигурации оборудования. Для того, чтобы активировать его, нам нужно войти в БИОС или UEFI нашего ПК. Для этого во время запуска ПК вам нужно всего лишь нажать клавишу, соответствующую модели вашего компьютера.
Если вы не знаете, что это такое, то попробуйте нажать ДЕЛ, F2, F1 или F10 , обычно в таком порядке, так как первые два используются чаще всего. Как только это будет сделано, вы окажетесь в меню BIOS, внешний вид и порядок пунктов которого будут меняться в зависимости от производителя. Мы использовали для иллюстрации изображения производителя ASUS, но этот метод можно использовать с любым производителем.
- Как только мы войдем в BIOS или UEFI (зависит от платформы и материнской платы), нам придется перейти к различным разделам, которые будут совершенно разными для разных производителей и типов систем. Обычно правильные разделы: Питание, конфигурация ACPI и загрузка .
- В них нам нужно будет искать настройку, которая называется: Восстановление при отключении питания или при следующей загрузке после отключения питания , оно обычно не отличается от этих двух понятий.
- В этом параметре у нас будет всего четыре варианта, по два на каждый тип концепции. В Восстановление при пропадании переменного тока / мощности мы можем только активировать или деактивировать вариант, но если наш UEFI включает Следующая загрузка после потери питания переменного тока у нас будут варианты: Обычная загрузка или быстрая загрузка.
- В этом случае мы можем выбрать то, что нам больше подходит, хотя мы предлагаем выбрать обычную загрузку, чтобы UEFI выполнил полную контрольную сумму.
- После того, как опция выбрана, нам нужно будет только нажать кнопку F10 чтобы сохранить новую конфигурацию BIOS.
Благодаря этому изменению вы сможете убедиться, что ваш компьютер всегда включен и работает даже после отключения электроэнергии.
Второй шаг: настроить Windows
После того, как мы уже настроили BIOS или UEFI так, чтобы загрузочная система запускалась так же быстро, как есть питание для нашего компьютера, мы должны сделать следующий шаг, а именно, что задача загрузки нашего ПК состоит в том, чтобы запустить все компоненты и передать эстафету операционной системе, которая из-за того, что содержимое оперативной памяти будет утеряно, не вспомнит, где оно находилось до отключения электроэнергии.
Что ж, одна из вещей, которые Windows делает, когда это происходит, — это попытка восстановить диск при запуске во время процесса загрузки операционной системы. В чем проблема? Что ж, если нас нет, это может дать нам возможность восстановить устройство или снова перезапустить систему, оставив систему зависать в ожидании нашего ответа.
Однако это работоспособно и может быть выполнено с помощью простой команды в командной строке. Для этого вам достаточно ввести CMD в поле поиска на панели задач и щелкните правой кнопкой мыши «Командная строка» и выберите «Запуск от имени администратора».
Оказавшись внутри, вам просто нужно написать следующее:
bcdedit /set <по умолчанию>bootstatuspolicy ignoreshutdownfailures
Вы нажимаете клавишу ввода, и вы получите сообщение о том, что операция была выполнена без каких-либо проблем и правильно. Это предотвратит зависание операционной системы при запуске и нормальную загрузку. Хотя к этому моменту мы добьемся того, что появится рабочий стол Windows. По этой причине мы рекомендуем вам назначить соответствующие программы, которые вы хотите иметь в фоновом режиме, чтобы они запускались сразу при запуске Windows и могли продолжать выполнять свою работу снова без нашего вмешательства.