Чёрный экран после обновления ядра, артефакты в GNOME или ошибка NVIDIA-SMI has failed — эти симптомы часто указывают на конфликт версий драйверов NVIDIA в Debian. Проблема усугубляется, если ранее устанавливались проприетарные драйвера через .run-файлы с сайта производителя или смешивались пакеты из репозиториев non-free и contrib. Прежде чем переустанавливать драйвера, необходимо полностью очистить систему от их следов — иначе новые пакеты наследуют старые конфигурации и ошибки.
В Debian (и производных вроде Ubuntu или MX Linux) удаление драйверов NVIDIA требует не только деинсталляции пакетов через apt, но и ручной чистки загрузочных модулей ядра, конфигурационных файлов в /etc и даже остатков в /usr/lib. Если пропустить хотя бы один шаг, после перезагрузки система может зависнуть на этапе инициализации графического сервера Xorg или Wayland. Далее — пошаговая инструкция с учётом особенностей Debian 11/12 и актуальных версий драйверов (серии 535+).
1. Проверка текущих драйверов и зависимостей
Перед удалением определите, какие именно пакеты NVIDIA установлены в системе. Это критично: если удалить только часть зависимостей, могут остаться "сиротые" модули ядра, которые заблокируют установку новых драйверов.
Выполните команду для поиска всех пакетов с префиксом nvidia:
apt list --installed | grep -i nvidia
Типичный вывод для системы с проприетарными драйверами:
- 📦
nvidia-driver— основной метапакет (например, версия 535.129.03) - 📦
nvidia-kernel-dkmsилиnvidia-kernel-{версия-ядра}— модули для текущего ядра - 📦
libnvidia-gl-{версия}— библиотеки для OpenGL/Vulkan - 📦
nvidia-settings— утилита настройки - 📦
nvidia-prime— для гибридных графических систем (ноутбуки)
Также проверьте загруженные модули ядра:
lsmod | grep -i nvidia
Если вывод не пустой (например, отображаются модули nvidia_drm, nvidia_modeset), это означает, что драйвера активно используются системой. Их придётся отключать вручную перед удалением.
2. Удаление пакетов через APT
Начните с деинсталляции всех пакетов NVIDIA через менеджер пакетов. Используйте команду с флагом --purge, чтобы удалить и конфигурационные файлы:
sudo apt purge ~nnvidia
Символ ~n перед nvidia гарантирует удаление всех пакетов, имена которых начинаются с nvidia. Альтернативный вариант — явное перечисление:
sudo apt purge nvidia- libnvidia-
После удаления выполните автоочистку зависимостей:
sudo apt autoremove
⚠️ Внимание: Если в системе установлены драйвера через .run-файл с сайта NVIDIA, пакетный менеджер их не увидит. В этом случае переходите к ручной чистке.
Создайте резервную копию конфигураций (cp -r /etc/X11/xorg.conf.d ~/xorg_backup)|Проверьте вывод dkms status на наличие модулей NVIDIA|Отключитесь от графического сеанса (перейдите в tty2 сочетанием Ctrl+Alt+F2)|Убедитесь, что в /etc/modprobe.d нет файлов с блокировкой nouveau
-->
3. Ручное удаление остатков драйверов
Даже после apt purge в системе могут оставаться:
- 📁 Файлы модулей ядра в
/lib/modules/$(uname -r)/kernel/drivers/ - 📄 Конфигурационные файлы в
/etc/X11/(например,xorg.conf) - 🗑️ Кэш шейдеров в
~/.local/share/nvidia/(для пользовательских профилей) - 🔧 Правила
udevв/etc/udev/rules.d/
Удалите их вручную:
sudo rm -rf /etc/X11/xorg.conf*
sudo rm -rf /etc/modprobe.d/nvidia*
sudo rm -rf /etc/udev/rules.d/nvidia
sudo rm -rf /usr/lib/xorg/modules/drivers/nvidia*
sudo rm -rf /usr/lib/xorg/modules/extensions/libglxserver_nvidia*
Для чистки модулей ядра сначала определите текущую версию:
uname -r
Затем удалите папку с драйверами (замените 5.10.0-26-amd64 на вашу версию ядра):
sudo rm -rf /lib/modules/5.10.0-26-amd64/kernel/drivers/nvidia/
⚠️ Внимание: Если вы используетеDKMSдля автоматической сборки модулей, выполнитеsudo dkms remove nvidia/{версия} --allдо ручного удаления файлов. Иначе при следующем обновлении ядра модули восстановятся.
4. Отключение модулей ядра и блокировка nouveau
После удаления файлов необходимо запретить загрузку модулей NVIDIA и разблокировать открытый драйвер nouveau (если он был отключён ранее). Создайте файл конфигурации:
sudo nano /etc/modprobe.d/blacklist-nvidia-nouveau.conf
Добавьте в него:
blacklist nvidia
blacklist nvidia-drm
blacklist nvidia-modeset
Разрешаем nouveau (если нужен)
options nouveau modeset=1
Обновите инициализацию модулей:
sudo update-initramfs -u
Если nouveau не требуется (например, планируется установка новых проприетарных драйверов), замените modeset=1 на modeset=0 и добавьте:
blacklist nouveau
Как проверить, загружен ли nouveau после перезагрузки
Выполните команду lsmod | grep nouveau. Если вывод пустой, модуль заблокирован. Чтобы принудительно загрузить его для теста, используйте sudo modprobe nouveau и перезагрузите X-сервер (sudo systemctl restart gdm).
5. Восстановление после удаления: что делать, если система не грузится
Если после перезагрузки вы видите чёрный экран или ошибки Failed to start X Server, причины могут быть следующими:
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Чёрный экран после логотипа BIOS | Остались загруженные модули nvidia в initramfs |
Загрузиться в recovery mode, повторить update-initramfs -u |
Ошибка no screens found в Xorg.0.log |
Отсутствует конфигурация для nouveau или modesetting |
Удалить /etc/X11/xorg.conf, пересоздать через nvidia-xconfig (если устанавливаете драйвера заново) |
| Артефакты или низкое разрешение | Активирован llvmpipe (программный рендеринг) |
Проверить glxinfo | grep "OpenGL renderer", установить mesa-utils |
Для восстановления:
- Перейдите в
tty(например,Ctrl+Alt+F3). - Удалите оставшиеся файлы конфигурации (см. раздел 3).
- Переустановите
xserver-xorg-coreиmesa-utils:
sudo apt install --reinstall xserver-xorg-core mesa-utils
Если проблема сохраняется, проверьте логи Xorg:
cat /var/log/Xorg.0.log | grep -i EE
Через apt purge|Ручное удаление файлов|Переустановка системы|Никогда не удалял
-->
6. Проверка чистоты системы перед новой установкой
Перед установкой новых драйверов убедитесь, что система полностью очищена. Выполните проверки:
- Пакеты:
dpkg -l | grep -i nvidia— вывод должен быть пустым. - Модули ядра:
find /lib/modules/$(uname -r) -name "nvidia"— не должно быть файлов. - Конфигурации Xorg:
grep -r "nvidia" /etc/X11/— не должно быть ссылок. - Блокировки:
cat /etc/modprobe.d/* | grep -i nvidia— только ваши ручные правки.
Если всё чисто, можно приступать к установке новых драйверов. Для Debian рекомендуется использовать пакеты из репозиториев non-free:
sudo apt install nvidia-driver firmware-misc-nonfree
⚠️ Внимание: Если вы устанавливаете драйвера с сайта NVIDIA (через.run), предварительно установите заголовки ядра иdkms:sudo apt install linux-headers-$(uname -r) dkmsИначе модули не соберутся, и после перезагрузки графический интерфейс не загрузится.
7. Частые ошибки и их решения
Ошибка 1: ERROR: Unable to find the kernel source tree при установке .run-файла.
Решение: Установите заголовки ядра для текущей версии:
sudo apt install linux-headers-$(uname -r)
Ошибка 2: После удаления драйверов система загружается в низком разрешении (640x480).
Решение: Удалите /etc/X11/xorg.conf и переустановите xserver-xorg-video-nouveau:
sudo apt install xserver-xorg-video-nouveau
Ошибка 3: dkms: install failed при попытке переустановить драйвера.
Решение: Полностью удалите старые модули DKMS:
sudo dkms remove --all
sudo apt purge dkms
Ошибка 4: При загрузке висит сообщение A start job is running for /dev/dri/card0.
Решение: Отредактируйте /etc/default/grub, добавив параметр nomodeset в GRUB_CMDLINE_LINUX_DEFAULT, затем обновите GRUB:
sudo update-grub
FAQ: Ответы на частые вопросы
Можно ли удалить драйвера NVIDIA без перезагрузки?
Технически да, но это крайне не рекомендуется. Модули ядра nvidia.ko остаются загруженными в память, и их принудительное удаление (rmmod -f) может привести к краху системы. Всегда перезагружайтесь после деинсталляции.
Как узнать, какие драйвера были установлены ранее?
Посмотрите логи установки пакетов:
grep -i nvidia /var/log/apt/history.log
Или проверьте версию через dmesg:
dmesg | grep -i nvidia
Нужно ли удалять CUDA и cuDNN при деинсталляции драйверов?
Нет, CUDA и cuDNN — отдельные пакеты. Они зависят от драйверов, но не наоборот. Однако если вы планируете полную переустановку, удалите их явным образом:
sudo apt purge cuda cudnn
Почему после удаления драйверов не работает 3D-ускорение?
Скорее всего, активировался программный рендерер llvmpipe. Проверьте:
glxinfo | grep "OpenGL renderer"
Если вывод содержит llvmpipe, установите mesa-utils и перезагрузитесь:
sudo apt install mesa-utils libgl1-mesa-dri
Как удалить драйвера NVIDIA на Debian с Wayland?
Процесс не отличается от Xorg, но после удаления может потребоваться переключиться на X11 временно. Для этого отредактируйте файл конфигурации дисплейного менеджера (например, /etc/gdm3/custom.conf) и раскомментируйте строку:
WaylandEnable=false
Затем перезагрузите gdm3:
sudo systemctl restart gdm3