При полной блокировке графического интерфейса 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(илиF3–F6). Если откроется текстовый терминал, авторизуйтесь и введите команду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 механизм, позволяющий безопасно перезагрузить систему даже при полном зависе. Он работает на уровне ядра, поэтому срабатывает даже когда обычные команды не отвечают. Для активации требуется физический доступ к клавиатуре (не подходит для удалённых серверов).
Порядок действий:
- Удерживайте
Alt + SysRq(на некоторых клавиатурахSysRqсовмещена сPrtSc— потребуется нажатьFn). - Не отпуская их, последовательно нажмите клавиши:
R→E→I→S→U→B(запомните как «REISUB»). - Система должна перезагрузиться через 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
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 Cloud — Serial Port.
⚠️ Внимание: На некоторых ноутбуках (например, Lenovo ThinkPad) клавишаSysRqможет требовать дополнительного нажатияFn. Если комбинации не срабатывают, проверьте BIOS: иногда Magic SysRq отключён в настройках безопасности.
7. Восстановление после аварийной перезагрузки
После принудительной перезагрузки Linux может запуститься в аварийном режиме (emergency mode) или предложить проверку дисков. Вот что делать дальше:
- Проверка файловой системы:
sudo fsck -fy /dev/sdX(замените
sdXна ваш корневой раздел; ключ-fпринудительно запускает проверку,-yавтоматически отвечает «да» на все вопросы). - Восстановление загрузчика (если система не грузится):
sudo grub-install /dev/sdXsudo update-grub
- Проверка целостности пакетов (для Debian/Ubuntu):
sudo apt --fix-broken installsudo 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 сек).
Что делать, если после перезагрузки не грузится графический интерфейс?
Возможные решения:
- Переустановите драйвер видеокарты:
sudo apt purge nvidia-* && sudo apt install nvidia-driver-535(замените
535на актуальную версию). - Пересоздайте конфигурацию Xorg:
sudo Xorg -configure - Проверьте логи:
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 минуты.