Windows 11: jak sprawdzić, dlaczego laptop się obudził?
Laptopy z Windows od czasu wydania systemu Windows 8 mają obsługiwać nowy rodzaj usypania, znany jako Connected Standby lub Modern Standby. Rozwiązanie to, mimo upływu lat, wciąż wywołuje problemy, nawet na sprzęcie z górnej półki.
Wyłączenie Modern Standby w Windows może być niemożliwe ze względu na brak stosownej funkcji w BIOS lub wymagać obejść. Przywrócenie poprzedniej metody usypiania na sprzęcie zawierającym obsługę dawnych stanów zasilania S3 może z kolei sprawiać problemy z systemem i sterownikami, nierzadko wymagające reinstalacji (a i to może nie pomóc).
Fora wsparcia technicznego największych producentów (Dell, HP, Lenovo) są pełne zgłoszeń na temat laptopów samodzielnie wybudzających się z trybu uśpienia lub śpiących "płytko".
Dużo problemów z usypianiem Windowsa rozwiązuje aktualizacja systemu, sterowników i firmware'u (UEFI/BIOS). Ale zdarza się, że to nie pomaga i konieczne są dalsze poszukiwania powodów wybudzania lub płytkiego snu laptopa. Aby lepiej zdiagnozować i potencjalnie rozwiązać problemy z usypianiem, należy odpytać systemowy menedżer zasilania na temat zdarzeń związanych z wybudzaniem. Zapisuje je do systemowego Dziennika Zdarzeń.
Dalsza część artykułu pod materiałem wideo
Wydobycie zdarzeń z dziennika
Lista możliwych zdarzeń związanych z zasilaniem, które Windows może zapisać do dziennika jest bardzo długa. Wiele z nich ma znaczenie podczas wyszukiwania aplikacji aktywnie blokujących system przed uśpieniem (jak obsługa multimediów, aktualizacji i usług). Następujące polecenie odpyta dostawcę Kernel-Power i wypisze informacje na temat przejścia w stan uśpienia oraz ogólnego powodu wyjścia z niego:
Get-WinEvent -ProviderName Microsoft-Windows-Kernel-Power | ? { $_.Id -eq 107 -or $_.ID -eq 42 -or $_.ID -eq 506 -or $_.ID -eq 507 } | Select TimeCreated,Message -First 6 | Format-List
Otrzymany spis wyświetli dotyczące zarówno wyjścia z klasycznego stanu uśpienia, jak i z Modern Standby. Zdarzenia 506 i 507 zawierają w opisie wzmiankę "Przyczyna". Mimo, że wpisy w dzienniku są bardzo rozbudowane, tekstowa informacja dotycząca przyczyny będzie bardzo lakoniczna. Więcej szczegółów może przechowywać dostawca Power-Troubleshooter:
Get-WinEvent -ProviderName "Microsoft-Windows-Power-Troubleshooter" -ErrorAction SilentlyContinue | Where-Object {$_.Id -eq 1} | Select TimeCreated,Message -First 2 | Format-Table -HideTableHeaders -Wrap
W Windows istnieje też klasyczne narzędzie do zarządzania zasilaniem - powercfg. Uruchomione z parametrem /lastwake wyświetli ostatni powód wybudzenia. Może jednak zawierać mniej informacji, niż dzienniki zdarzeń. Jest jednak najszybszym sposobem na znalezienie identyfikatora urządzenia wybudzającego. Powyższe metody, jeżeli nie rozwiążą problemów z usypianiem, umożliwią dokładniejsze napisanie zgłoszenia do pomocy technicznej producenta sprzętu.
Jeżeli żadne z rozwiązań nie pomaga, można rozważyć wyłączenie Modern Standby i powrót do klasycznych trybów uśpienia. Jest to jednak złożone przedsięwzięcie z wieloma kwestiami pobocznymi, i należy je rozpatrywać oddzielnie: możliwe, że pomoże na przykład zablokowanie komunikacji sieciowej w trybie uśpienia. Tej opcji jeszcze nie usunięto.
Kamil J. Dudek, współpracownik redakcji dobreprogramy.pl