Как восстановить acpi на компьютере

Обновлено: 07.07.2024

Решение 1. Обновите драйверы

Ошибки «Синего экрана смерти» довольно часто вызываются устаревшими или несовместимыми драйверами, и для устранения подобных проблем настоятельно рекомендуется обновить драйверы. Ваша операционная система в значительной степени зависит от драйверов для распознавания и использования вашего оборудования, и если определенный драйвер устарел или не работает должным образом, это приведет к ошибке ACPI_BIOS_ERROR BSOD и сбоям вашего компьютера.

Чтобы устранить эти типы проблем, важно обновить все ваши драйверы. Обновление драйверов довольно просто, и для этого вам просто нужно посетить производителя оборудования и загрузить последние версии драйверов для вашего устройства. Если вы не знаете, какой драйвер вызывает ошибку BSOD, мы советуем вам обновить все драйверы на вашем ПК, чтобы решить эту проблему.

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

Решение 2. Извлеките SSD и обновите BIOS


Ряд владельцев ноутбуков Samsung сообщили, что они не могут даже загрузить Windows 10 из-за ошибки BSOD ACPI_BIOS_ERROR, и, по их мнению, единственное решение состоит в том, чтобы извлечь диск SSD и восстановить Windows 10. Для этого выполните следующие действия:


По словам пользователей, ошибка «Синий экран смерти» ACPI_BIOS_ERROR обычно появляется при выходе компьютера из спящего режима, и для решения этой проблемы необходимо установить для режима ACPI значение S1 в BIOS. Для получения подробных инструкций о том, как это сделать, мы настоятельно рекомендуем вам проверить подробные инструкции в руководстве к материнской плате.

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

Важно отметить, что вам необходимо выключить компьютер после прошивки BIOS, чтобы правильно выполнить этот шаг. Как мы уже упоминали, это сложная процедура, поэтому будьте особенно осторожны.

Решение 6. Удалите драйвер, совместимый с Microsoft ACPI

Немногие пользователи сообщили, что удаление драйвера батареи с помощью метода Microsoft ACPI Compliant Control исправило ошибку BSOD ACPI_BIOS_ERROR на некоторых ноутбуках, поэтому вы можете попробовать ее. Чтобы удалить драйвер в Windows 10, сделайте следующее:

Если вы не можете получить обычный доступ к Windows 10, возможно, вам придется выполнить эти шаги в безопасном режиме. Для входа в безопасный режим выполните следующие действия:

  1. Перезагрузите компьютер во время загрузки несколько раз. Это должно начать автоматический ремонт.
  2. Выберите Устранение неполадок> Дополнительные параметры> Запуск системы и нажмите кнопку Перезагрузить .
  3. После перезагрузки компьютера вы увидите список параметров. Нажмите 5 или F5 , чтобы перейти в безопасный режим с поддержкой сети .

Решение 7. Установите Windows 10 в режиме UEFI

Многие пользователи сообщили, что не могут установить Windows 10 из-за ACPI_BIOS_ERROR, но вы можете легко решить эту проблему, установив Windows 10 в режиме UEFI. Для этого вам понадобится загрузочная флешка с Windows 10 на ней. Вы можете легко создать загрузочную флешку с Windows 10 на ней с помощью Media Creation Tool. Чтобы установить Windows 10 в режиме UEFI, выполните следующие действия:

  1. Подключите загрузочный USB-накопитель к компьютеру и перезагрузите компьютер.
  2. Во время загрузки компьютера нажмите F11 , чтобы выбрать загрузочное устройство. Имейте в виду, что ваша материнская плата может использовать другую клавишу, поэтому обязательно ознакомьтесь с руководством по материнской плате для получения подробных инструкций.
  3. Вы должны увидеть список вариантов. Выберите UEFI: ваш USB-накопитель .
  4. Следуйте инструкциям для завершения установки Windows 10.


Многие пользователи, как правило, используют программное обеспечение для разгона, чтобы повысить производительность своего оборудования, но разгон может вызвать всевозможные проблемы, такие как, например, ошибка BSOD ACPI_BIOS_ERROR. Если у вас есть какие-либо настройки для разгона, мы настоятельно рекомендуем вам удалить их и проверить, исправляет ли это ошибку. Пользователи сообщили, что после изменения частоты ОЗУ на значение по умолчанию в BIOS ошибка ACPI_BIOS_ERROR была устранена, поэтому обязательно попробуйте это.

Вы также можете сбросить настройки BIOS, удалив аккумулятор на материнской плате. Для этого вам необходимо выключить компьютер и отключить его от розетки. Теперь откройте корпус компьютера и найдите аккумулятор на материнской плате. Аккуратно извлеките аккумулятор и подождите пару минут.После этого вставьте аккумулятор обратно в материнскую плату и проверьте, устранена ли проблема.

Если на вашем ПК установлен ACPI_BIOS_ERROR, возможно, проблема в настройках BIOS. Иногда определенные настройки могут мешать работе вашей системы, что может вызвать возникновение этой и других проблем. Чтобы устранить проблему, вам нужно войти в BIOS и изменить одну настройку. Для этого выполните следующие действия:

  1. Введите свой BIOS. Чтобы увидеть, как это сделать, обязательно ознакомьтесь с руководством по материнской плате для получения подробных инструкций. В большинстве случаев вам нужно нажать определенную клавишу, например F2 или Del во время загрузки.
  2. После входа в BIOS перейдите в раздел Дополнительно> Компонент системы .
  3. Теперь установите для идентификатора образа ОС значение Windows .

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

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

Возможно, вам не придется пробовать все эти исправления; просто пройдите вниз по списку, пока ACPI.sys ошибка синего экрана была устранена.

Исправление 1: обновить драйвер ACPI

Одной из наиболее распространенных причин этой проблемы синего экрана является устаревший или неправильный драйвер ACPI. Поэтому вам следует обновить драйвер ACPI, чтобы увидеть, решит ли он вашу проблему. Если у вас нет времени, терпения или навыков для обновления драйвера вручную, вы можете сделать это автоматически с Водитель Легко.

Driver Easy автоматически распознает вашу систему и найдет для нее правильные драйверы. Вам не нужно точно знать, на какой системе работает ваш компьютер, вам не нужно беспокоиться из-за неправильного драйвера, который вы загружаете, и вам не нужно беспокоиться об ошибке при установке. Driver Easy справляется со всем этим.

Вы можете обновить драйверы автоматически с помощью СВОБОДНО или Pro версия Водителя Легко. Но в версии Pro это займет всего 2 шага (и вы получите полную поддержку и 30-дневную гарантию возврата денег):



Вы также можете нажать Обновить сделать это бесплатно, если хотите, но это частично руководство.

Исправление 2: запустить SFC

Иногда ACPI.sys проблема возникает, если ваши системные файлы повреждены. Таким образом, вы должны запустить SFC (System File Checker), встроенный инструмент Windows, чтобы сканировать и восстанавливать повреждения в системных файлах Windows, если они обнаружены.

Вот как это сделать:

    На клавиатуре нажмите ключ с логотипом Windows


и введите CMD. Затем щелкните правой кнопкой мыши на Командная строка и нажмите Запустить от имени администратора.




Исправление 3: запустить проверку диска

Сканирование ошибок диска занимает всего несколько минут. Но как только он обнаруживает какие-либо ошибки, процедура фиксации может занять ЧАСЫ, чтобы завершить. Убедитесь, что у вас есть достаточно времени.

Вот как это сделать:

    На клавиатуре нажмите ключ с логотипом Windows


а также Е в то же время, затем нажмите Этот ПК.





Исправление 4: выполнить восстановление системы

Если вышеуказанные исправления не удалось, вы также можете попытаться выполнить восстановление системы, чтобы вернуть Windows обратно в предыдущее состояние.

Пожалуйста, обратите внимание, что это исправление работает, только если на вашем компьютере есть точки восстановления, созданные до ACPI.sys Забастовки ошибок.
Вот как:

  1. Убедитесь, что ваш компьютер от.
  2. Нажмите кнопка питания включить компьютер. Затем, когда Windows отображает экран входа в систему (то есть Windows полностью загрузилась), нажмите и удерживайте кнопка питания чтобы выключить его.







Возможно, вам придется попробовать несколько раз, прежде чем вы сможете найти точку восстановления, которая может решить вашу ошибку, не слишком забирая компьютер в прошлое.

Наконец, следите за своим компьютером, чтобы увидеть, если ACPI.sys ошибка была устранена

Как описанные выше методы помогли вам в устранении неполадок? Есть ли у вас какие-либо идеи или советы, чтобы поделиться с нами? Оставьте комментарий ниже и дайте нам знать ваши мысли.

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

Компьютер, который у меня есть — нетбук Samsung N250+. У него достаточно неплохое «железо» (за исключением охочей до батарейки и вообще кривой WiFi-карточки Broadcom, которую я сразу же заменил на аналогичую Atheros), но качество BIOS-а весьма печальное. На момент релиза не было даже возможности включить (или выключить) WiFi из Linux-системы: его состояние можно было изменить только через CMOS Setup Utility. На данный момент драйвер есть, но он использует фундаментально порочный подход, и страдает от некоторых проблем.

Исследование текущего состояния

Поддержка возможностей нетбука, для которых код в ACPI отсутствовал, изначально была реализована в модуле ядра easy slow down manager, который в итоге был принят в ядро как samsung-laptop.c.

Как видно на строке 725 исходного кода, этот драйвер использует вызовы SMI (и интерфейс Samsung под названием SABI) для того, чтобы устанавливать уровень подсветки, изменять «режим производительности» (который на самом деле всего лишь меняет скорость вращения вентиляторов) и включать питание беспроводному модулю. SMI-вызов — это команда, которая заставляет ЦП активировать так называемый режим управления системой (SMM), специальную возможность чипсета и процессора, одинаково похожую на гипервизор и руткит.

BIOS может настроить чипсет так, чтобы он перехватывал определенные операции (например, доступ к выбранным регионам памяти или портов ввода-вывода) и активировал SMM, ОС не может ни обнаружить факт входа в SMM (кроме как косвенными методами), ни прервать его, ни предотвратить. После этого, BIOS может выполнить произвольный код: например, SMM используется для того, чтобы сэмулировать для старых ОС (например, ДОС) поддержку PS/2-мыши в тех случаях, когда подключена USB-мышь. Более того, область памяти, выделенная для обработчика SMM, ни при каких обстоятельствах не доступна ОС, делая прямой анализ логики ее работы невозможным.

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

Рассмотрим поближе таблицы ACPI. Существует множество их типов, но в данном случае важна только одна, DSDT — таблица с байткодом обработчиков многих системных событий.

Для извлечения таблицы из системы и модификации ее кода нам потребуются две утилиты: «acpidump» и «iasl». На Debian-подобной ОС они находятся в пакетах с тем же названием.

Для наглядности, я оформил таблицу с историей моих изменений как репозиторий github; начальное состояние содержится в этом коммите. Как видно, таблица весьма длинная: более 5000 строк. Таблицы длиной более чем в 25000 строк встречаются вполне регулярно.

Чиним подсветку

У моего нетбука светодиодная подсветка, и поэтому ее яркость можно менять, просто включая ее на определенную долю одинаковых интервалов времени, например, для затемнения на 30% можно держать ее включенной 70% времени. Чтобы мерцание не было заметно, это переключение (ШИМ) происходит на частоте, заведомо превышающей чувствительность человеческого глаза — скажем, 200кГц вполне достаточно.

В данном случае, скважность ШИМ, вероятно, изменяется встроенным графическим контроллером. Вот он на шине PCI:

Цифры «00:02.0» — адрес устройства на шине. Зная этот адрес, можно запросить или изменить параметры устройства, так как Linux предоставляет множество точек управления через sysfs. Одна из них позволяет читать и записывать конфигурационное пространство PCI: блок из 256 байтов, в котором хранятся настройки устройства. Первые 64 байта в этом блоке имеют определенное спецификацией значение, а остальные могут свободно использоваться производителем для своих нужд.

Проверим, что происходит с конфигурацией при изменении уровня подсветки (несмотря на то, что здесь приведен пример для Linux с открытым драйвером, все это можно сделать и для закрытого драйвера или даже на Windows; считать конфигурационное пространство можно и в ней):

Таким образом, байт по адресу 0xf4 управляет уровнем подсветки. Можно в этом убедиться, запустив команду sudo setpci -s 00:02.0 f4.b=80 (заменив 80 на нужный уровень подсветки).

Теперь перепишем DSDT так, чтобы обновлялось это значение (и, возможно, в процессе этого получится узнать, почему управление подсветкой через ACPI вообще не работает):

Согласно спецификации ACPI (приложение B, раздел 6.2, стр. 704), совместимое описание графического адаптера должно реализовывать методы _BCL , _BCM и _BQC . В нашем DSDT эти методы определены на строке 1767. Вот их откоментированный исходный код:

Чтобы изменить этот код для работы через конфигурационное пространство PCI, нужно добавить новое поле в структуру, описывающую это пространство. Адрес адаптера 00:02.0 соответствует значению 0x0002000 в ACPI (раздел 6.1.1, стр. 200). Устройство с таким адресом определено на строке 1325; за определением следует описание конфигурационного пространства PCI.

Как было упомянуто, первые 64 (0x40) байтов в этом пространстве зарезервированы для внутреннего испольования. Из-за этого ACPI даже не включает их в регион; он определен как OperationRegion(IGDP, PCI_Config, 0x40, 0xC0) , где третий аргумент означает отступ с начала области PCI_Config. Поле, управляющее яркостью, расположено по адресу 0xf4 во всем пространстве, и 0xb4 в этом регионе.

За определением региона следуют определения полей. Вся конструкция Field представляет из себя поток битовых полей (длина определена в битах, а не байтах), одно за другим, перемежающееся указанием смещений (Offset), задаваемых, напротив, в байтах. Назовем наше поле BLVL и включим его в структуру:

Так как система имен ACPI иерархическая, это поле теперь доступно глобально под именем _SB.PCI0.IGD0.BLVL (имя составлено из вложенных конструкций Device и Scope), и методы для управления яркостью теперь можно переписать так, чтобы они обращались к полю BLVL напрямую:

Обновленная DSDT также лежит в репозитории.

Можно собрать ядро, установить его и перезагрузиться. Вуаля: теперь изменение яркости подсветки работает со стандартным драйвером ACPI. (Например, echo 7 >/sys/class/backlight/acpi_video0/brightness ).

Другие функции

Для того, чтобы найти другие похожие поля, изменяемые кодом в SMM, я написал простой скрипт. Нужно отметить, что некоторые устройства, а именно мосты PCI Express и сетевые адаптеры, порождают множество самопроизвольных изменений.

К сожалению, ни скорость вентилятора, ни выключатель беспроводного модуля не оказались связаны ни с какими изменениями в конфигурационном пространстве. Вероятно, они производятся через Embedded Controller или интерфейс SMBus, что означает отсутствие постоянных изменений в системной памяти.

Более того, даже если бы я обнаружил интерфейс отключения беспроводного модуля, я бы не смог использовать стандартный способ его представления системе — из-за отсутствия такого способа в природе. На ноутбуках, где этот интерфейс действительно задан в ACPI, существует платформенно-специфичный драйвер для его обработки (в отличие от подсветки, для которой существует общий стандарт).

С начала 2021 года мы посвятили ошибкам BSOD несколько статей, в которых был произведён общий разбор причин появления этих ошибок. Следуя уже сформировавшейся традиции, мы продолжаем разбирать ошибки синего экрана смерти. Ошибка, о которой сегодня пойдёт речь, называется ACPI_BIOS_ERROR и имеет чаще всего код 0x000000A5. Её название недвусмысленно намекает на проблемы с интерфейсом управления конфигурацией и питанием ACPI, но, как и прочие ошибки BSOD, она может вызываться другими причинами. Сталкиваться с ней приходится нечасто, поэтому будем краткими, в двух словах обозначив предпринимаемые по её устранению действия.

↑ ACPI BIOS ERROR в Windows 10


↑ Обновление драйверов ключевых компонентов

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

↑ Сброс и/или обновление BIOS

Если ошибка стала появляться после внесения изменений в настройки BIOS, следует восстановить исходные параметры или сбросить настройки BIOS, вытащив питающую CMOS-память батарейку на несколько минут (универсальный способ). Радикальное решение — обновление прошивки BIOS оставляем на потом, прибегнуть к нему можно тогда, когда все прочие способы не дали положительного результата.

↑ Отключение ACPI

Не самое разумное решение, стандарт ACPI необходим для автоматизации управления важными функциями питания аппаратных компонентов — материнской платы, процессора, кулеров и так далее. Отключение ACPI в BIOS возможно только перед переустановкой Windows, так как в работающей системе это приведёт к невозможности загрузки компьютера. Если ошибка появляется после выхода из режима сна, установите в BIOS для ACPI значение S1 (первый режим уменьшенного энергопотребления).

↑ Проверка ОЗУ

Ошибка ACPI_BIOS_ERROR в Windows 10 может быть вызвана неполадками в работе планок оперативной памяти. Проверьте состояние ОЗУ встроенными средствами системы или утилиты MemTest86, если до этого производился разгон памяти, восстановите исходные настройки.

↑ Удаление файла гибернации

Если вы заметили, что ошибка ACPI_BIOS_ERROR появляется сразу после выхода компьютера из гибернации, попробуйте удалить расположенный в корне системного диска файл Hiberfil.sys. Для этого в командной строке выполняем команду powercfg -h off, также файл гибернации может быть удалён из-под LiveCD.

↑ Режимы Legacy и UEFI

Если у вас используется UEFI, попробуйте, наконец, переустановить систему в режиме Legacy и наоборот, если Windows установлена в режиме совместимости, попробуйте переустановить её в режиме UEFI. Если ничего не помогает, необходимо провести полную диагностику аппаратной части компьютера в сервисном центре, поскольку ACPI_BIOS_ERROR может быть вызвана неисправностями интегрированных в материнскую плату компонентов.

Читайте также: