Seit einiger Zeit haben Surface Book als auch Surface Pro 4 und Surface Pro 3 Probleme mit dem Schlafmodus. Es sind nicht alle Geräte betroffen und für viele wurde das Problem mit dem Update Anfang März behoben. Mein Surface Pro 3 verbraucht trotz des Updates viel Akku im Ruhezustand. Daher habe ich mich auf die Suche nach einer Lösung gemacht und gefunden, die ich in diesem Beitrag beschreiben werde. Falls ihr auch vom Akkuproblem betroffen seid, würde ich mich über ein Kommentar freuen, ob die Lösung bei euch geholfen hat oder nicht.

Das Problem: Akkuverlust im Schlaf

Die Surface Geräte haben einen besonderen Schlafmodus, der sich Connected Standby nennt. Damit funktioniert das Surface ähnlich wie ein Smartphone. Wenn man es zuklappt oder das Display ausschaltet bleibt es weiterhin mit dem Internet verbunden und kann weiterhin gewisse Dinge machen. Etwa Benachrichtigungsgeräusche, Mails abrufen und ähnliches. Dadurch erfreut das Surface über eine sehr hohe Verfügbarkeit und man kann mal eben das Display einschalten, schauen was es neues gibt, und wieder ausschalten. Nach 4 Stunden Nichtbenutzung schaltet sich das Surface automatisch vom Connected Standby in den Hibernate Status, also den Tiefschlaf. Während im (Connected) Standby der Status im Arbeitsspeicher (RAM) verbleibt und somit sofort verfügbar ist, wird er im Tiefschlaf auf die SSD geschrieben. Wird das Gerät aus dem Tiefschlaf geweckt, dauert es ein paar Sekunden bis es wieder arbeitsfähig ist. Soweit zur grundsätzlichen Funktionalität, kommen wir zum Problem.

Im Connected Standby sollten pro Stunde weniger als 1% Akkuleistung verbraucht werden. Das war früher auch so. Bis ein oder mehrere Fehler aufgetreten sind. Seitdem gibt es diverse Probleme. Manche Surfaces schaffen es gar nicht in den Connected Standby und laufen komplett weiter wenn der Bildschirm abgeschalten ist, andere verbrauchen im Connected Standby mehr als vorgesehen, manche schalten nicht von Connected Standby in Hibernate um und diverse andere Dinge. In den meisten Fällen sind die Probleme schwer konkret zu beschreiben, weil sie auch nicht immer auftreten und unterschiedliche Auswirkungen haben. Allgemein lässt sich sagen, dass das Surface im Standby-Modus zu viel Akku verbraucht/verliert. Teilweise so extrem, dass das vollgeladene Gerät über Nacht komplett entladen wird, obwohl es nicht genutzt wurde. Ein anderes Problem ist, dass es während dem Transport in einer Tasche sehr warm wird, weil es auf voller Leistung weiterarbeitet, nachdem es zugeklappt wurde, statt in den Connected Standby zu gehen.

Die zwei populärsten Übergangslösungen sind den Connected Standby zu deaktivieren (Einstellungen -> System -> Netzbetrieb und Energiesparen und dort den Haken bei „Beim Akkumodus im Standby mit WLAN verbunden bleiben“ entfernen) oder das Gerät immer komplett auszuschalten, statt nur zuzuklappen. Beides nicht zufriedenstellend.

Fehleranalyse mit powercfg

Bevor ihr loslegt, solltet ihr mithilfe des Batterie-Tools überprüfen, ob und wie ihr betroffen seid.

  1. Eingabeaufforderung öffnen. Etwa indem ihr cmd in das Suchfeld von Cortana eingebt.
  2. Folgendes Kommando eingeben:
    powercfg /batteryreport /output %USERPROFILE%\Desktop\battery_report.html
    (Wenn ihr „/Duration 7“ hinten dranhängt, bekommt ihr einen Report über die letzten 7 Tage. „%USERPROFILE%\Desktop\battery_report.html“ gibt an, dass der Report auf dem Desktop mit dem Namen battery_report.html gespeichert werden soll.)
    Eingabeaufforderung 2016-03-10 10.55.56
  3. Öffnet die HTML-Datei mit einem beliebigen Browser

Am Anfang des Reports findet ihr ein paar Daten zu eurem Gerät und der Batterie.
Battery report ‎- Microsoft Edge 2016-03-10 11.00.51

Recent usage könnt ihr überspringen, spannend wird es bei Battery usage. Dort seht ihr, zu welchem Zeitpunkt, welcher Energiestatus wie lange aktiv war und wie viel Akku dabei verbraucht wurde. Bei mir gerade unspektakulär, weil ich das Surface fast immer ausgeschalten habe, wenn ich es nicht benutzt habe.
Battery report - Mozilla Firefox 2016-03-10 11.03.31

Lösung: Kaputte Dateien ersetzen/reparieren

Die Lösung war ursprünglich für ein Problem des Surface Book, wenn es nicht mehr aufwachen wollte, nachdem die Tastatur entfernt wurde. Sie stammt aus Microsoft Support Forum. Seitdem haben einige Nutzer_innen gemeldet, dass die Lösung auch die Akku Probleme mit anderen Surface Modellen funktioniert. Wie immer solltet ihr vorsichtig sein. Ihr seid selbst für alle Folgen verantwortlich. Wenn ihr unsicher seid, kontaktiert lieber den Microsoft Support direkt und lasst euch von ihnen helfen.

Kurzanleitung

  1. In einer Eingabeaufforderung mit Adminrechten folgendes Kommando laufen lassen: „sfc /scannow“
  2. Falls fehlerhafte/fehlende/korrupte Dateien angegeben werden: „dism /online /cleanup-image /restorehealth“
  3. Falls daraufhin der Fehlercode 0x800f081f angegeben wird, die folgenden Schritte ausführen
  4. Entsprechende Windows ISO für euer System von http://www.microsoft.com/en-us/software-download/techbench herunterladen (unten)
  5. Existierende CBS Logs löschen (C:\Windows\Logs\CBS\CBS.log)
  6. ISO mounten (nicht installieren)
  7. In der Eingeabeaufforderung mit Adminrechten folgendes Kommando ausführen: „dism /Online /Cleanup-Image /RestoreHealth /source:WIM:D:\Sources\Install.wim:1 /LimitAccess“ (ISO als Laufwerk D gemountet)
  8. Erneut „sfc /scannow“ von Punkt 1 ausführen

Ausführliche Anleitung

1. Eingabeaufforderung mit Adminrechten

Am einfachsten ist es, bei Cortana oder im Startmenü (wie auch immer das nun heißt) „cmd“ einzugeben und den entsprechenden Eintrag mit zwei Fingern oder rechts zu klicken. Im Kontextmenü dann „Als Administrator ausführen“ wählen.
Cortana 2016-03-10 11.27.00

In die Eingabeaufforderung müsst ihr nun das erste Kommando eingeben. Hinter das C:\WINDOWS\system32>. Dann die Eingabetaste drücken.
sfc /scannow

Mehr Informationen zum System File Checker tool (kurz sfc) gibt es bei Microsoft. Das Tool hat bei mir etwa 20 Minuten gebraucht bis es fertig war.

Administrator_ Eingabeaufforderung - sfc  _scannow 2016-03-10 11.48.59

2. Beschädigte Dateien reparieren

Wenn ihr, wie ich, folgende Ausgabe bekommt, dann müssen Systemdateien repariert werden.
Administrator_ Eingabeaufforderung 2016-03-10 11.49.49

Für die Reparatur gebt ihr folgendes Kommando in die gleiche Eingabeaufforderung ein:
dism /online /cleanup-image /restorehealth

Im Idealfall reicht die Reparatur aus. In meinem Fall, wie bei vielen Anderen, kommt der Fehler 0x800f081f. Dieser deutet auf ein Problem mit dem Windows Update hin.
Administrator_ Eingabeaufforderung 2016-03-10 11.57.49

3. Windows ISO herunterladen

Wenn die einfache Reparatur fehlschlägt, brauchen wir ein Windows ISO, um dieses als Grundlage für Reparatur zu nutzen. Dieses könnt ihr unter http://www.microsoft.com/en-us/software-download/techbench herunterladen. Nicht die Zip-Datei rechts oben, sondern am Ende der Seite die entsprechende Windows-Version und Sprache auswählen.
Tech Bench ‎- Microsoft Edge 2016-03-10 11.23.27
Bei mir gab es Probleme den Download in Firefox zu starten, weshalb ich es mit Microsoft Edge gemacht habe.

Tech Bench ‎- Microsoft Edge 2016-03-10 11.23.38

Der Download ist etwa 4GB groß.

4. Alten CBS Log entfernen

Im Ordner „C:\Windows\Logs\CBS\“ befindet sich eine Datei CBS.log. Diese muss entfernt werden, bevor ihr weitermacht. Ich habe sie sicherheitshalber nur in einen anderen Ordner verschoben. Sowohl Löschen als auch Verschieben muss mit Administratorrechten bestätigt werden.
CBS 2016-03-10 12.46.35

5. Windows ISO mounten

Nun muss die Windows ISO gemounted werden. Wie wenn ihr sie auf DVD brennen und diese in ein Laufwerk legen würdet. Aber da das Surface kein Laufwerk hat, geht das zum Glück auch rein virtuell. Ihr braucht dazu auch keine Zusatzprogramme.

Falls ihr 7-Zip oder ein ähnliches Programm installiert hat und dieses als Standard für ISO-Dateien fungiert, müsst ihr über Zwei-Finger/Rechtklick das Kontext-Menü öffnen, „Öffnen mit“ wählen und dann „Windows Explorer“. Dieser mountet die ISO dann automatisch.
Desktop 2016-03-10 12.50.08

Nun sollte sich ein Explorer-Fenster öffnen, wo ihr den Inhalt der ISO seht. Oben bzw. links seht ihr, wie sie gemountet wurde „DVD-Laufwerk“ und welchen Buchstaben dem Laufwerk zugeordnet wurde „D:“. Das Fenster könnt ihr schließen, die ISO wird weiterhin gemountet bleiben. Oder ihr lasst es offen.

DVD-Laufwerk (D_) J_CCSA_X64FRE_DE-DE_DV5 2016-03-10 12.54.18

6. Reparatur ausführen.

Nun könnt ihr erneut versuchen die Systemdateien zu reparieren. Allerdings wird als Quelle die lokale ISO angegeben:
dism /Online /Cleanup-Image /RestoreHealth /source:WIM:D:\Sources\Install.wim:1 /LimitAccess

Eingegeben wird es wieder in eine Eingabeaufforderung mit Admin-Rechten. Entweder die, die noch offen ist, oder eine neue. Siehe Punkt 1. Wichtig ist, dass der korrekte Laufwerksbuchstabe der ISO angegeben wird. Falls ihr die ISO auf einen USB-Stick gepackt habt oder sonstwie anders gemountet habt, ist er möglicherweise nicht D, sondern E oder etwas anderes.

Nun sollte der Vorgang erfolgreich durchgeführt werden können und ihr eine Fehlermeldung bekommen. Bei mir hat es nur ein paar Minuten gedauert.
Administrator_ Eingabeaufforderung 2016-03-10 13.03.36

7. Auf Fehler überprüfen und reparieren

Nun solltet ihr nochmals das Kommando vom Anfang anwenden, um sicherzugehen, dass die Reparatur erfolgreich war und angewandt wird. Wieder in die Eingabeaufforderung folgenden Befehl eingeben:
sfc /scannow

Während wie schon am Anfang beschädigte Dateien gefunden wurden, konnten sie dieses Mal repariert werden.
Administrator_ Eingabeaufforderung 2016-03-10 13.32.06

Hat es geklappt?

Die Reparatur ist nun fertig. Leider kann man nicht sofort sagen, ob es funktioniert hat oder nicht, weil das Problem nur bei längeren Standby-Zeiten sichtbar wird. Am besten behaltet ihr es ein paar Tage im Auge, lasst das Surface über Nacht im Standby und seht euch dann den Batterie-Report an, um festzustellen, ob das Problem gelöst ist oder nicht.

Nochmals die Bitte, ein kurzes Kommentar zu hinterlassen. Sowohl wenn es funktioniert hat, als auch wenn es nicht geklappt hat. Danke und viel Erfolg.