Нестабильность системы Ubuntu 24.04 после обновления BIOS: случайные перезагрузки

Вопрос или проблема

После недавнего обновления BIOS я испытываю значительную нестабильность системы на своем компьютере с Ubuntu 24.04. Система случайным образом перезагружается, а журналы показывают различные ошибки. Я надеюсь получить советы о том, как диагностировать и решить эти проблемы.

Информация о системе:

  • ОС: Ubuntu 24.04 (Ранее Ubuntu 22.04 с той же проблемой)
  • Ядро: 6.8.0-40-generic
  • Материнская плата: Gigabyte Z790 GAMING X AX DDR5 LGA1700 (Rev 1.1)
  • ЦП: Intel i7-13700k
  • Версия BIOS: Обновлен до F11d (последняя) с сайта Gigabyte из-за проблем с микрокодом для процессоров Intel 13-го и 14-го поколений. Проблема началась после обновления до F11c, и F11d не решила ее.
  • Дуальная загрузка: Windows и Ubuntu (Проблема не проявляется в Windows, по крайней мере, пока)

Описание проблемы:

С тех пор как я обновил BIOS, система стала случайным образом зависать, а журналы полны различных ошибок. Я попытался сбросить настройки BIOS до заводских, но проблема остается. Зависания происходят в случайные моменты, даже когда система простаивает, без запущенных приложений. Вот снимок ошибок, происходящих вскоре после загрузки:

$journalctl --since "2024-08-14 12:15:00" --until "2024-08-14 12:34:00" -p 0..3                                     

sie 14 12:16:17 BMO kernel: i2c i2c-1: Неверный 7-битный I2C-адрес 0xffff
sie 14 12:16:18 BMO kernel: iwlwifi 0000:00:14.3: WRT: Неверное место назначения буфера
sie 14 12:16:18 BMO kernel: 
sie 14 12:16:19 BMO kernel: Bluetooth: hci0: неправильно сформированное событие поставщика MSFT: 0x02
sie 14 12:16:19 BMO bluetoothd[1234]: profiles/sap/server.c:sap_server_register() Инициализация драйвера Sap не удалась.
sie 14 12:16:19 BMO bluetoothd[1234]: sap-server: Операция не разрешена (1)
sie 14 12:16:29 BMO gdm-password][2251]: gkr-pam: не удалось найти файл управления демонa
sie 14 12:16:32 BMO systemd[2295]: Не удалось запустить app-gnome-gnome\x2dkeyring\x2dpkcs11-2688.scope - Приложение, запущенное бинарным файлом gnome-session.
sie 14 12:16:32 BMO systemd[2295]: Не удалось запустить app-gnome-gnome\x2dkeyring\x2dsecrets-2685.scope - Приложение, запущенное бинарным файлом gnome-session.
sie 14 12:16:32 BMO systemd[2295]: Не удалось запустить app-gnome-gnome\x2dkeyring\x2dssh-2682.scope - Приложение, запущенное бинарным файлом gnome-session.
sie 14 12:16:32 BMO systemd[2295]: Не удалось запустить app-gnome-snap\x2duserd\x2dautostart-2942.scope - Приложение, запущенное бинарным файлом gnome-session.
sie 14 12:16:32 BMO systemd[2295]: Не удалось запустить app-gnome-user\x2ddirs\x2dupdate\x2dgtk-2950.scope - Приложение, запущенное бинарным файлом gnome-session.
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим
sie 14 12:16:33 BMO kernel: [drm:nv_drm_master_set [nvidia_drm]] *ОШИБКА* [nvidia-drm] [GPU ID 0x00000100] Не удалось захватить права на режим

Принятые до сих пор меры по устранению неполадок:

  • I2C: Запуск i2cdetect -y -r 1 показывает устройство по адресу 0x48, но ошибка Неверный 7-битный I2C-адрес 0xffff сохраняется.
sudo i2cdetect -y -r 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- 48 -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- -- 
  • WiFi: WiFi-карта Intel (iwlwifi 0000:00:14.3: WRT: Неверное место назначения буфера) продолжает показывать ошибки, даже с обновленными драйверами.
  • Bluetooth: Переустановка bluez не решила ошибки Bluetooth, связанные с неправильно сформированными событиями поставщика MSFT.
  • GNOME Keyring: Несколько компонентов GNOME Keyring не запускаются, что влияет на другие системные процессы.
  • NVIDIA DRM: Модуль DRM для NVIDIA (nv_drm_master_set) не может захватить права на режим, что может вызывать графическую нестабильность.
  • Memtest86+: Тест прошел без ошибок, так что проблемы с ОЗУ маловероятны.
  • Температуры: Я внимательно слежу за температурами компонентов, и ни один из них не перегревается.

Дополнительная информация:

  • Дуальная загрузка: У меня есть система двойной загрузки с Windows, и эта проблема не возникает в Windows (по крайней мере, пока).
  • Сброс BIOS: Я сбросил BIOS до заводских настроек, но проблема сохраняется.
  • Случайные перезагрузки Ubuntu: Система сама перезагружается случайным образом, даже когда она простаивает без запущенных приложений.
  • Предыдущая версия Ubuntu: Проблема началась на Ubuntu 22.04 после обновления BIOS, поэтому я переустановил Ubuntu 24.04, но проблема остается.

Запрос о помощи:

Я ищу:

  • Руководство по определению того, какие из этих ошибок могут вызывать перезагрузки системы.
  • Могло ли обновление BIOS привести к несовместимости оборудования или микропрограммы с текущим ядром Ubuntu?
  • Какие шаги я могу предпринять, чтобы изолировать, является ли это аппаратной или программной проблемой?

Кто-нибудь сталкивался с похожими проблемами после обновления BIOS, и если да, то как они были решены? Буду признателен за любые идеи или предложения!

Заранее спасибо!

Я пытался устранить аналогичную проблему здесь. Я пишу здесь, потому что ваша проблема выглядит достаточно близкой к моей, и я, возможно, нашел решение (“возможно”, потому что вы никогда не можете быть уверены, что случайная перезагрузка не произойдет). Однако, пожалуйста, обратите внимание на различия в наших системах ниже.

Информация о системе

  • ОС: EndeavourOS (ISO установщика от 2024.06.25)
  • Ядро: от 6.10.3-arch1-2 до 6.10.8-arch1-1
  • Материнская плата: Gigabyte Z790 Gaming X AX (Rev. 1.1)
  • Версия BIOS: F11c, F11d
  • ЦП: Intel i5-13600K
  • Дуальная загрузка: Нет Windows
  • Оперативная память: Patriot Viper Venom 2x32GB DDR5-5200 CL40
  • Новый настольный компьютер со всеми новыми комплектующими

Симптомы

  • Система просто выключается в один момент и немедленно перезагружается в случайное время. Обычно это происходит через несколько часов после загрузки системы, но я также наблюдал 4 минуты и 17 часов.
  • Журнал системы за последнюю сессию (где произошла перезагрузка) не показывает полезной информации о том, что произошло перед перезагрузкой.
  • Журнал системы показывает те же сообщения об ошибках о I2C-адресе, буфере WiFi WRT и Bluetooth MSFT при запуске системы. У меня не установлен GNOME Keyring, и мой модуль NVIDIA не сообщает об ошибках. (Я на самом деле не уверен, связаны ли эти ошибки с перезагрузками).
  • Я всегда мониторю систему с помощью btop, и все выглядит нормально, включая температуры.
  • Стресс-тесты, такие как memtest86+, stress, vkmark и mprime, проходят успешно в течение длительного времени. Перезагрузки происходят только тогда, когда система в основном простаивает.
  • Перезагрузки происходили на: ISO установщика, btrfs, ext4.
  • Перезагрузки происходили в: tty, KDE, Hyprland, river.

Что сработало

Отключите некоторые из более высоких c-состояний. Вот некоторые способы сделать это:

  1. Добавьте intel_idle.max_cstate=<число> в параметры загрузки ядра. Значение для <число> должно быть целым числом от 0 до 9.
  2. Отключите некоторые c-состояния в настройках BIOS материнской платы. На странице расширенных настроек выберите Tweaks > Advanced CPU Settings > C State Control. Когда вы измените его на Enabled, появится больше параметров сразу под ними.

Безопасный лимит, который я нашел, составляет до C7. Это означает:

  1. установить параметр загрузки intel_idle.max_cstate=7; или
  2. настроить параметры BIOS:
    • Поддержка C8 State: Disabled
    • Поддержка C10 State: Disabled
    • Ограничение C State Package: C7s

Поскольку у вас есть система двойной загрузки с Windows, я рекомендую первый метод (параметр загрузки ядра). Это связано с тем, что ограничение более высоких C-состояний фактически предотвращает процессор от перехода в более энергосберегающие состояния, когда работы немного. Поскольку все работает нормально в Windows, там лучше разрешить все C-состояния.

Почему это происходит?

Хотя у меня нет окончательного ответа, у меня есть предположение, которое я считаю достаточно уверенным, чтобы поделиться им на данный момент. Это, похоже, проблема с микропрограммным обеспечением материнской платы, потому что:

  1. Я пытался изменить различные параметры в настройках BIOS материнской платы, включая функции и напряжения ЦП, но ничего из этого не сработало, кроме прямого отключения c-состояний;
  2. Я также пробовал различные параметры ядра, связанные с управлением питанием, но не нашел ничего, что работало бы, кроме ограничения c-состояний;
  3. Я сам установил Windows и проверял, что перезагрузки там не происходят (хотя это случалось один раз до подключения к интернету и получения обновлений и драйверов);
  4. версии BIOS, которые у нас есть, являются бета-версиями;
  5. некоторые сообщения и комментарии на сабреддите r/gigabyte упоминали, что Intel может выпустить еще одно обновление микрокода в конце этого месяца, которое должно быть “правильным” исправлением для проблемы с избыточным напряжением, и Gigabyte может загрузить “правильную” версию BIOS с исправлением после этого; и
  6. я столкнулся с этой страницей на вики Arch Linux, где я узнал, что возможно, что у некоторых материнских плат микропрограммное обеспечение имеет неправильно сформированные (или только сделанные и протестированные для Windows) таблицы ACPI, и пользователи могут попытаться исправить это при необходимости, что, как я думаю, также может быть причиной того, что мой настольный компьютер не может перейти в спящий режим по RAM, но я отвлекся.

Таким образом, в основном, предполагая, что я обвиняю в этом правую вещь, микропрограммное обеспечение материнской платы, предоставленное Gigabyte, ошибочно для Linux. Но, как я уже сказал, у меня нет никаких доказательств или улик, поэтому, пожалуйста, не принимайте это за правду. Я могу попробовать декомпилировать и изучить таблицы ACPI в микропрограмме, но я уже потратил слишком много времени на эту проблему. Тем не менее, я могу это сделать, если следующая версия BIOS также покажет ту же проблему…

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

  • ОС: Ubuntu 24.04 (новое оборудование только что установлено)
  • Ядро: 6.8.0-41-generic
  • Материнская плата: Gigabyte Z790 UD AX, ЦП: Intel Core i9-14900K
  • Версия BIOS: F11d
  • Оперативная память: 96 ГБ (2×48 ГБ) DDR5 6000MT/s / x2 Channel
  • Дуальная загрузка: Пока нет, но скоро установлю Windows

Похожие сообщения, как у вас, выше о I2C, WiFi, BT, Nvidia DRM.

Кроме Gnome. Ничего не сообщается о Gnome.

  • Температура в норме.
  • Только что завершил Memtest86 без ошибок.

Похожие сообщения видны здесь и здесь, но не помогают в моем случае.

Система довольно стабильна, кроме этой проблемы.

Ответ или решение

Проблема нестабильности системы Ubuntu 24.04 после обновления BIOS является достаточно распространенной и может быть вызвана различными факторами, включая несовместимость оборудования, настройки BIOS или программное обеспечение. Ваша ситуация особенно интересна из-за сочетания ошибок и сбойной работы системы, поэтому давайте попробуем модулировать возможные пути её решения.

Основные шаги для устранения проблемы:

  1. Проверка обновлений BIOS:

    • Поскольку вы используете бета-версии BIOS (F11c и F11d), рекомендуется проверить на сайте Gigabyte наличие более новых стабильных версий BIOS. Иногда производители исправляют ошибки и улучшают совместимость с Linux в новых релизах.
  2. Настройки C-States:

    • Как упомянуто в вашем вопросе и отзывах других пользователей, проблема может быть связана с высокими состояниями мощности (c-states). Попробуйте отключить или ограничить эти состояния в настройках BIOS:
      • Перейдите в BIOS -> "Tweaks" -> "Advanced CPU Settings" и измените параметры C-State Control:
      • Отключите поддержку C8 и C10.
      • Установите лимит состояния пакета на C7.
    • Попробуйте также добавить параметры загрузки ядра:
      intel_idle.max_cstate=7
  3. Проверка и обновление драйверов:

    • Убедитесь, что у вас установлены последние версии драйверов для вашего оборудования, особенно для Wi-Fi и NVIDIA. Используйте следующую команду для обновления системы:
      sudo apt update && sudo apt upgrade
    • Если проблемы продолжаются, рассмотрите возможность установки драйверов на основе PPA для NVIDIA:
      sudo add-apt-repository ppa:graphics-drivers/ppa
      sudo apt update
      sudo apt install nvidia-driver-xxx # замените "xxx" на последнюю версию
  4. Исследование логов:

    • Продолжайте изучать логи системы с помощью команды journalctl. Уделите внимание строкам с уровнями критических и ошибок (0..3). Ошибки, связанные с I2C и Bluetooth, могут указывать на несовместимые устройства или драйверы, которые вам следует изучить.
  5. Аппаратная проверка:

    • Проверьте очень внимательно соединения и компоненты внутри системного блока. Иногда проблемы могут возникать из-за плохих контактов, особенно у новых сборок. Убедитесь, что все компоненты надежно подключены, и выполните очистку от пыли.
  6. Тесты на стабильность:

    • Если у вас все еще возникают проблемы, проведите стресс-тесты других компонентов системы, таких как процессор и блок питания, с помощью таких утилит, как stress или Prime95.
  7. Дуальная загрузка и тестирование Windows:

    • Если у вас установлена Windows, следите за тем, возникают ли у вас сбои после запуска Windows, это может подтвердить или опровергнуть наличие аппаратной проблемы.

Дополнительные шаги:

  • Сообщество и форумы:

    • Поскольку вы не одни в этом вопросе, попробуйте пообщаться с другими пользователями на форумах сообщества Ubuntu и Gigabyte. Возможно, кто-то уже нашел решение вашей проблемы, которое будет несомненно полезным.
  • Обратитесь к производителю:

    • Если ничего из вышеперечисленного не поможет, целесообразно обратиться в службу технической поддержки Gigabyte, описав им вашу проблему.

Заключение:

Следуя перечисленным рекомендациям, вы сможете найти причины нестабильности вашей системы. Важно проводить шаги один за другим и наблюдать, как это влияет на систему. Это даст вам точное понимание, что именно вызвало проблему, и как её можно устранить. Если после всех проверок проблема все ещё сохраняется, возможно, стоит подумать о возврате к предыдущей версии BIOS или поискать альтернативные решения, такие как смена материнской платы, если это возможно.

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

Капча загружается...

  1. Гость

    Здравствуйте! У меня была схожая проблема после обновления BIOS на моей материнской плате Gigabyte Z790. Система на Ubuntu 24.04 начала случайно перезагружаться, и логи были заполнены ошибками, похожими на ваши. После множества экспериментов мне удалось найти решение, которое полностью стабилизировало систему.

    Вот шаги, которые помогли мне:

    Ограничение C-состояний процессора. В BIOS я отключил поддержку высоких C-состояний, таких как C8 и C10. Для этого зайдите в BIOS и перейдите по пути: Tweaker > Advanced CPU Settings > C State Control. Установите C States в положение Enabled, после чего появятся дополнительные настройки. Отключите C8 State Support и C10 State Support, а также установите Package C State Limit на C7. Это предотвратило переход процессора в глубокие режимы энергосбережения, которые вызывали нестабильность.
    Добавление параметра загрузки ядра. В файле конфигурации GRUB я добавил параметр intel_idle.max_cstate=7. Это делается путем редактирования файла /etc/default/grub и добавления параметра в строку GRUB_CMDLINE_LINUX_DEFAULT. Не забудьте после этого выполнить sudo update-grub для применения изменений.
    Откат версии BIOS. Поскольку текущие версии BIOS F11c и F11d являются бета-версиями, я вернулся к стабильной версии F10. Это также помогло устранить некоторые ошибки, связанные с несовместимостью микропрограммного обеспечения.

    Почему это работает:

    Высокие C-состояния могут быть неправильно реализованы в бета-версиях BIOS, что приводит к некорректной работе системы под Linux.
    Ограничение C-состояний предотвращает переход процессора в режимы глубокого сна, которые могут быть нестабильными из-за ошибок в микрокоде или BIOS.
    Поскольку проблема не возникает в Windows, это указывает на специфическую несовместимость между текущим BIOS и ядром Linux.

    Рекомендации:

    Всегда используйте стабильные версии BIOS, если только бета-версия не исправляет критическую для вас проблему.
    Следите за обновлениями от Gigabyte; возможно, они выпустят исправленную версию BIOS с полной поддержкой Linux.
    Сообщите о проблеме в службу поддержки Gigabyte и на форумах Ubuntu, чтобы ускорить процесс решения на уровне производителей.

    Надеюсь, мой опыт будет вам полезен и поможет вернуть стабильность вашей системе!

    Ответить