Полное руководство: как перезагрузить Ubuntu с клавиатуры

Если система Ubuntu зависла и мышь перестала реагировать, единственный надежный способ вернуть управление без физического отключения питания — использовать специфичесную последовательность нажатий на клавиатуре. Операционная система Linux предоставляет мощный механизм Magis (Magic SysRq), который позволяет отправлять низкоуровневые сигналы ядру даже при полной блокировке графического интерфейса. Однако по умолчанию эта функция часто отключена или требует предварительной настройки в конфигурационных файлах.

Пользователи, привыкшие к графическим меню, могут не знать, что Alt и Print Screen в связке с другими клавишами способны инициировать корректную перезагрузку или аварийное завершение работы. Понимание разницы между стандартным командами в терминале и аварийными комбинациями критически важно для администрирования серверов и рабочих станций, где доступ к монитору может быть ограничен или отсутствовать вовсе.

Базовый метод: стандартные комбинации клавиш

Самый простой способ перезагрузить систему, если графическая оболочка еще откликается, но доступ к меню «Пуск» или терминалу затруднен, — это использование стандартных горячих клавиш. В большинстве сборок Ubuntu с окружением рабочего стола GNOME или KDE действуют универсальные сочетания, которые вызывают диалог завершения работы.

Если курсор двигается, но мышь не нажимает кнопки, попробуйте нажать Ctrl + Alt + Del. Это классическое сочетание в Linux, которое обычно открывает окно с выбором действия: перезагрузка, выключение или блокировка. В некоторых конфигурациях это сочетание может сразу инициировать перезагрузку без подтверждения, поэтому будьте внимательны.

Альтернативный вариант — использование сочетания Alt + F1 (или F2, F3 в зависимости от версии) для вызова меню приложений, где можно найти значок управления питанием. Если графический интерфейс полностью «заморожен», этот метод не сработает, и придется переходить к более глубоким инструментам ядра.

Активация и использование Magic SysRq

Механизм Magic SysRq — это «последняя надежда» администратора, позволяющая выполнять команды ядра напрямую, минуя графическую оболочку. Чтобы использовать его для перезагрузки, нужно знать последовательность нажатий: удерживая Alt и Print Screen (SysRq), по очереди нажимать определенные клавиши. Эта последовательность известна как REISUB.

Каждая буква в слове REISUB соответствует конкретному действию ядра, которое выполняется с интервалом в полсекунды: R (Raw) возвращает управление клавиатурой из X-сервера, E (End) завершает процессы, I (Kill) убивает процессы, S (Sync) синхронизирует данные на диск, U (Unmount) размонтирует файловые системы, и B (Boot) перезагружает систему. Эта последовательность предотвращает коррупцию файловой системы при резком отключении питания.

Важно убедиться, что функция включена в ядре. По умолчанию в современных версиях Ubuntu она может быть ограничена. Для проверки выполните команду в терминале: cat /proc/sys/kernel/sysrq. Значение 1 означает полную активность, 0 — отключено. Если значение другое, возможно, включение требует прав суперпользователя.

Техническая деталь

как работает REISUB:Буква R переключает клавиатуру в прямой режим, E посылает сигнал SIGTERM всем процессам, I посылает SIGKILL, S сбрасывает буферы на диск, U пересобирает файловые системы в режим только для чтения, B делает мягкий ребоут. Если система не отвечает, нажимайте буквы медленно, давая ядру время обработать каждую команду.

📊 Какой метод перезагрузки вы используете чаще всего?
Стандартное меню (Ctrl+Alt+Del)
Команда sudo reboot
Магическая SysRq (REISUB)
Кнопка Reset на корпусе

Перезагрузка через терминал и командную строку

Если у вас есть доступ к терминалу, даже если графический интерфейс не работает, это самый надежный способ перезагрузки. Нажмите Ctrl + Alt + F3 (или F4, F5, F6), чтобы переключиться в текстовую консоль TTY. Здесь вы увидите приглашение входа в систему, где нужно ввести логин и пароль.

После авторизации используйте команду sudo reboot или sudo shutdown -r now. Эти команды корректно останавливают все демоны, выгружают модули ядра и перезагружают систему без риска повреждения данных. Команда reboot является синонимом shutdown -r now и работает на большинстве дистрибутивов Linux.

Для принудительной перезагрузки, когда система не отвечает на стандартные сигналы, можно использовать флаг -f в команде reboot или выполнить sudo reboot -f. Однако принудительная перезагрузка должна использоваться только в крайних случаях, так как она игнорирует процедуры безопасного завершения работы файловых систем.

☑️ Чек-лист перед принудительным перезапуском

Выполнено: 0 / 4

Решение проблем при зависании системы

Иногда даже комбинация Magic SysRq может не сработать, если ядро зависло на уровне драйверов или оборудования. В таких ситуациях остается только физическое воздействие, но перед этим стоит проверить настройки безопасности BIOS/UEFI. В некоторых случаях настройка APIC или ACPI в BIOS может блокировать программные прерывания от клавиатуры.

Если клавиатура не реагирует на нажатия, проблема может быть в драйвере ввода. Попробуйте переключиться на другую консоль, нажав Ctrl + Alt + F1. Если там текст появляется, значит, проблема исключительно в графическом сервере (Xorg или Wayland), и команда sudo systemctl restart gdm может решить проблему без полной перезагрузки.

⚠️ Внимание: Не пытайтесь перезагружать систему кнопкой Reset на корпусе, пока не исчерпаны все программные методы, так как это может привести к потере данных и необходимости восстановления файловой системы через chkdsk или fsck.

Настройка автозапуска перезагрузки при сбое

Для серверов и удаленных машин полезно настроить автоматическую перезагрузку при возникновении критических ошибок ядра (Kernel Panic). Это можно сделать через настройку параметра panic в proc. Если система падает, она автоматически перезагрузится через заданное время, что минимизирует простой.

Для этого необходимо отредактировать файл /etc/sysctl.conf и добавить строку kernel.panic = 10. Это означает, что при панике ядра система подождет 10 секунд и перезагрузится. Также полезно включить аппаратный мониторинг через IPMI или Watchdog, если оборудование поддерживает эти функции.

Команда / Действие Сценарий использования Риск потери данных
Ctrl + Alt + Delete Графический интерфейс работает Низкий
sudo reboot Текстовая консоль доступна Низкий
REISUB (Magic SysRq) Графический интерфейс завис, консоль недоступна Средний
sudo reboot -f Система не отвечает на сигналы Высокий
Кнопка Reset Полная блокировка ядра Критический

Дополнительные команды и утилиты

Помимо базовых команд, в системе есть утилита wall, которая позволяет отправить сообщение всем пользователям перед перезагрузкой. Это полезно, если вы администрируете сервер, а другие пользователи работают на нем. Команда wall "Система будет перезапущена через 5 минут" оповестит всех.

Также стоит упомянуть утилиту shutdown с параметрами времени. Например, sudo shutdown -r +5 запланирует перезагрузку через 5 минут, дав пользователям время сохранить данные. Параметр -c позволяет отменить запланированную перезагрузку, если ситуация изменилась.

Для диагностики проблем с загрузкой после перезагрузки используйте команду dmesg | tail, чтобы увидеть последние сообщения ядра. Это поможет понять, была ли перезагрузка корректной или произошел сбой на уровне оборудования.

⚠️ Внимание: Использование команды reboot -f игнорирует скрипты завершения работы, что может привести к тому, что службы баз данных не успеют корректно закрыть транзакции, вызвав повреждение файлов.

Аварийные сценарии и безопасность

Если ни одна из программных команд не срабатывает, а система полностью зависла, единственным выходом остается физическое отключение питания. Однако это крайняя мера, которая может повредить файловую систему. В таких случаях рекомендуется использовать аппаратный watchdog (сторожевой таймер), который автоматически перезагружает систему при отсутствии ответа от процессора.

В современных серверных корпусах часто присутствуют кнопки Reset или Power, которые при коротком нажатии имитируют программную команду перезагрузки. Если зажать кнопку на 5-10 секунд, произойдет принудительное отключение, аналогичное выдергиванию шнура.

Для предотвращения подобных ситуаций в будущем настройте мониторинг системных ресурсов (CPU, RAM, Disk I/O) с помощью утилит типа htop или glances. Это позволит вовремя обнаружить перегрузку и перезагрузить систему до полного зависания.

Информация для разработчиков

В ядрах Linux 5.15 и новее добавлена поддержка перезагрузки по команде SysRq для виртуальных машин, что упрощает управление инстансами в облачных средах без физического доступа.

FAQ: Часто задаваемые вопросы

Что делать, если комбинация REISUB не работает?

Скорее всего, функция Magic SysRq отключена в ядре. Попробуйте проверить значение файла /proc/sys/kernel/sysrq. Если там 0, включите её командой echo 1 | sudo tee /proc/sys/kernel/sysrq. Также убедитесь, что клавиатура подключена и работает на уровне ядра.

Можно ли перезагрузить Ubuntu без прав суперпользователя?

Обычно перезагрузка требует прав root. Однако, если ваш пользователь входит в группу sudo и настроен polkit соответствующим образом, графическое меню может позволить перезагрузку без ввода пароля. В терминале команда sudo reboot всегда запрашивает пароль.

Чем отличается команда reboot от shutdown -r?

Функционально они практически идентичны. shutdown -r now — это классическая команда, которая сначала отправляет сигнал завершения процессов, а затем вызывает перезагрузку. reboot — это более современная обертка, которая делает то же самое, но с более детальным логированием в современных системах systemd.

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

Для отключения автоматической перезагрузки при Kernel Panic установите параметр kernel.panic в 0. Это можно сделать, отредактировав файл /etc/sysctl.conf и добавив строку kernel.panic = 0, затем применив изменения командой sudo sysctl -p.

⚠️ Внимание: Регулярное использование аварийной перезагрузки без диагностики причины зависания может привести к накоплению ошибок файловой системы и нестабильной работе системы в долгосрочной перспективе.