Загрузка...

Как я победил Kubuntu, которая не хотела загружаться на моём игровом ноутбуке

MECHREVO X558

Представьте ситуацию: мой игровой ноутбук Maibenben / Mechrevo с гордым Ryzen 7 5800H и RTX 3060 внезапно решил, что фиолетовый — его новый любимый цвет.
При каждой загрузке вместо рабочего стола — фиолетовый экран и вежливое предложение перезагрузиться.
Спасибо, не надо!

Диагноз:
KERNEL PANIC с драматичной подписью

UFS: Unable to mount root fs on unknown-block(0,0)

Даже звучит как из трейлера к фильму «Linux против человечества».


Расследование: кто виноват в этом бардаке

После пары перезагрузок и короткой сессии «гуглопоисковой терапии» я полез в журналы.
journalctl -xb показал интересную картину: ядро 6.14.0-34 хоть и ворчало, но загружалось (пусть и в emergency mode).
А вот его младший брат 6.14.0-35 устраивал полноценную истерику при любой попытке старта.

В чём подвох?
Когда вы ставите драйверы NVIDIA через DKMS, они компилируются под конкретную версию ядра.
Новое ядро пришло, а драйверы пересобраться не успели. В результате — конфликт интересов и kernel panic на ровном месте.


Ликбез: как вообще всё это должно работать

Если объяснить по-человечески, загрузка Linux проходит в несколько этапов:

  1. GRUB — швейцар, решающий, кого пустить внутрь.
  2. Ядро — главный администратор, запускает всё подряд.
  3. initramfs — мини-система, помогающая ядру найти корень файловой системы.
  4. Драйверы — рабочие, без которых железо просто не оживает.

В моём случае проблема случилась на третьем этапе: драйверы NVIDIA не смогли корректно стартовать, и ядро просто не нашло корневой раздел. Как результат — «фиолетовая кома».


Решение: ломаем, чтобы починить

Шаг 1. Расставание с проблемным ядром

# Безжалостно удаляем предателя
sudo rm -f /boot/*6.14.0-35*
sudo apt purge linux-image-6.14.0-35-generic linux-modules-6.14.0-35-generic

Иногда проще выгнать токсичного сотрудника, чем разбираться в корпоративных интригах.


Шаг 2. Наводим мосты с GRUB

В /etc/default/grub я прописал заклинание, которое должно знать каждый линуксоид:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nouveau.modeset=0 nvidia-drm.modeset=1"
GRUB_CMDLINE_LINUX="acpi_rev_override=1"

Расшифровка на человеческом:

  • nouveau.modeset=0 — отключает open-source драйвер, чтобы он не мешал.
  • nvidia-drm.modeset=1 — включает нормальные драйверы NVIDIA с аппаратным ускорением.
  • acpi_rev_override=1 — фиксит странности управления питанием на гибридных ноутбуках.

Шаг 3. Защита от будущих атак

sudo apt-mark hold linux-image-generic linux-headers-generic

Или, если перевести с линуксового:
«Никаких обновлений ядра без моего личного разрешения!»


Бонусный раунд: война с мониторами

Когда ядра успокоились, на сцену вышел новый персонаж — монитор по USB-C.
Он включался только после переподключения, словно проверяя, действительно ли я этого хочу.

Решение оказалось простым: немного дисциплины через конфиг NVIDIA.

Section "Monitor"
    Identifier "HDMI"
    Option "Primary" "true"
EndSection

Section "Monitor" 
    Identifier "USB-C"
    Option "Enable" "true"
EndSection

Теперь все мониторы знают своё место и работают с первого раза.
Главное — вовремя напомнить, кто тут главный.


Почему это сработало: техническое послесловие

Проблема была в несовместимости нового ядра и версии драйвера NVIDIA.
Linux 6.14.0-35 изменил API и внутренние структуры, с которыми работал nvidia-drm.
DKMS должен был пересобрать модуль автоматически, но что-то пошло не так —
и система просто не смогла запуститься.

Моё решение сработало потому что:

  1. Удаление проблемного ядра убрало конфликт.
  2. Параметры GRUB обеспечили корректную инициализацию драйверов.
  3. Блокировка обновлений не позволила истории повториться.

Мораль истории

Иногда лучше не чинить то, что не работает, а просто откатиться на стабильную версию.
Linux даёт такую свободу — и это одно из его главных преимуществ.

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

Победа?
Скорее перемирие.
Потому что в мире Linux — тишина всегда временная.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *