Что означает ошибка NM_FAIL
Ошибка NetworkManager failed появляется в логах systemd, когда фоновая служба управления соединениями не может корректно запуститься или аварийно завершает работу. Система теряет автоматическое подключение к Wi-Fi и проводным сетям, а команды nmcli и графические индикаторы сети перестают отвечать. Обычно сбой фиксируется на этапе загрузки ОС или сразу после внесения изменений в сетевые конфиги.
Причины возникновения
- Повреждённые файлы состояния — некорректное завершение работы или сбой питания оставляют «битые» файлы в
/var/lib/NetworkManager/, из-за чего демон не стартует. - Конфликт сетевых служб — одновременная активация
systemd-networkd,dhclientили ручногоwpa_supplicantблокирует порт и ресурсы, требуемые NetworkManager. - Несовместимые или устаревшие прошивки — после обновления ядра модули беспроводных адаптеров могут требовать новые версии бинарных файлов из пакета
linux-firmware. - Ошибки в пользовательских конфигах — синтаксические нарушения в файлах
/etc/NetworkManager/NetworkManager.confили/etc/NetworkManager/conf.d/*.confприводят к мгновенному падению службы. - Нарушение прав доступа — изменение владельца или прав на каталоги
/run/NetworkManager/или/var/lib/NetworkManager/мешает сервису создавать сокет и записывать данные.
Способы решения
Способ 1: Сброс состояния и очистка кэша
Самый быстрый метод, который помогает в большинстве случаев после внезапного отключения питания или зависания.
- Остановите службу, чтобы снять блокировку с файлов:
sudo systemctl stop NetworkManager - Удалите устаревшие файлы состояния и аренды DHCP. Они генерируются заново при запуске:
sudo rm -f /var/lib/NetworkManager/NetworkManager.state sudo rm -f /var/lib/NetworkManager/*.lease - Перезапустите демон и проверьте результат:
Команда должна вернутьsudo systemctl start NetworkManager systemctl is-active NetworkManageractive. Если сеть появилась, настройте подключение через графический интерфейс илиnmtui.
💡 Совет: перед удалением файлов можно сделать резервную копию каталога:
sudo cp -r /var/lib/NetworkManager ~/nm-backup.
Способ 2: Устранение конфликтов сетевых демонов
Если служба падает с ошибкой Address already in use или Resource temporarily unavailable, вероятно, другой менеджер сети удерживает интерфейс.
- Проверьте активные сетевые службы:
systemctl list-units --type=service | grep -E "network|wpa_supplicant|dhclient" - Остановите и замаскируйте конфликтующие компоненты. Замаскированные службы невозможно запустить случайно:
sudo systemctl stop dhclient wpa_supplicant sudo systemctl disable dhclient sudo systemctl mask systemd-networkd⚠️ Важно: не маскируйте
systemd-networkd, если вы используете серверную конфигурацию с Netplan. В таком случае сначала проверьте/etc/netplan/*.yaml. - Сбросьте состояние интерфейсов и перезапустите NetworkManager:
sudo ip link set eth0 down # замените eth0 на имя вашего интерфейса sudo systemctl restart NetworkManager
Способ 3: Восстановление пакетов и драйверов
Помогает, когда ошибка вызвана повреждением файлов после прерванного обновления или несовместимостью ядра.
- Для Debian/Ubuntu выполните:
sudo apt update sudo apt install --reinstall network-manager network-manager-gnome linux-firmware - Для Fedora/RHEL/CentOS:
sudo dnf reinstall NetworkManager NetworkManager-tui linux-firmware - Для Arch Linux:
sudo pacman -S networkmanager linux-firmware - После переустановки обязательно перезагрузите модули ядра или саму систему, чтобы драйверы подхватили новые бинарники:
sudo systemctl reboot
Способ 4: Проверка и восстановление конфигурации
Если служба стартует, но сразу падает с Failed to parse config, проблема в пользовательских настройках.
- Проверьте синтаксис главного конфига:
sudo NetworkManager --print-config - Если вывод содержит ошибки, временно переместите пользовательские конфиги в резервную папку:
sudo mkdir -p /etc/NetworkManager/conf.d/backup sudo mv /etc/NetworkManager/conf.d/*.conf /etc/NetworkManager/conf.d/backup/ - Перезапустите службу. При успешном старте возвращайте файлы по одному, проверяя стабильность после каждого добавления.
Профилактика
- Избегайте ручного редактирования файлов в
/etc/NetworkManager/без предварительного резервного копирования. Используйтеnmcliилиnmtui— они автоматически проверяют валидность параметров. - Не устанавливайте одновременно несколько менеджеров сети. Если нужен
systemd-networkd, полностью отключитеNetworkManagerчерезsystemctl disable --now NetworkManager. - Регулярно обновляйте пакет
linux-firmwareи ядро. Новые версии содержат исправления для беспроводных чипов, которые часто вызывают падение службы. - Настройте автоматическое сохранение логов в
journald.conf(Storage=persistent), чтобы при следующем сбое можно было быстро проанализировать историю черезjournalctl.