Acpi linux не выключается

Проблема с выключением всех систем на базе linux

приветствую! Моя машина — ноутбук dexp achilles g118. Изготовитель платы dns. uefi 2015 года.

Проблема заключается в том, что у меня не выключается ни одна система на базе Linux(кроме систем с мезозойскими ядрами -5 века(и ещё Mint Uliana до всех обновлений выключался), я не воин linux’а, так что смотреть ядра не стал, а оставил на финальный рывок, если тут не помогут). Сбой происходит на финальном этапе выключения («reboot: Power down» и всё встаёт).

Всё остальное работает правильно. Собственно, даже reboot работает нормально. На что только не грешил, перепробовал всё, проверял работоспособность всех модулей и пакетов ядра через dmesg. Везде всё хорошо, кроме acpi, с которым тоже копался: пробовал менять драйвер (так и не поменял, потому что не нашёл), вынимал кабель питания, батарею. Включал — выключал всё до чего достали руки (wifi и lan, bluetooth, систему контроля питания, короче говоря всё, что есть в системе и что можно выключить ‘нетерминально’). Драйверы на видеоадаптер ставил через встроенный «менеджер драйверов». Прописывал в grub «verbose», «acpi=force». Даже выключал как shutdown -h now ; poweroff ; halt- нет разницы.

Начинаю думать, что дело в плате и acpi контроллере.

Свежая информация: Система загружается, как положено через UEFI, а не через ACPI. Проблема, видимо, не в железе, а в софте. За непониманием происходящего, удаляюсь с форума побеждённым Linux’ом. Возможно, отпишу позже.

забыл добавить!

Текущая операционка — manjaro Cinnamon 4.6.7 Версия ядра — 5.8.3-2-MANJARO

Если дело в ACPI, то это решается или правкой DSDT, или переходом на те версии LTS ядер, где это и так работает нормально.

Ты говоришь, что на 4.x ядрах все нормально работает?

Ubuntu 18.04 имеет ядро 4.15 и будет поддерживаться до апреля 2023.

Debian 10 имеет ядро 4.19 и будет поддерживаться до 2024 года, точнее будет позднее объявлено.

RHEL 8 (CentOS, Oracle Linux) имеют ядро 4.18 и будут поддерживаться до мая 2029 (хотя как десктоп их может быть не очень удобно использовать).

На кнопку руби да и все

попробуй в grub добавить

приветствую! Моя машина — ноутбук dexp achilles g118. Изготовитель платы dns. uefi 2015 года.

А линукс загружается через UEFI или Legacy boot? Если не ошибаюсь, то в случае UEFI выключение идёт через API UEFI, а в случае Legacy — через ACPI. И в случае бажной прошивки, одно из этого может не работать.

Проблема заключается в том, что у меня не выключается ни одна система на базе Linux(кроме систем с мезозойскими ядрами -5 века(и ещё Mint Uliana до всех обновлений выключался), я не воин linux’а, так что смотреть ядра не стал, а оставил на финальный рывок, если тут не помогут). Сбой происходит на финальном этапе выключения («reboot: Power down» и всё встаёт).

А можешь сказать точные версии ядер, в которых всё работает нормально, и ядер, в которых выключение сломано?

Прописывал в grub «verbose», «acpi=force».

А какие ещё варианты acpi= пробовал? Если что, документация тут: https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html. Я бы попробовал другие.

Даже выключал как shutdown -h now ; poweroff ; halt- нет разницы.

Если доходит аж до reboot: Power down то разницы и не должно быть.

Читайте также:  Installing the vmware tools in linux

Также, проблема может быть в каким-нибудь хитром устройстве, которое делает с состоянием системы или прошивки что-то странное при инициализации или перед выключением. Чтобы такое отловить, можно попробовать загружать систему с минимальным набором модулей ядра и смотреть: выключается ли. Если выключается нормально, то добавлять модули и смотреть после какого всё сломается опять.

(хотя как десктоп их может быть не очень удобно использовать).

А что там не так? Все пакеты из федоры.

тогда Windows 10

Не все. В том смысле, что их существенно меньше, а те, что есть, зачастую собираются с большим запозданием. Даже если подключить EPEL + RPMFusion + flatpak, их все равно не так много и многие устарели (в смысле безопасности), и зачастую будет чего-то не хватать. Есть ещё snap, но для него криво прописаны политики SELinux, что вызывает головную боль при использовании их одновременно.

Как я понял, система выключсется через Legacy. Проверил поиском файла efi.

В теории на ядрах ниже 4.4 (уровень убунту до 16.04) всё должно работать. Раньше работало, по крайней мере. Попробовал сегодня поставить одно такое, получил отказ novieau с непонятной претензией. Сейчас попробую именно убунту 16.04 и ниже. Отпишусь как сделаю.

Вообще, есть шанс, что я пару-тройку лет назад пробовал «прошить биос») Возможно, если я прав, в этом и всё дело. С виндой-то всё понятно, а вот линукс, видимо, — более чувствительная система.

ПРОБЛЕМА РЕШЕНА!

Дело было в том, что моя плата не поддерживает Legacy системы, коей и является Manjaro. Вот почему я говорил, что у меня работала старая ubuntu, ведь на ней(а по факту, как я узнал, и на любой ubuntu системе) можно было ДОГРУЗИТЬ в ядро поддержку uefi. А с новыми выпусками ubuntu поддержка uefi стоит автоматом(так я про это всё и узнал).

Вот по этому manjaro и не могла выключить пк, ведь она посылала сигнал о выключении в legacy контроллер, которого нет!

Огромное спасибо im-0 за наводку!

На arch поддержку efi тоже можно догрузить.

Ниправда! DNS-Shop не занимается изготовлением железа, только собирают под своим брендом китайское говно (сейчас рядом стоит один, и единственное что не позволяет мне его разбить о стену — железка не моя).

Начинаю думать, что дело в плате и acpi контроллере.

Возможно, но без логов всё это пальцем в небо.

То есть Arch Linux, а значит с systemd.

А стоит начать с каноничного для systemd systemctl poweroff .

А стоит начать с каноничного для systemd systemctl poweroff.

Это всё синонимы.

Как я понял, система выключсется через Legacy. Проверил поиском файла efi.

Надо смотреть на наличие директории /sys/firmware/efi/ . Если есть — значит UEFI.

Дело было в том, что моя плата не поддерживает Legacy системы, коей и является Manjaro. Вот почему я говорил, что у меня работала старая ubuntu, ведь на ней(а по факту, как я узнал, и на любой ubuntu системе) можно было ДОГРУЗИТЬ в ядро поддержку uefi. А с новыми выпусками ubuntu поддержка uefi стоит автоматом(так я про это всё и узнал).

А можешь объяснить что именно и как ты делал? На случай, если у кого-то ещё возникнет такая же проблема с теми же причинами.

Читайте также:  Windows 10 как сделать стандартный курсор

Как минимум мне не очень понятно что именно у тебя происходит потому что:

  • Практически все современные дистрибутивы поддерживают UEFI.
  • Если при установке поставить legacy-загрузчик, но прошивка платы не умеет в legacy, то линукс не загрузится вообще.
  • «ДОГРУЗИТЬ в ядро поддержку uefi» из уже работающей системы никак нельзя, потому что решение о выборе типа загрузки принимает не линукс, а прошивка системы, на основе того, что она сама умеет, и что настроил юзер в «настройках биоса». После выбора она либо запускает код загрузки легаси, который грузит grub2 (собранный под легаси), который грузит ядро линукса; либо она запускает код загрузки UEFI, который грузит shim, который грузит grub2 (собранный под uefi, это отдельный набор бинарников), который грузит ядро. После загрузки уже ничего не изменить. Разве что правильным образом установить другой grub2, либо переустановить вообще всю систему.

Ну вот у меня на Gentoo эти алиасы/симлинки работали криво, потому systemd-sysv, или как там этот пакет называется, снёс нафиг и юзал напрямую и проблем не знал.

Ну вот у меня на Gentoo эти алиасы/симлинки работали криво

Гентопроблемы, даже симлинки не могут правильно создать 🙂

так останется только одно ядро процессора, не будет управления частотой и так далее

Верно, я поспешил.

Правильно, я обновил GRUB для поддержи uefi, а не ядро, и думал, что всё ок. Несколько раз всё выключилось отлично, даже после обновления приложений. Я побежал сюда на радостях писать что всё решилось, но через какой-то промежуток времени, не помню что я тогда делал, проблема вернулась снова.

Да, детальнее изучив вопрос я понял, что без поддержки efi, grub загрузиться вообще не может, что логично. У меня была мысль, что GRUB загружает систему в Legacy режиме(ошибочная, как я позже выяснил). Занимаюсь этом вопросом уже 5 день, крыша едет только так. Сопоставив все имеющиеся данные, понять что вызывает вышеописанную в теме ошибку практически невозможно. Попробую угадать ещё пару раз, потом, при неудачном исходе, наверное, заброшу идею на какое-то время. Устал копаться в том, что не понимаю. Откопаю мозги, почитаю литературу о структуре систем (читаю что написал до этого… волосы дыбом встают…), вот тогда уже сяду разбираться. Спасибо, в любом случае!

Re: Верно, я поспешил.

начни с азов. dmesg сюда ядро отправляет все свои сообщения – при включении компьютера, при его работе и его отключении. необязательно что там сразу будет указана причина, но по крайней мере это хоть что-то. про ACPI обычно там есть. потом есть ещё journalctl. здесь уже надо знать где искать, но и это обычно не проблема. и в твоём пакетном менеджере есть же какая-то история? какой пакет установился/обновился/удалился… сначала ядро, а там куда кривая вывезет.

Несколько раз всё выключилось отлично, даже после обновления приложений. Я побежал сюда на радостях писать что всё решилось, но через какой-то промежуток времени, не помню что я тогда делал, проблема вернулась снова.

скорее всего это (описание) может быть в journalctl, но я не уверен.

Спасибо за совет! На днях попробую.

Кстати, интересный факт, у меня выключаются только Debian системы. Выяснил на днях.

Источник

[РЕШЕНО]Не выключается, не перезагружается ноутбук (acpi?)

# 2 года, 9 месяцев назад (отредактировано 2 года, 9 месяцев назад)

Читайте также:  Что такое windows cis and ge
Писал на англ форуме, тишина, напишу тут.
У меня свежий ноут 18 года от амд, ставил 1ый раз арч, были ошибки при загрузке, но все работало исправно. Потом перешёл на Винду, посидел на ней, обновил биос, все норм было.
Вернулся на линукс и ноут не хочет отключаться или ребутаться. Объясняю
На голом линуксе без иксов и кде все было ровно также.
Нажимаю выкл, пробегают буквы, ноут весь тухнет ииии все, чёрный экран и я вижу что он не отключился окончательно.
Обычно это длится 2-3 секунды, но в моём случае это loop какой-то. Подскажите пожалуйста что делать, даю лог journactl
# 2 года, 9 месяцев назад (отредактировано 2 года, 9 месяцев назад)

nvm35
все работало исправно. Потом перешёл на Винду, посидел на ней, обновил биос,

Что за мания без особой причины обновлять BIOS.
Для начала отключи IOMMU, чтобы посмотреть как это повлияет — если поможет, то можно включить, а для иправления ошибки BIOS (отсутствует таблица IVRS) придется указать адреса в ручную в параметрах загрузки. Как это делать, гугли по сообщения логов (1-ые три строчки — любую из них).
Если отключение IOMMU не поможет, нужно смотреть, что там будут за новые сообщения в логах.

UPD — для reboot и выключение пробуй комбинации клавиш с SysRq

EDIT 1 — посмотри также этот блог в части проблем с выключением, может поможет выудить дополнительную информацию.

Возможно твой ноут не готов для арча, попробуй минт — будет там такая проблема или нет.

nvm35
все работало исправно. Потом перешёл на Винду, посидел на ней, обновил биос,

Что за мания без особой причины обновлять BIOS.
Для начала отключи IOMMU, чтобы посмотреть как это повлияет — если поможет, то можно включить, а для иправления ошибки BIOS (отсутствует таблица IVRS) придется указать адреса в ручную в параметрах загрузки. Как это делать, гугли по сообщения логов (1-ые три строчки — любую из них).
Если отключение IOMMU не поможет, нужно смотреть, что там будут за новые сообщения в логах.

# 2 года, 9 месяцев назад (отредактировано 2 года, 9 месяцев назад)

killer1804
Возможно твой ноут не готов для арча, попробуй минт — будет там такая проблема или нет.

# 2 года, 9 месяцев назад (отредактировано 2 года, 9 месяцев назад)

vasek
EDIT 1 — посмотри также этот блог в части проблем с выключением, может поможет выудить дополнительную информацию.

nvm35
systemd[1]: Failed unmounting /var.
думаете может быть в этом ошибка?

Думаю, что это вряд ли является причиной не выключения компьютера. Хотя нужно смотреть как у тебя смонтирован var — в корне или отдельным разделом, может что и нахимичено.
Хотя это не должно приводить к полной блокировке выключения, systemd в любом случае должен завершить начатое дело до конца.
Это скорее всего говорит о том, что логи пишутся в journal (до последнего момента), а var уже подлежит размонтированию, вот и пишет ошибку.
Для подробностей лучше погугли по данной ошибке.

nvm35
Я отключил в биосе iommu, ничего не изменилось, лог кидаю

vasek
Это нудно и муторно, но без этого никуда. А пока пробуй делать reboot and shutdown, используя SysRq

nvm35
И вообще не получается пока задействовать ее, разные комбы делал.

Источник

Оцените статью