Відновлення після критичних помилок завантаження
Це може бути досить неприємно, коли комп'ютер не завантажується нормально! Ось деякі механізми відновлення:
Повернення до старішої версії операційної системи (ОС)
Якщо помилка завантаження почала виникати після оновлення системи, відкочування до старішої версії зазвичай вирішує цю проблему.
Щоб зробити це,
- Увімкніть або перезапустіть комп'ютер.
- Утримуйте клавішу Пробіл, доки не з’явиться вікно вибору версії ОС (білим текстом у центрі екрана, на чорному тлі).
- Натисніть клавішу зі стрілкою вниз один раз, щоб вибрати попередню або іншу версію ОС.
- Натисніть клавішу Enter, щоб завантажити цю версію.
Якщо проблему буде розв'язано, будь ласка, повідомте про це на https://invent.kde.org/kde-linux/kde-linux/-/issues/ і додайте виведені до вікна термінала дані команди journalctl --boot -1 --no-pager.
Завантажити систему в інший спосіб шляхом зміни рядка команди
Якщо це не спрацює, ви можете змінити спосіб завантаження системи, змінивши параметри командного рядка ядра, щоб реалізувати різні підходи до діагностики.
Для редагування командного рядка ядра виконайте такі дії:
- Увімкніть або перезапустіть комп'ютер.
- Утримуйте клавішу Пробіл, доки не з’явиться вікно вибору версії ОС (білим текстом у центрі екрана, на чорному тлі).
- Натисніть клавішу e.
- З'явиться текстове поле з дуже довгим фрагментом тексту у ньому; це рядок команди ядра.
Вимкніть розширення systemd
Додайте systemd.mask=systemd-sysext.service до рядка команди ядра, а потім натисніть клавішу Enter.
Це корисно, якщо у вас активні будь-які розширення systemd, і помилка завантаження почала виникати після оновлення даних у будь-якому з них; це може бути причиною. Тимчасове вимкнення розширень має вирішити проблему, доки ви не зможете знайти причину.
Якщо це працює, після входу в систему з’ясуйте, що не так із розширенням, і виправте це. Якщо не вдається, вимкніть його.
Обхід проблем з вікном вітання або Плазмою
Додайте systemd.unit=multi-user.target до рядка команди ядра, а потім натисніть клавішу Enter.
Це корисно, якщо екран входу або Плазма не запускаються або зациклюються; ви можете завантажитися у середовище командного рядка, яке обійде обидва ці компоненти; у цьому середовищі можна виконати діагностику.
Якщо під час діагностики та усунення несправностей буде встановлено, що проблема не була спричинена вашими власними діями, відкрийте звіт про помилку для команди розробників KDE Linux з метою подальшого вивчення.
Вхід до аварійної кореневої оболонки
- Додайте
systemd.debug_shell=on SYSTEMD_SULOGIN_FORCE=1до рядка команди ядра, а потім натисніть клавішу Enter. - Зачекайте, доки екран почорніє і побуде у цьому стані декілька секунд.
- Натисніть комбінацію клавіш Ctrl+Alt+F9 (зауваження: на ноутбуці може виникнути потреба в одночасному утриманні натиснутою клавіші Fn).
Ви потрапите до аварійної кореневої оболонки. Усі віддані вами команди буде виконано від імені root, тому будьте обережними.
Якщо під час діагностики та усунення несправностей буде встановлено, що проблема не була спричинена вашими власними діями, відкрийте звіт про помилку для команди розробників KDE Linux з метою подальшого вивчення.
Відновлення /etc
Може так статися, що змінений під час завантаження певної версії /etc, є несумісним із іншими версіями.
Це може проявлятися дивними проблемами після відкочування ОС, зокрема чорними екранами або неприйняттям паролів для входу.
Щоб відновити працездатність, замініть помилковий вміст /etc старішою робочою версією ось так:
- Отримайте доступ до оболонки в один із наведених вище способів і віддайте такі команди:
sudo mv /etc /etc.brokensudo 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.