Восстановление после сбоев загрузки
Когда компьютер не загружается как обычно, это изрядно нервирует! Вот несколько способов восстановления:
Откат к предыдущей версии ОС
Если сбой загрузки начался после обновления системы, откат к предыдущей версии, как правило, устраняет его.
Для этого:
- Включите или перезагрузите компьютер.
- Удерживайте Пробел, пока не появится экран выбора версии ОС (белым текстом по центру экрана на чёрном фоне).
- Нажмите клавишу «стрелка вниз» один раз, чтобы выбрать предыдущую версию ОС, либо выберите любую другую.
- Нажмите Enter, чтобы загрузиться в неё.
Если это устранило проблему, сообщите о ней по адресу https://invent.kde.org/kde-linux/kde-linux/-/issues/ и приложите вывод команды journalctl --boot -1 --no-pager, выполненной в окне терминала.
Если это не помогло, можно поменять способ загрузки системы, отредактировав параметры командной строки ядра, — и применить разные подходы к отладке:
Изменение способа загрузки через командную строку ядра
Это опасная процедура!
Будьте осторожны с описанными здесь параметрами. Если вы не технический специалист и не понимаете, что делаете, этими средствами легко сделать только хуже.Чтобы изменить командную строку ядра:
- Включите или перезагрузите компьютер.
- Удерживайте Пробел, пока не появится экран выбора версии ОС (белым текстом по центру экрана на чёрном фоне).
- Нажмите клавишу e.
- Появится текстовое поле с очень длинным содержимым — это и есть командная строка ядра.
Отключение расширений systemd
Добавьте systemd.mask=systemd-sysext.service в командную строку ядра и нажмите Enter.
Это полезно, если у вас есть активные расширения systemd и сбой загрузки начался после обновления содержимого одного из них — возможно, причина в этом. Временное отключение расширений должно снять проблему, пока вы не разберётесь, что не так с этим расширением.
Если это сработало, после входа в систему разберитесь, что не так с расширением, и исправьте это. Если не получается — отключите его.
Обход проблем с экраном входа или Plasma
Добавьте systemd.unit=multi-user.target в командную строку ядра и нажмите Enter.
Это полезно, если экран входа или Plasma не запускаются либо падают снова и снова: можно загрузиться в среду командной строки в обход обоих и вести отладку уже там.
Если в ходе отладки выяснится, что проблема возникла не из-за ваших действий, создайте сообщение об ошибке для команды KDE Linux, чтобы её изучили.
Вход в аварийную оболочку root
- Добавьте
systemd.debug_shell=on SYSTEMD_SULOGIN_FORCE=1в командную строку ядра и нажмите Enter. - Дождитесь, пока экран станет чёрным и останется таким на несколько секунд.
- Нажмите Ctrl+Alt+F9 (примечание: на ноутбуке может также потребоваться удерживать Fn).
Теперь вы находитесь в аварийной оболочке root.
Если в ходе отладки выяснится, что проблема возникла не из-за ваших действий, создайте сообщение об ошибке для команды KDE Linux, чтобы её изучили.
Откат /etc
Бывает, что во время работы в какой-то сборке каталог /etc изменяется так, что становится несовместим с более старыми сборками.
После отката ОС это проявляется странными неполадками: чёрный экран или система не принимает пароль при входе.
Чтобы всё починить, замените сломанный /etc более старым рабочим — вот так:
- Получите оболочку любым из указанных выше способов и выполните следующие команды:
run0 mv /etc /etc.brokenrun0 btrfs subvolume snapshot $(ls -d -1 /.etc.* | tail -2 | head -1) /etcsystemctl reboot
Эти ручные действия перестанут быть нужны, когда будет решена задача https://invent.kde.org/kde-linux/kde-linux/-/issues/505.
Дополнительные сведения
Дополнительные параметры отладки см. на https://systemd.io/DEBUGGING. В KDE Linux используется исключительно systemd, поэтому все сведения на этой странице актуальны.
Статья предоставлена Nate Graham и распространяется под лицензией CC-BY-4.0.