система не вимикається на "потужний", просто зупиняється


13

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

IMG:

Тому я повинен натиснути кнопку живлення, щоб фактично її вимкнути.


Я зберігав установку Windows 8.1 на випадок, якщо є будь-яка майбутня прошивка. Перш ніж встановлювати Xubuntu, я вимкнув Fastboot з Windows, потім встановив Xubuntu. На жаль, UEFI BIOS не дозволив мені змінити порядок завантаження, щоб 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

Я не знаю, чи щось із цього стосується проблеми з відключенням.

EDIT: Подумайте про це, перезавантаження з установки Xubuntu (коли я завантажувався через USB-накопичувач) також не працювало.


Що я намагався до цього часу, щоб його вимкнути:

  • acpi = вимкнено → різниці немає
  • acpi = сила → різниці немає
  • встановіть власні драйвери Nvidia → щойно зробили X не починати з повідомлення "bbswitch: Не знайдено дискретного пристрою VGA"
  • різні варіації на sudo poweroff, sudo shutdown now, і sudo shutdown -h nowт.д.

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

перезавантажити весело

Якщо це корисно, ось журнал - всі результати відразу після завантаження і, можливо, ще краще: journalctl -b -1 (журнал від завантаження до відключення) .


Також, можливо, пов’язане, я зараз помічаю, що натискання кнопки живлення під час входу в XFCE вимикає комп'ютер, навіть якщо у мене в налаштуваннях живлення XFCE "Попросити, коли натиснути кнопку живлення" та "Не робити нічого" на будь-яких інших кнопках.

/etc/systemd/logind.confОкрім [Login]заголовка, у мене немає коментованих рядків .

Існує /usr/sbin/acpidпроцес, що працює як root.


EDIT: Більше викриттів: Ctrl + Alt + Delete фактично перезавантажте штраф із GRUB.

EDIT2: Я подав звіт про помилку, оскільки це не здається виправданим за допомогою звичайних хитрощів.

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 для моєї архітектури процесора.)
зніміть

0

Що cat /etc/default/haltговорить? Спробуйте halt -p.

Ви також можете редагувати /etc/init.d/haltта видаляти ці рядки:

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

нижче

poweroff="-p"

halt -pнічим не відрізняється, воно все ще не вимикається повністю.
unhammer

о, і / etc / default / halt каже HALT=poweroff. Але не слід halt -pабо poweroff або shutdown nowще працювати незалежно від того, що там?
unhammer

0

З ваших журналів ядра (знімок екрана) я маю на увазі, що оновлення без нагляду може стати причиною вашої проблеми. Про це було дано кілька повідомлень про помилки , але вони не були вирішені. Тимчасовим виправленням цього може бути відключення автоматичних оновлень оновленнями, але ми збережемо це в крайньому випадку. Перш за все, ми спробуємо оновити вручну:

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

Якщо це не вирішило вашу проблему, і оновлення пройшло без помилок чи попереджень, wee спробує копати трохи глибше, щоб побачити, чи зможемо ми з’ясувати, що викликає проблему. Ви можете отримати керівництво, ознайомившись із вмістом /var/log/unattended-upgrades. Якщо ви зможете з’ясувати, яке оновлення викликає проблему, ви можете внести в чорний список оновлення, змінивши /etc/apt/apt.conf.d/50unattended-upgrades.

Якщо це все ще не вирішує проблему, ви можете тимчасово видалити пакунок, щоб підтвердити, чи це причина:

sudo apt-get remove unattended-upgrades 

Я рекомендую перевстановити його, навіть якщо це вирішило вашу проблему. У такому випадку поверніть звіт про помилку з додатковою інформацією, щоб розробники могли вирішити вашу проблему.

Попередження: Якщо ви вирішите вимкнути автоматичне оновлення, а потім не оновлювати вручну систему, можливо, ви ризикуєте з точки зору безпеки та стабільності.


Це свіжа установка - autoremoveі dist-upgrade"0 для оновлення, 0 для видалення" тощо, і / var / log / unattended- $ wc -c < /var/log/unattended-upgrades/unattended-upgrades-shutdown.log0
upgrade

Крім того, в програмах немає програм /lib/systemd/system-shutdown, тому немає послуг, які слід викликати, коли я ввожу потужність . І видалення unattended-upgradesповністю не дало ефекту.
unhammer

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
резюме для подання звіту про помилку.
Даніель

-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
Talal
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.