система не выключается при выключении питания, просто останавливается


13

Я установил Xubuntu 15.04 на Lenovo IdeaCentre A740 QHD с процессором Haswell (версия BIOS 00KT19AUS) и NVIDIA GeForce GTX 850A 2 ГБ. В основном это работает, за исключением того, что когда я делаю выключение или перезагрузку, он фактически не выключает питание после завершения всего:

IMG:

Поэтому я должен нажать кнопку питания, чтобы фактически отключить его.


Я сохранил установку Windows 8.1 на случай, если появятся какие-либо будущие прошивки. Перед установкой Xubuntu я отключил Fastboot из Windows, затем установил Xubuntu. К сожалению, BIOS UEFI не позволил мне изменить порядок загрузки, так что Ubuntu фактически запустился по умолчанию. Я попытался bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi, попытался отключить «быструю загрузку» (что бы это ни было) в BIOS, попробовал программу Boot-Repair из Live Session и попытался отключить SecureBoot, но все равно он просто загрузит Windows. Я закончил с помощью EricC ^^ из #ubuntu на freenode, просто переключаясь между файлами .efi, чтобы обмануть менеджер загрузки, думая, что Ubuntu - это Windows:

cp /boot/efi/efi/boot/bootx64.efi{,.backup}
cp /boot/efi/efi/microsoft/boot/bootmgfw.efi{,.backup}
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/boot/bootx64.efi
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/microsoft/boot/bootmgfw.efi
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/microsoft/boot/grubx64.efi
sudo vim /usr/lib/os-probes/mounted/efi/20microsoft
# and changed bootmgfw.efi to bootmgfw.efi.backup
update-grub

Я не знаю, имеет ли это какое-либо отношение к проблеме отключения.

РЕДАКТИРОВАТЬ: Если подумать, перезагрузка из установки Xubuntu (когда я загрузился через USB-накопитель) тоже не работает.


Что я пытался сделать, чтобы закрыть его:

  • acpi = off → без разницы
  • acpi = сила → без разницы
  • установить проприетарные драйверы Nvidia → которые только что заставили X не запускаться с сообщением «bbswitch: Дискретное устройство VGA не найдено»
  • различные вариации на sudo poweroff, sudo shutdown now, и sudo shutdown -h nowт.д.

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

перезагрузить веселье

Если это полезно, вот выход файла journalctl --all сразу после загрузки и, возможно, даже лучше: journalctl -b -1 (журнал от загрузки до выключения) .


Также, возможно, это связано с тем, что теперь я заметил, что нажатие кнопки питания при входе в XFCE выключает компьютер, даже если у меня есть настройки питания XFCE: «Спрашивать при нажатии кнопки питания» и «Ничего не делать» на любых других кнопках.

У My /etc/systemd/logind.confнет комментариев без комментариев, кроме [Login]заголовка.

Существует /usr/sbin/acpidпроцесс работает как корень.


РЕДАКТИРОВАТЬ: Больше откровений: Ctrl + Alt + Delete фактически перезагрузить нормально из GRUB.

РЕДАКТИРОВАТЬ 2: Я подал отчет об ошибке, так как это не кажется исправимым с обычными уловками.

EDIT3: Решено с acpi = noirq и ядром 4.4 и новее.


У меня есть похожие проблемы на Ubuntu 15.04 Desktop / Server, где система зависает при завершении работы / запуске. Моя теория заключается в том, что оба могут быть связаны. Я сузил проблему запуска, проверив dmesgи обнаружив, что она пытается смонтировать файловую систему, которая не существует, и подождала минуту, прежде чем она продолжит загрузку. Также проблемы с отключением были связаны с монтированием, потому что, если я выключаю свой рабочий стол с помощью откройте NFS соединение с моим сервером без принудительного демонтажа, оно будет зависать. Я не уверен, связаны ли эти проблемы с вашей проблемой, но я подумал, что я подниму их только в случае.
Майкл Линдман

1
Комментарий М. Линдмана делает наглядное замечание. Там есть журнал, который подробно показывает вам, что происходит. Прочитайте это с journalctl --all. отредактируйте свой ответ и покажите его людям, если вы хотите помочь понять его.
JdeBP

JdeBP: добавлено, но из того, что я могу сказать, journalctl только дает информацию об этой загрузке - есть ли способ заставить ее сохранить предыдущие?
unhammer


Спасибо JdeBP, задаюсь вопросом, почему эти журналы не были сохранены :) Я добавил новую ссылку в конец вопроса, хотя сам не могу найти ничего подозрительного.
unhammer

Ответы:


4

Моя лучшая догадка, основанная на предоставленной информации, - глючный UEFI BIOS. копаясь в ошибках ядра для Haswell, я нашел возможный обходной путь. Попробуйте использовать xhci_hcd.quirks=262144в качестве параметра загрузки или Отключение xhci в UEFI.

Единственные другие варианты, о которых я могу думать, следующие:

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

B) Обратитесь в службу поддержки Lenovo и отправьте обновление BIOS, которое решит проблему или предложите другим пользователям с такой же проблемой подписаться на ваш отчет об ошибке. Это может или не может быть более эффективным, чем А.

C) Модифицируйте BIOS или ядро самостоятельно, пока не достигнете желаемого результата (не для слабонервных). Я не рекомендую этот курс действий, только включая его для полноты. Модификация BIOS может легко оставить вас без загружаемой системы с аннулированной гарантией. Вы также должны внимательно прочитать причины за и против компиляции своего собственного ядра в вышеупомянутом связанном документе.

Источник: https://bugzilla.kernel.org/show_bug.cgi?id=66171#c118


Это для систем Broadwell ( support.lenovo.com/us/en/products/desktops-and-all-in-ones/… ), у меня Haswell (версия BIOS 00KT19AUS)
молотка

Отредактировал новую информацию в вопрос для вас.
Старейшина Компьютерщик

Я отредактировал свой ответ
Старейшина Гик

Примечание. Похоже, что Кристофер М. Пеналвер пришел к тому же ложному заключению, которое я сделал в отношении BIOS. Возможно, вы захотите ускорить их в сообщении об ошибке.
Старейшина Компьютерщик

1
Настройки XHCI связаны с USB - надеюсь, это поможет вам найти их в BIOS. Если нет, обратитесь в службу поддержки клиентов Lenovo по номеру 1 (855) 253-6686 и спросите, где их найти или есть ли у них обновление BIOS. Всего наилучшего!
Старейшина Гик

4

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

acpi=noirq

к параметрам загрузки ядра. Это позволяет ему выключаться при выключении / перезапуске (протестировано с ядрами 4.4 и 4.7rc5).

Кажется, что также приостановить, но, к сожалению, не возобновляет приостановить при нажатии кнопки питания.

На A740 это работало более трех месяцев, поэтому я называю это решенным.


Я рад, что мой вариант А) сработал для вас! :-)
Старейшина Компьютерщик

Как в "ждать и надеяться"? Что я на самом деле делал, так это сообщал об этом как об ошибке в пакете Ubuntu linux, пробовал несколько новых выпусков основной линии, затем, когда это ничего не решало, я сообщал об этом вначале, сначала в неправильный компонент bugzilla.kernel.org/show_bug.cgi?id = 118401 , затем отправили в ide / ahci, и после некоторых обменов электронной почтой и попыток получить полезный вывод отладки marc.info/?t=146296312800002&r=1&w=2 и пробуя различные варианты, предложенные там, нашли тот, который работал. Простое ожидание и обновление не решают проблему, необходимо изменить настройки grub.
unhammer

Независимо от того, я рад, что вы получили это отсортировано. Будь то А или Б :-)
Старейшина Гик

2

Перебрав системные файлы, я увидел несколько предупреждений о BIOS. Я проверил веб-сайт Intel, и было доступно обновление, которое, казалось, решало проблему перекрывающихся адресов памяти. Не совсем то же самое, но мои журналы указывали, что различные сектора моего BIOS возвращали неожиданные значения, что не мешало запуску ядра, но, очевидно, было плохо. Проблема не была очевидна, пока ядро ​​не прекратило использование upstartи не начало использовать systemd.

Я скачал обновленный BIOS и применил его, и теперь моя система выключается, как и ожидалось.


Что это за система / BIOS? (Lenovo еще не выпустила обновленный BIOS для моей архитектуры процессора.)
unhammer

0

Что cat /etc/default/haltговорит? Попробуй halt -p.

Вы также можете редактировать /etc/init.d/haltи удалять эти строки:

if [ "$INIT_HALT" = "HALT" ]
then
  poweroff=""
fi

ниже

poweroff="-p"

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

о, и / etc / default / halt говорит HALT=poweroff. Но не следует halt -pили poweroff или shutdown nowеще работать независимо от того, что там?
unhammer

0

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

sudo apt-get autoremove
sudo apt-get dist-upgrade

Если это не решило вашу проблему, и обновление прошло без каких-либо ошибок или предупреждений, мы попробуем покопаться немного глубже, чтобы узнать, сможем ли мы выяснить, что является причиной проблемы. Вы можете получить руководство, проверив содержимое /var/log/unattended-upgrades. Если бы вы могли выяснить, какое обновление вызывает проблему, вы можете внести изменения в черный список /etc/apt/apt.conf.d/50unattended-upgrades.

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

sudo apt-get remove unattended-upgrades 

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

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


Это свежая установка - autoremoveи dist-upgradeесть «0 обновить, 0 удалить» и т.д., и / вар / Журнал / необслуживаемое-обновление пусто: $ wc -c < /var/log/unattended-upgrades/unattended-upgrades-shutdown.logдает0
unhammer

Кроме того, в нем нет программ /lib/systemd/system-shutdown, поэтому нет служб, которые следует вызывать при вводе poweroff . И удаление unattended-upgradesполностью не дало эффекта.
отбойный молоток

0

Я перепробовал все, и через несколько дней у поклонника с низким рейтингом на этом форуме все получилось: Ubuntu 14.04 застрял при выключении

Для меня решением было обновить ядро. Я использовал 4.5.3 на Ubuntu 15.10 (что-нибудь большее, чем это, приведет к краху ОС после входа в систему), а 4.7 RC3 работает на Ubuntu 16.04.

Теперь работает отлично :-)


Это не сработало для моей системы. Как показывают сообщения об ошибках, я уже перепробовал довольно много 4.7 ядер - они просто сделали невозможным загрузку! После сообщения об апстриме и помощи в отладке из списка ядра, решение обеих моих проблем (загрузка вообще и отключение при выключении) было acpi=noirq askubuntu.com/a/794739/25639
unhammer

0

Я могу подтвердить, что это определенно связано с ACPI. Моя система демонстрирует это точное поведение тогда и только тогда, когда я передаю acpi = off в Linux 4.20-rc3 для целей разработки ядра. Если ваш ACPI был сначала включен, то есть большая вероятность, что реализация ACPI в BIOS была глючной. Я вижу, вы сказали, что обновление ядра помогло. Но обновление BIOS, возможно, тоже помогло.


Это на самом деле не отвечает на вопрос. Ваше предложение относительно BIOS просто указывает на возможное решение, которое, как вам кажется, вы на самом деле не пробовали. Фактически, ОП указал, что он решил свою проблему, «добавив acpi = noirq к параметрам загрузки ядра».
Центавр

0

У меня была такая же проблема, и я считаю, что это связано с загрузкой UEFI. На Acer Aspire V 11, изначально Windows 8, я недавно установил OpenSUSE Leap 15.0 с загрузкой EFI и безопасной загрузкой, установленной на «отключен» в BIOS. Теперь выключение, перезагрузка и приостановка работы корректно.

Ранее я использовал Ubuntu 16.04, 18.04 и совсем недавно 18.10 под устаревшей загрузкой, и все они столкнулись с той же проблемой. Я также попробовал Fedora 24, OpenSUSE Tumbleweed и OpenSUSE 42.2, все с той же проблемой.

Я также попробовал Ubuntu 18.10 с включенной загрузкой EFI и безопасной загрузкой, но получил ошибку не загружаемого устройства. Я не пробовал загрузку EFI с отключенной безопасной загрузкой.


-1

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

sudo poweroff

Если это не завершает работу аппаратного обеспечения, это проблема аппаратного обеспечения, а не программного обеспечения.


3
Как говорится в вопросе, я пытался безрезультатно. Но GRUB прекрасно справляется с перезагрузкой программного обеспечения (не уверен, как проверить отключение питания), в то время как Windows 8.1 выполняет выключение и перезагрузку программного обеспечения на этом оборудовании. Это похоже на проблему с ядром, поэтому я подал отчет об ошибке .
unhammer

1
upvote для подачи сообщения об ошибке.
Даниэль

-1 Потому что я нахожу иначе. Это заканчивается тем, что systemd-shutdown[1]: Powering off.машина выключена просто отлично с 12.04 и 14.04, но не свежей установкой 16.04.
Nateowami,

-1
  1. Перезагрузите затем F2
  2. Зайдите в конфигурацию и отключите xHCI
  3. Сохранить и выйти

Не думай об этом, просто доверься мне и сделай это :)


Я не могу найти какие-либо настройки XHCI в BIOS нигде. Я могу отключить все USB, но это не вариант для меня.
unhammer

это не повернет все usb, это только повернет usb3
Талал
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.