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

Система зависла, и мышка перестала реагировать на движения, заставляя искать кнопку питания на корпусе компьютера. В такой ситуации крайне важно знать, как перезагрузить Linux с клавиатуры, не прибегая к жесткому отключению электроэнергии, которое может повредить файловую систему. Использование специальных комбинаций клавиш или консольных команд позволяет безопасно завершить работу всех процессов и инициировать корректный перезапуск ядра Linux.

Многие пользователи привыкли нажимать физическую кнопку, но это крайняя мера, применяемая только при полной потере отзывчивости ввода. Гораздо эффективнее использовать встроенные механизмы управления питанием, доступные через term или специальные последовательности нажатий. Понимание различий между методами поможет выбрать наиболее подходящий вариант в зависимости от текущего состояния операционной системы.

Использование командной строки для безопасной перезагрузки

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

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

В некоторых дистрибутивах, например Ubuntu или Fedora, может потребоваться указание пароля sudo для выполнения этой операции. Если у вас есть права суперпользователя, введите следующую команду в терминале:

sudo reboot

Альтернативная команда sudo systemctl reboot является более современной и интегрирована в инициализационную систему systemd, которая используется в большинстве современных дистрибутивов. Она обеспечивает более детальный контроль над процессом остановки сервисов.

  • 🔹 Команда reboot — классический метод, работающий в большинстве систем.
  • 🔹 Команда shutdown -r now — позволяет указать точное время перезагрузки.
  • 🔹 Команда systemctl reboot — современный стандарт для систем на базе systemd.

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

☑️ Подготовка к перезагрузке из терминала

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

Магические последовательности клавиш SysRq

Если система полностью зависла, и терминал недоступен, на помощь приходит механизм Magical SysRq (System Request). Это низкоуровневый инструмент ядра Linux, позволяющий управлять компьютером на уровне драйверов, минуя зависшие пользовательские процессы. Для активации этой функции обычно используется комбинация клавиш Alt + Print Screen (или Print SysRq). На некоторых клавиатурах клавиша Print Screen может называться просто PrtSc.

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

Последовательность действий выглядит следующим образом: зажмите Alt + Print Screen и по очереди нажимайте клавиши: R, E, I, S, U, B. Между нажатиями делайте паузу в 1-2 секунды, чтобы убедиться, что система успевает обработать команду. Буква B означает "Boot" (загрузка), которая и инициирует перезапуск.

Детали работы SysRq

Механизм SysRq требует предварительной настройки в ядре. Команда "echo 1 > /proc/sys/kernel/sysrq" включает его полностью. Рекомендуется устанавливать значение 176 для безопасности, чтобы разрешить только полезные кнопки.

  • 🔹 R (Raw) — переключает клавиатуру в режим без захвата, возвращая управление системе.
  • 🔹 E (End) — посылает сигнал SIGTERM всем процессам, кроме инициализации.
  • 🔹 I (Kill) — посылает сигнал SIGKILL всем процессам, за исключением init.
  • 🔹 S (Sync) — сохраняет данные на диске, синхронизируя буферы.

⚠️ Внимание: Использование последовательности REISUB требует, чтобы функция SysRq была включена в конфигурации ядра вашей системы. Если ничего не происходит, попробуйте включить её через sysctl заранее.

Настройка горячих клавиш в графических средах

В современных графических окружениях, таких как GNOME, KDE Plasma или Xfce, перезагрузка часто назначена на удобную комбинацию клавиш. Обычно это Ctrl + Alt + Delete. Однако поведение этой комбинации может меняться в зависимости от настроек оконного менеджера. В некоторых случаях она вызывает меню завершения работы, а в других — сразу перезагружает систему.

Чтобы проверить или изменить назначение горячей клавиши, необходимо зайти в настройки системы. В GNOME это раздел "Клавиатура" -> "Просмотр и изменение сочетаний клавиш". В KDE Plasma путь лежит через "Системные настройки" -> "Ядро" -> "Горячие клавиши". Здесь можно назначить действие "Перезагрузить компьютер" на любую удобную комбинацию, например, Ctrl + Alt + Del или F12.

Важно учитывать, что в некоторых минималистичных средах (например, i3wm или Awesome) горячие клавиши определяются в конфигурационных файлах. Для изменения потребуется отредактировать файл ~/.config/i3/config и добавить строку: bindsym Mod4+Shift+Reboot exec reboot. Это дает полный контроль над тем, какая комбинация приводит к перезагрузке.

Окружение рабочего стола Стандартная комбинация Настройки для изменения
GNOME Ctrl + Alt + Delete Параметры системы -> Клавиатура -> Сочетания
KDE Plasma Ctrl + Alt + Delete Системные настройки -> Горячие клавиши
Xfce Ctrl + Alt + Delete Настройки сеанса -> Ключи клавиатуры
XFCE (минималистичный) Зависит от конфигурации Редактор xfce4-keyboard-settings

Использование аварийной перезагрузки через GRUB

Если система не загружается или застревает на этапе загрузки ядра, перезагрузку можно выполнить через меню загрузчика GRUB. Этот метод применяется, когда ОС еще не запущена, но необходимо перезагрузиться для изменения параметров загрузки или проверки нового ядра. При запуске компьютера, сразу после включения, нужно удерживать клавишу Shift (для BIOS) или Esc (для UEFI), чтобы вызвать меню GRUB.

В меню GRUB обычно нет прямой кнопки "Перезагрузить", но можно выбрать другую запись ядра или режим восстановления (Recovery Mode). Если нужно просто перезагрузить компьютер, находясь в меню, можно выбрать опцию "Reboot" или нажать клавишу R, если она назначена в конфигурации. В некоторых версиях GRUB доступна опция перезагрузки через клавишу F10 или Esc в зависимости от темы оформления.

Для принудительного выхода из меню GRUB с перезагрузкой можно использовать комбинацию клавиш, но чаще всего этот метод используется для входа в режим восстановления. Если система зависла на этапе загрузки, и вы не можете вызвать меню, придется использовать физическую кнопку питания, так как клавиатура может еще не быть инициализирована.

⚠️ Внимание: В режиме GRUB клавиатура работает в ограниченном режиме. Если вы не видите курсора или реакция на нажатия отсутствует, попробуйте подключить клавиатуру в порт USB 2.0, а не 3.0/3.1, так как драйверы USB 3.0 могут загружаться позже.

Анализ причин зависания и выбор метода

Выбор способа перезагрузки зависит от того, на каком этапе зависла система. Если завис графический интерфейс, но ядро работает, лучшим решением будет переключение в TTY и использование команды reboot. Если ядро зависло, но драйверы клавиатуры и дисплея еще активны, используйте последовательность REISU. Только при полной потере отклика (черный экран, отсутствие реакции на Caps Lock) приходится прибегать к аппаратной кнопке.

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

Иногда проблема кроется в настройках энергосбережения. Если клавиатура перестает работать после сна, проверьте настройки ACPI. Может потребоваться добавить параметр acpi=off или pci=noacpi в параметры загрузки ядра. Это исключит конфликты, из-за которых клавиатура не реагирует даже при попытке вызвать терминал.

Проблемы совместимости клавиатур и дистрибутивов

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

В дистрибутивах с минималистичным ядром, таких как Alpine Linux или специализированные Live-USB сборки, функция SysRq может быть отключена по умолчанию. Это сделано для экономии ресурсов и повышения безопасности. В таких случаях необходимо вручную включить функцию, добавив параметр sysrq=1 в загрузочные аргументы ядра через GRUB перед загрузкой системы.

Также стоит отметить, что в виртуальных машинах (VirtualBox, VMware) комбинации клавиш могут перехватываться хост-системой. Для отправки команды SysRq в виртуальную машину часто требуется использовать специальное меню хоста или изменить настройки захвата клавиатуры. В VirtualBox это делается через меню "Ввод" -> "Клавиатура" -> "Отправить SysRq".

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

Что делать, если комбинация Alt + Print Screen не работает?

Возможно, функция SysRq отключена в ядре. Проверьте содержимое файла /proc/sys/kernel/sysrq. Если там стоит 0, включите её командой echo 1 > /proc/sys/kernel/sysrq. Также проверьте, не требует ли ваша клавиатура нажатия Fn для доступа к Print Screen.

Можно ли перезагрузить Linux, если нет прав root?

Нет, команды reboot и shutdown требуют прав суперпользователя. Вы можете запросить пароль через sudo, но если терминал недоступен, без прав root перезагрузка возможна только через аппаратную кнопку питания или SysRq (если она включена глобально).

Как понять, что ядро Linux зависло полностью?

Если клавиша Caps Lock на клавиатуре не меняет режим при нажатии, значит, управление клавиатурой потеряно, и ядро полностью зависло. В этом случае последовательность SysRq может не сработать, и придется использовать кнопку питания.

Влияет ли перезагрузка через консоль на целостность данных?

Если вы используете команды reboot или shutdown, данные сохраняются полностью. При использовании SysRq (REISUB) также происходит синхронизация дисков. Жесткое отключение питания — единственный метод, угрожающий целостности данных.

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

В некоторых системах можно настроить watchdog-таймер, который автоматически перезапустит систему при зависании ядра. Это делается через модуль ядра kdump или аппаратный watchdog в BIOS/UEFI, но требует сложной настройки.