ACPI BIOS Error: Could Not Resolve Symbol — причины и способы устранения

Ошибка ACPI BIOS Error: Could Not Resolve Symbol появляется на экране при загрузке дистрибутивов Linux (чаще всего Ubuntu, Debian, Fedora, Manjaro) и сопровождается указанием конкретного символа, например AE_NOT_FOUND рядом с именем вроде \_SB.PCI0.SAT0.PRT0._GTF.DSSP. Сообщение означает, что ядро при инициализации подсистемы ACPI попыталось обратиться к объекту, описанному в таблицах BIOS, но не нашло его в пространстве имён прошивки.

Важно понимать сразу: в большинстве случаев это не критический сбой, а предупреждение о несоответствии между тем, что написал производитель материнской платы в таблицах ACPI (DSDT/SSDT), и тем, что реально присутствует в прошивке. Система нередко продолжает загружаться и работать стабильно, однако сообщение пугает пользователей, а иногда сопровождается реальными проблемами — зависанием при загрузке, неработающим управлением питанием или невидимыми устройствами.

Что означает эта ошибка технически

Стандарт ACPI (Advanced Configuration and Power Interface) описывает, как операционная система взаимодействует с оборудованием: управляет питанием, сном, температурными зонами, батареей ноутбука. Производитель платы поставляет эти описания в виде таблиц, скомпилированных на языке ASL в байт-код AML. При загрузке ядро Linux парсит таблицы и строит дерево объектов.

Когда в коде одной таблицы есть ссылка на объект, которого нет ни в этой, ни в других загруженных таблицах, интерпретатор ACPICA выдаёт сообщение Could not resolve symbol с кодом AE_NOT_FOUND. Проще говоря, разработчики BIOS оставили «битую ссылку» — и ядро честно об этом сообщает.

Типичные причины появления

Причина почти всегда лежит на стороне прошивки, а не железа. Однако внешние проявления могут отличаться в зависимости от конфигурации.

  • 🔧 Ошибка в таблицах DSDT/SSDT — производитель материнской платы или ноутбука допустил неточность в коде ACPI, и конкретная версия BIOS содержит несуществующую ссылку.
  • 🔧 Устаревшая версия BIOS/UEFI — в новых выпусках прошивки вендоры нередко исправляют таблицы ACPI, и обновление убирает сообщение.
  • 🔧 Слишком старое ядро Linux — на новых платформах старые версии подсистемы ACPICA могут некорректно трактовать свежие таблицы.
  • 🔧 Смена режима работы контроллера — переключение SATA между AHCI и RAID/Intel RST меняет набор загружаемых SSDT-таблиц, что способно спровоцировать ошибку.
  • 🔧 Нестандартное железо — редкие платы, инженерные образцы и свежие платформы до выхода стабильных прошивок чаще страдают подобными огрехами.
⚠️ Внимание: если после строки об ошибке система зависает и не загружается, проблема может быть не в самом предупреждении, а в последующем этапе инициализации — например, в драйвере видеокарты. Не путайте причину и следствие: сообщение ACPI лишь последнее, что успело вывестись на экран.

Как определить, критична ли ошибка

Первый шаг диагностики — понять, влияет ли сообщение на работу. Загрузитесь и проверьте журнал:

sudo dmesg | grep -i acpi

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

📊 Как проявляется ошибка у вас?
Только сообщение на экране, система работает
Система зависает при загрузке
Не работает сон/гибернация
Ошибка в Windows при установке

Способы устранения

Начинайте с обратимых и безопасных действий. Перечислим их в порядке возрастания сложности.

  • Обновите BIOS/UEFI до последней версии с сайта производителя платы или ноутбука — это самый результативный метод, так как вендоры регулярно правят таблицы ACPI.
  • Обновите ядро Linux штатными средствами дистрибутива — свежие версии ACPICA корректнее обрабатывают проблемные таблицы.
  • Проверьте настройки BIOS: режим SATA (AHCI), состояние опций вроде Secure Boot и CSM. Иногда смена режима убирает загрузку проблемной SSDT.
  • Сбросьте настройки BIOS к значениям по умолчанию (Load Optimized Defaults), если ошибка появилась после ручной перенастройки.

☑️ Порядок действий при ACPI BIOS Error

Выполнено: 0 / 6

Если обновления не помогли, а сообщение мешает, существуют параметры загрузки ядра, которые меняют поведение подсистемы ACPI. Их можно временно добавить в меню GRUB, нажав клавишу e на выбранном пункте загрузки:

acpi=off

acpi=strict

pci=noacpi

⚠️ Внимание: параметр acpi=off отключает управление питанием целиком — на ноутбуке перестанут работать индикация батареи, сон и управление частотой процессора, а корректное выключение может стать невозможным. Используйте его только как диагностический тест, а не как постоянное решение.

Сравнение подходов к решению

МетодСложностьРискКогда применять
Обновление BIOSСредняяНизкий при соблюдении инструкции вендораПервым делом, всегда
Обновление ядраНизкаяМинимальныйЕсли BIOS уже свежий
Смена режима SATA/настроек UEFIНизкаяМожет потребовать переустановки ОС при смене RAID↔AHCIЕсли ошибка появилась после смены настроек
Параметры ядра (acpi=strict и др.)СредняяЗависит от параметраКак обходное решение или диагностика
Игнорирование сообщенияОтсутствуетЕсли система работает полностью корректно

Продвинутая диагностика: разбор таблиц ACPI

Для опытных пользователей существует способ посмотреть, какой именно объект вызывает ошибку. Таблицы можно извлечь и декомпилировать утилитами из пакета acpica-tools:

sudo acpidump -b

iasl -d *.dat

После декомпиляции можно найти имя символа из сообщения об ошибке в файлах .dsl и понять, к какому устройству относится битая ссылка. Теоретически таблицу можно исправить и подсунуть ядру через механизм initrd override, но это сложная процедура, результат которой зависит от конкретной прошивки. Для большинства пользователей разумнее дождаться исправления от производителя.

Почему в Windows этой ошибки не видно

Windows использует собственный интерпретатор ACPI, который молча пропускает многие несоответствия в таблицах и не выводит предупреждения на экран. Linux с интерпретатором ACPICA ведёт себя строже и подробно журналирует такие случаи. Поэтому одна и та же прошивка может выглядеть «беспроблемной» в Windows и выдавать сообщения в Linux.

Когда обращаться за поддержкой

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

Параллельно можно поискать упоминания вашей модели и точного текста ошибки на форумах дистрибутива: для популярных ноутбуков нередко уже известны рабочие обходные пути — конкретная версия ядра или параметр загрузки.

Часто задаваемые вопросы

Опасна ли ошибка Could Not Resolve Symbol для оборудования?

Нет. Сообщение указывает на несоответствие в таблицах ACPI прошивки и само по себе не повреждает железо и не приводит к потере данных. Опасность представляют только агрессивные обходные параметры вроде acpi=off, если использовать их постоянно.

Система зависает сразу после этой строки — виновата ошибка ACPI?

Не обязательно. Сообщение просто оказывается последним выведенным на экран перед зависанием. Частая реальная причина — драйвер видеокарты. Попробуйте загрузиться с параметром nomodeset, чтобы проверить эту версию.

Поможет ли переустановка Linux убрать ошибку?

Нет, если причина в таблицах BIOS — она сохранится при любой переустановке. Меняет ситуацию только обновление прошивки, ядра или параметров загрузки.

Ошибка появилась после обновления BIOS — что делать?

Такое бывает: новая версия прошивки содержит изменённые таблицы. Проверьте, нет ли более свежего обновления у вендора, и сообщите о регрессии в поддержку производителя. Временно можно использовать параметры ядра, если сообщение мешает.

Можно ли просто скрыть сообщение, чтобы не видеть его при загрузке?

Да, если система работает корректно. Параметры ядра quiet и loglevel=3 уменьшают количество выводимых при загрузке сообщений. Это не устраняет причину, но убирает визуальный шум.