Как перезагрузить зависший Linux с клавиатуры: пошаговая инструкция

При полной блокировке графического интерфейса Linux — когда курсор замирает, клавиатура не отзывается на сочетания вроде Alt+Tab или Super (Win), а терминал не открывается — причиной чаще всего становятся сбои в Xorg/Wayland, драйверах видеокарты или нехватка оперативной памяти. Прежде чем принудительно перезагружать систему, проверьте реакцию на «волшебные» комбинации (Alt+SysRq + REISUB), чтобы избежать повреждения файловой системы: резкое отключение питания может привести к потере данных или нарушению загрузочного раздела, особенно на ext4/btrfs с включённым journaling.

Мы рассмотрим методы от самых «мягких» (попытка восстановления работоспособности без перезагрузки) до «жёстких» (принудительное отключение). Особое внимание уделим безопасности данных — ведь неправильная перезагрузка может привести к повреждению файлов или даже потере несохранённой информации. Все способы протестированы на популярных дистрибутивах: Ubuntu, Debian, Fedora, Arch Linux и openSUSE.

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

1. Попытка восстановления без перезагрузки: сочетания клавиш для «размораживания»

Прежде чем прибегать к радикальным мерам, попробуйте «разбудить» систему стандартными комбинациями. Они срабатывают, если зависло только графическое окружение (GNOME, KDE, XFCE), а ядро Linux продолжает отвечать.

  • 🔄 Переключение на другую виртуальную консоль: нажмите Ctrl + Alt + F2 (или F3F6). Если откроется текстовый терминал, авторизуйтесь и введите команду sudo systemctl restart gdm (для GNOME) или sudo systemctl restart sddm (для KDE). Это перезапустит графическую оболочку без полной перезагрузки.
  • 🖥️ Перезапуск X-сервера: если виртуальные консоли не отвечают, попробуйте Ctrl + Alt + Backspace. В современных дистрибутивах эту комбинацию часто отключают по умолчанию, но её можно включить через setxkbmap -option terminate:ctrl_alt_bksp (заранее!).
  • 🔑 Аварийный выход из Xorg: если курсор мыши замер, но клавиатура работает, нажмите Ctrl + Alt + F1, авторизуйтесь и выполните pkill -9 Xorg. Это принудительно завершит графический сервер.

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

2. «Мягкая» перезагрузка: команды через Magic SysRq

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

Порядок действий:

  1. Удерживайте Alt + SysRq (на некоторых клавиатурах SysRq совмещена с PrtSc — потребуется нажать Fn).
  2. Не отпуская их, последовательно нажмите клавиши: REISUB (запомните как «REISUB»).
  3. Система должна перезагрузиться через 10–20 секунд.

Что делает каждая клавиша:

КлавишаДействие
RПереключает клавиатуру в режим raw (обход X-сервера)
EОтправляет сигнал SIGTERM всем процессам (мягкое завершение)
IОтправляет сигнал SIGKILL оставшимся процессам (принудительное завершение)
SСинхронизирует файловую систему (предотвращает потерю данных)
UРазмонтирует файловую систему в режиме read-only
BПерезагружает систему

Критически важно: если пропустить шаг с синхронизацией файловой системы (клавиша S), риск повреждения данных возрастает в 5–10 раз! Некоторые дистрибутивы (например, Ubuntu Server) отключают Magic SysRq по умолчанию. Чтобы включить его заранее, добавьте в /etc/sysctl.conf строку:

kernel.sysrq = 1
📊 Как часто ваш Linux зависает?
Никогда
Раз в несколько месяцев
Раз в неделю
Ежедневно

3. Перезагрузка через SSH или сетевую консоль

Если у вас есть доступ к зависшей машине по SSH (например, это удалённый сервер), попробуйте перезагрузить её командой:

sudo shutdown -r now

или более жёстким вариантом:

sudo reboot -f

Ключ -f означает force (принудительно), но даже он не сработает, если ядро полностью заблокировано. В этом случае поможет только Magic SysRq (раздел 2) или физическое отключение питания.

  • 🌐 Для облачных серверов (AWS, Google Cloud, Azure): используйте веб-консоль провайдера. У всех хостеров есть опция «Emergency Reboot» или «Hard Reset».
  • 🔌 Для локальных машин: если SSH не отвечает, но ping проходит (ping ваш_IP), значит, сеть работает, а проблема в графике или ядре. Попробуйте подключиться через IPMI (для серверов) или Wake-on-LAN.
Что делать, если SSH тоже завис?

Если команда sudo reboot не срабатывает, а Magic SysRq отключён, остаётся только физический доступ. Для серверов в дата-центре обратитесь в поддержку хостера с запросом на hard reset. Для домашнего ПК — используйте кнопку питания (удерживайте 5–10 секунд).

4. Принудительное отключение: когда ничего не помогает

Если все предыдущие методы не сработали, остаётся последний шанс — аппаратный сброс. Это самый опасный способ, так как может привести к повреждению файловой системы, особенно если в момент зависания шла запись на диск.

  • Кнопка Reset: на коробочных ПК иногда есть отдельная кнопка Reset (не путать с Power!). Она мягче, чем полное отключение питания.
  • 🔘 Кнопка Power: удерживайте её 5–10 секунд, пока ПК не выключится. Затем включите его снова.
  • 🔌 Отключение питания: вытащите кабель из розетки или нажмите кнопку на блоке питания. Используйте только если кнопка Power не срабатывает!
⚠️ Внимание: Если на вашем ПК установлены SSD-накопители, риск повреждения данных при принудительном отключении ниже, чем на HDD, но всё равно присутствует. После такой перезагрузки обязательно запустите fsck для проверки файловой системы!

После аппаратного сброса Linux обычно запускает автоматическую проверку дисков. Если этого не произошло, выполните её вручную:

sudo fsck -f /dev/sdX

(замените sdX на ваш раздел, например, sda1).

5. Как предотвратить зависания в будущем

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

  • 🔍 Проверьте логи: после перезагрузки изучите файлы /var/log/syslog и /var/log/kern.log на предмет ошибок. Ищите строки с OOM (нехватка памяти), kernel panic или IO error.
  • 🖥️ Обновите драйверы: частая причина зависаний — нестабильные драйверы видеокарты (особенно NVIDIA). Установите проприетарные драйверы или откатйтесь на старую версию.
  • 📊 Мониторинг ресурсов: используйте утилиты вроде htop, glances или nmon, чтобы отслеживать нагрузку на CPU, RAM и диск в реальном времени.
  • ⚙️ Настройте swappiness: если система зависает при нехватке памяти, уменьшите значение vm.swappiness в /etc/sysctl.conf до 10 (по умолчанию 60).

Для диагностики «зависаний» полезны команды:

dmesg | grep -i error   # Показывает критические ошибки ядра

journalctl -p 3 -xb # Логи системных сбоев

sar -u 1 10 # Мониторинг загрузки CPU

Проверьте целостность файловой системы (fsck)

Обновите пакеты (sudo apt update && sudo apt upgrade)

Удалите ненужные службы (systemctl list-units --type=service)

Создайте дамп памяти для анализа (sudo sysctl kernel.core_pattern)

-->

6. Альтернативные методы: что делать, если клавиатура не отвечает

В редких случаях зависание бывает настолько глубоким, что клавиатура перестаёт реагировать даже на Magic SysRq. Вот что можно попробовать:

  • 🖱️ USB-переподключение: если клавиатура подключена по USB, вытащите и снова вставьте разъём. Иногда это «будит» контроллер USB.
  • 🔌 PS/2-клавиатура: если у вас старый ПК с разъёмом PS/2, подключите клавиатуру к нему — этот порт обрабатывается на более низком уровне, чем USB.
  • 📱 Удалённое управление: если на машине настроен VNC или TeamViewer, попробуйте подключиться с другого устройства (смартфона, планшета).

Для серверов без физического доступа:

  • 🖥️ IPMI/KVM: если сервер поддерживает IPMI (например, Dell iDRAC, HP iLO), подключитесь через веб-интерфейс и выполните перезагрузку.
  • 🌍 Облачные консоли: в AWS это EC2 Serial Console, в Google CloudSerial Port.
⚠️ Внимание: На некоторых ноутбуках (например, Lenovo ThinkPad) клавиша SysRq может требовать дополнительного нажатия Fn. Если комбинации не срабатывают, проверьте BIOS: иногда Magic SysRq отключён в настройках безопасности.

7. Восстановление после аварийной перезагрузки

После принудительной перезагрузки Linux может запуститься в аварийном режиме (emergency mode) или предложить проверку дисков. Вот что делать дальше:

  1. Проверка файловой системы:
    sudo fsck -fy /dev/sdX

    (замените sdX на ваш корневой раздел; ключ -f принудительно запускает проверку, -y автоматически отвечает «да» на все вопросы).

  2. Восстановление загрузчика (если система не грузится):
    sudo grub-install /dev/sdX
    

    sudo update-grub

  3. Проверка целостности пакетов (для Debian/Ubuntu):
    sudo apt --fix-broken install
    

    sudo dpkg --configure -a

Если после перезагрузки пропали файлы или папки, попробуйте восстановить их из снапшотов (если используете Btrfs или ZFS) или резервных копий. Для Ext4 можно использовать утилиту extundelete:

sudo extundelete /dev/sdX --restore-all

FAQ: Частые вопросы о перезагрузке зависшего Linux

Можно ли использовать Ctrl+Alt+Del в Linux?

Да, но работает это не всегда. В большинстве дистрибутивов Ctrl+Alt+Del настроен на вызов менеджера задач или перезагрузку, но если система зависла на уровне ядра, комбинация не сработает. Чтобы настроить её вручную, отредактируйте файл /etc/systemd/system/ctrl-alt-del.target или используйте команду:

sudo systemctl enable ctrl-alt-del.target
Почему Magic SysRq не работает?

Причин несколько:

  • Отключён в ядре (проверьте cat /proc/sys/kernel/sysrq — должно быть 1).
  • Клавиатура не распознаётся на низком уровне (попробуйте PS/2).
  • Ядро полностью заблокировано (тогда поможет только кнопка Reset).

Чтобы включить Magic SysRq на постоянной основе, добавьте в /etc/sysctl.conf:

kernel.sysrq = 1
Как перезагрузить Linux на MacBook?

На MacBook с Linux комбинации отличаются:

  • Magic SysRq: вместо Alt используйте Option (⌥) + Cmd (⌘) + PrtSc (если клавиша есть).
  • Принудительное выключение: удерживайте кнопку питания 10 секунд.
  • Touch Bar: если клавиатура не отвечает, попробуйте вызвать SMC Reset (зажмите Control + Option + Shift + кнопка питания на 10 сек).
Что делать, если после перезагрузки не грузится графический интерфейс?

Возможные решения:

  1. Переустановите драйвер видеокарты:
    sudo apt purge nvidia-* && sudo apt install nvidia-driver-535

    (замените 535 на актуальную версию).

  2. Пересоздайте конфигурацию Xorg:
    sudo Xorg -configure
  3. Проверьте логи:
    cat /var/log/Xorg.0.log | grep -i error
Как автоматизировать перезагрузку при зависании?

Можно настроить watchdog — службу, которая перезагружает систему при отсутствии отклика. Установите пакет:

sudo apt install watchdog

Затем отредактируйте /etc/watchdog.conf, раскомментировав строку:

watchdog-device = /dev/watchdog

И запустите службу:

sudo systemctl enable --now watchdog

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