il sistema non si spegne allo "spegnimento", si ferma


13

Ho installato Xubuntu 15.04 su un Lenovo IdeaCentre A740 QHD con una CPU Haswell (revisione del BIOS 00KT19AUS) e NVIDIA GeForce GTX 850A 2GB. Funziona principalmente, tranne quando eseguo uno spegnimento o un riavvio, in realtà non spegne l'alimentazione dopo aver lasciato tutto:

IMG:

Quindi devo fare clic sul pulsante di accensione per spegnerlo effettivamente.


Ho mantenuto l'installazione di Windows 8.1 nel caso in cui ci fosse un futuro firmware. Prima di installare Xubuntu, ho disattivato Fastboot da Windows, quindi ho installato Xubuntu. Sfortunatamente, il BIOS UEFI non mi ha permesso di cambiare l'ordine di avvio, quindi Ubuntu è stato avviato come predefinito. Ho provato bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi, ho provato a disattivare "quickboot" (qualunque cosa sia) nel BIOS, ho provato il programma Boot-Repair da una sessione live e ho provato a disattivare SecureBoot, ma avrebbe comunque avviato Windows. Ho finito, con l'aiuto di EricC ^^ di #ubuntu su freenode, semplicemente cambiando i file .efi per ingannare il boot manager a pensare che Ubuntu fosse 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

Non so se qualcosa di tutto ciò abbia un impatto sul problema di spegnimento.

EDIT: Vieni a pensarci bene, il riavvio dall'installazione di Xubuntu (quando sono stato avviato tramite un'unità USB) non ha funzionato neanche.


Quello che ho provato finora per farlo chiudere:

  • acpi = off → nessuna differenza
  • acpi = forza → nessuna differenza
  • installa driver Nvidia proprietari → che hanno appena fatto in modo che X non inizi con il messaggio "bbswitch: nessun dispositivo VGA discreto trovato"
  • diverse varianti sudo poweroff, sudo shutdown now, sudo shutdown -h nowetc.

Inoltre, se riavvio invece di spegnimento, ottengo questo spettacolo di luci psichedeliche sul mio monitor e devo fare clic a lungo sul pulsante di accensione per spegnerlo:

riavvia il divertimento

Se è utile, ecco un output journalctl --all subito dopo l'avvio e forse anche meglio: journalctl -b -1 (journal dall'avvio allo spegnimento) .


Inoltre, forse correlato, ora noto che premendo il pulsante di accensione mentre si è connessi a XFCE, il computer si spegne subito, anche se ho le impostazioni di alimentazione XFCE su "Chiedi quando il pulsante di accensione è premuto" e "Non fare nulla" su nessun altro pulsante.

My /etc/systemd/logind.confnon ha righe senza commenti a parte l' [Login]intestazione.

Esiste un /usr/sbin/acpidprocesso in esecuzione come root.


EDIT: Altre rivelazioni: Ctrl + Alt + Canc in realtà riavvia bene da GRUB.

EDIT2: ho presentato una segnalazione di bug poiché questo non sembra risolvibile con i trucchi regolari.

EDIT3: risolto con acpi = noirq e kernel 4.4 e successivi.


Ho problemi simili su Ubuntu 15.04 Desktop / Server in cui il sistema si blocca durante l'arresto / avvio. La mia teoria è che entrambi potrebbero essere correlati. Ho ristretto il problema di avvio controllando dmesge ho scoperto che stava tentando di montare un filesystem che non esisteva e ho aspettato un minuto prima che continuasse l'avvio, inoltre i problemi di spegnimento erano correlati a un montaggio perché se spegnevo il desktop con un aprire la connessione NFS al mio server senza forzare lo smontaggio si bloccherà. Non sono sicuro che questi problemi siano correlati al tuo problema, ma ho pensato di risolverli solo in caso di necessità.
Michael Lindman,

1
Il commento di M. Lindman fa obliquamente una buona osservazione. C'è un registro che ti mostra in dettaglio cosa sta succedendo. Leggilo con journalctl --all. modifica la tua risposta e mostrala alle persone se vuoi aiutare a capirla.
JdeBP,

JdeBP: aggiunto, ma da quello che posso dire, journalctl fornisce solo informazioni da questo avvio - c'è un modo per farlo mantenere quelli precedenti?
unhammer,


Grazie JdeBP, mi chiedevo perché quei log non fossero memorizzati :) Ho aggiunto un nuovo link in fondo alla domanda, anche se non riesco a trovare nulla di sospetto da solo.
unhammer,

Risposte:


4

La mia ipotesi migliore sulla base delle informazioni fornite è un BIOS UEFI difettoso. scavando tra i bug del kernel per Haswell ho trovato una possibile soluzione. Prova a utilizzare xhci_hcd.quirks=262144come opzione di avvio o Disabilitare xhci in UEFI.

Le uniche altre opzioni che mi vengono in mente sono le seguenti:

A) Aspetta e spera che il team di sviluppo del kernel o Lenovo escano un aggiornamento che risolva il problema.

B) Contattare l' assistenza Lenovo e richiedere un aggiornamento del BIOS che risolva il problema o incoraggi altri con lo stesso problema a iscriversi alla segnalazione di bug. Questo può o meno essere più efficace di A.

C) Modifica tu stesso il BIOS o il kernel fino a raggiungere il risultato desiderato (Non adatto ai deboli di cuore). Non sto raccomandando questo corso d'azione, includendolo solo per completezza. La modifica del BIOS può facilmente lasciarti con un sistema non avviabile con una garanzia nulla. Dovresti anche leggere attentamente le ragioni a favore e contro la compilazione del tuo kernel nel documento collegato sopra menzionato.

Fonte: https://bugzilla.kernel.org/show_bug.cgi?id=66171#c118


Questo è per i sistemi Broadwell ( support.lenovo.com/us/en/products/desktops-and-all-in-ones/… ), mine's a Haswell (revisione del BIOS 00KT19AUS)
unhammer

Modificate nuove informazioni in questione per te.
Elder Geek,

Ho modificato la mia risposta
anziano Geek il

Nota: sembra che Christopher M. Penalver sia giunto alla stessa falsa conclusione che ho fatto riguardo al BIOS. Potresti desiderare di aggiornarli sul tuo bug segnalato.
Elder Geek,

1
Le impostazioni XHCI sono correlate all'USB - Spero che ti aiuti a trovarle nel tuo BIOS. In caso contrario, contattare il servizio clienti Lenovo al numero 1 (855) 253-6686 e chiedere dove trovarli o se dispongono di un aggiornamento del BIOS. Ti auguro il meglio!
Elder Geek,

4

Prova ad aggiungere

acpi=noirq

ai parametri di avvio del kernel. Ciò consente lo spegnimento / riavvio (testato con kernel 4.4 e 4.7rc5).

Sembra sospendere anche, ma sfortunatamente non riprende dalla sospensione premendo il pulsante di accensione.

Funziona benissimo da oltre tre mesi sull'A740, quindi lo chiamo risolto.


Sono contento che la mia opzione A) abbia funzionato per te! :-)
Elder Geek,

Come in "aspetta e spera"? Quello che ho effettivamente fatto è stato segnalato come bug nel pacchetto Ubuntu Linux, provando alcune nuove versioni della mainline, quindi quando ciò non ha risolto nulla l'ho segnalato a monte, prima nel componente sbagliato bugzilla.kernel.org/show_bug.cgi?id = 118401 , quindi inviato a ide / ahci, e dopo alcuni scambi di e-mail e tentando di ottenere un utile output di debug marc.info/?t=146296312800002&r=1&w=2 e provando diverse opzioni suggerite lì, ha trovato quello che ha funzionato. La semplice attesa e l'aggiornamento non lo risolvono, è necessario modificare le impostazioni di grub.
Unhammer,

Indipendentemente da ciò, sono contento che tu l'abbia risolto. Che fosse A o B :-)
Anziano Geek,

2

Dopo aver effettuato il furto attraverso i file di sistema, ho visto alcuni avvertimenti sul BIOS. Ho controllato il sito Web di Intel e c'era un aggiornamento disponibile che sembrava risolvere un problema di indirizzi di memoria sovrapposti. Non ovviamente lo stesso, ma i miei registri indicavano che vari settori del mio BIOS restituivano valori imprevisti, il che non impediva l'avvio del kernel ma ovviamente non era buono. Il problema non era evidente fino a quando il kernel ha smesso di usare upstarte non ha iniziato a usarlo systemd.

Ho scaricato il BIOS aggiornato e applicato e ora il mio sistema si spegne come previsto.


Quale sistema / BIOS era questo? (Lenovo non ha ancora rilasciato un BIOS aggiornato per l'architettura del mio processore.)
unhammer,

0

Cosa cat /etc/default/haltdice? Prova halt -p.

Puoi anche modificare /etc/init.d/halte rimuovere queste righe:

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

sotto

poweroff="-p"

halt -pnon è diverso, non si spegne ancora completamente.
unhammer,

oh, e / etc / default / halt dice HALT=poweroff. Ma non dovrebbe halt -po poweroff o shutdown nowcomunque funzionare indipendentemente da cosa c'è dentro?
unhammer,

0

Dai tuoi log del kernel (Screenshot) ho la sensazione che gli aggiornamenti automatici potrebbero essere la causa del tuo problema. Ci sono state diverse segnalazioni di bug in questi anni fa, ma non sono state risolte. Una soluzione temporanea a questo sarebbe disabilitare gli aggiornamenti automatici tramite gli aggiornamenti, ma lo terremo come ultima risorsa. Ma prima di tutto proveremo un aggiornamento manuale:

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

Se questo non ha risolto il tuo problema e l'aggiornamento è andato senza errori o avvertenze, proveremo a scavare un po 'più in profondità per vedere se possiamo scoprire cosa sta causando il problema. È possibile ottenere un vantaggio controllando il contenuto di /var/log/unattended-upgrades. Se riesci a capire quale aggiornamento sta causando il problema, puoi inserire nella lista nera l'aggiornamento modificando /etc/apt/apt.conf.d/50unattended-upgrades.

Se il problema persiste, è possibile rimuovere temporaneamente il pacchetto, per confermare se è la causa:

sudo apt-get remove unattended-upgrades 

Ti consiglio di reinstallarlo anche se ha risolto il tuo problema. In tal caso, riportare la segnalazione di bug con ulteriori informazioni in modo che gli sviluppatori possano risolvere il problema.

Avvertenza: se si sceglie di disabilitare l'aggiornamento automatico e di non aggiornare manualmente il sistema, è possibile che sia a rischio dal punto di vista della sicurezza e della stabilità.


Questa è una nuova installazione - autoremovee dist-upgradehanno "0 per aggiornare, 0 per rimuovere" ecc. E / var / log / unattended-upgrades è vuoto: $ wc -c < /var/log/unattended-upgrades/unattended-upgrades-shutdown.log0
unhammer il

Inoltre, non ci sono programmi in /lib/systemd/system-shutdown, quindi non ci sono servizi che dovrebbero essere chiamati quando digito poweroff . E la rimozione unattended-upgradescompleta non ha avuto alcun effetto.
unhammer,

0

Ho provato di tutto e dopo giorni un fanwer di basso livello di questo forum ha fatto il trucco: Ubuntu 14.04 bloccato allo spegnimento

Per me, la soluzione era aggiornare il kernel. Ho usato 4.5.3 su Ubuntu 15.10 (qualcosa di più grande di questo andrà in crash il sistema operativo dopo il login) E 4.7 RC3 funziona su Ubuntu 16.04.

Ora funziona perfettamente :-)


Non ha funzionato per il mio sistema. Come mostrano le segnalazioni di bug, ho già provato un bel po 'di kernel 4.7 - questi hanno reso impossibile l'avvio! Dopo aver segnalato l'aiuto a monte e il debug dall'elenco del kernel, la soluzione alternativa a entrambi i miei problemi (avvio e spegnimento allo spegnimento) è stata acpi=noirq askubuntu.com/a/794739/25639
unhammer

0

Posso confermare che ha sicuramente a che fare con ACPI. Il mio sistema mostra questo comportamento esatto se e solo se passo acpi = off in Linux 4.20-rc3 ai fini dello sviluppo del kernel. Se il tuo ACPI è stato abilitato all'inizio, allora c'è una buona probabilità che l'implementazione ACPI nel BIOS fosse difettosa. Vedo che hai detto che un aggiornamento del kernel ha aiutato. Ma anche un aggiornamento del BIOS potrebbe aver funzionato.


Questo in realtà non risponde alla domanda. Il tuo suggerimento relativo al BIOS indica semplicemente una possibile soluzione, che sembrerebbe non aver ancora provato. In effetti, l'OP ha indicato di aver risolto il suo problema "aggiungendo acpi = noirq ai parametri di avvio del kernel".
Centaurus,

0

Ho avuto lo stesso problema e credo che sia correlato all'avvio UEFI. Su un Acer Aspire V 11, originariamente Windows 8, ho eseguito una nuova installazione di OpenSUSE Leap 15.0 con avvio EFI e avvio protetto impostato su "disabilitato" nel BIOS. Ora l'arresto, il riavvio e la sospensione funzionano correttamente.

In precedenza, stavo usando Ubuntu 16.04, 18.04 e, di recente, 18.10 con l'avvio legacy e tutti avevano lo stesso problema. Ho anche provato Fedora 24, OpenSUSE Tumbleweed e OpenSUSE 42.2, tutti con lo stesso problema.

Ho anche provato Ubuntu 18.10 con l'avvio EFI e l'avvio protetto abilitati ma ho riscontrato un errore del dispositivo non avviabile. Non ho provato l'avvio EFI con l'avvio sicuro disabilitato.


-1

L'hardware potrebbe non supportare l'arresto del software. L'ho già accaduto prima e il modo per testare è questo:

sudo poweroff

Se ciò non arresta l'hardware, si tratta di un problema hardware e non di software.


3
Come afferma la domanda, l'ho provato inutilmente. Ma GRUB gestisce bene il riavvio del software (non sono sicuro di come testare lo spegnimento) mentre Windows 8.1 esegue lo spegnimento e il riavvio del software su questo hardware. Sembra un problema del kernel, quindi ho presentato una segnalazione di bug .
unhammer,

1
votazione per aver presentato una segnalazione di bug.
Daniel,

-1 Perché trovo diversamente. Termina con systemd-shutdown[1]: Powering off.La macchina spenta bene con 12.04 e 14.04, ma non con una nuova installazione di 16.04.
Nateowami,

-1
  1. Riavvia quindi F2
  2. Vai alla configurazione e disabilita xHCI
  3. Salva ed esci

Non pensarci, fidati di me e fallo :)


Non riesco a trovare alcuna impostazione XHCI nel BIOS da nessuna parte. Posso disattivare tutta l'USB, ma non è un'opzione per me.
unhammer,

questo non gira tutto l'USB ma solo l'USB3
Talal
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.