Share via


Nahtlose Krisenprävention und -wiederherstellung

Wenn ein Firmwareupdate fehlschlägt, können die Ergebnisse verheerend sein. Im besten Falle schlägt das Update fehl, aber das System ist resilient und wird wiederhergestellt, ohne dass der Endbenutzer davon kenntnislos wird. Im schlimmsten Fall ist es möglich, dass ein fehlerhaftes Firmwareupdate zu einem nicht verwendbaren System führt, sodass der Endbenutzer sein System zur Reparatur an den Händler oder Hersteller zurückgibt. Letzteres ist das, was wir als Krise bezeichnen.

Eine Krise kann auf ein fehlgeschlagenes Firmwareupdate oder auf Eine Firmware zurückzuführen sein, die mit Windows oder anderen Aspekten des Systems nicht kompatibel ist. In diesem Abschnitt werden Features erläutert, mit denen Krisen aufgrund fehlerhafter Firmwareupdates verhindert und wiederhergestellt werden können. Wir erwarten, dass die Testabdeckung des Firmwareupdates durch den Firmwareautor die meisten Krisen verhindert, die durch inkompatible Firmware entstehen.

Um Endbenutzern eine hervorragende Erfahrung zu bieten, müssen die folgenden Anforderungen an die Krisenprävention und Wiederherstellung für den Updatemechanismus des Firmwaretreiberpakets erfüllt sein. Diese Anforderungen schließen zusätzliche Krisenpräventions- oder Wiederherstellungslösungen nicht aus.

Kriterien für die Vorinstallation

Wenn die Systemfirmware das eigentliche Update ausführt, müssen eine Reihe von Vorinstallationsprüfungen durchgeführt werden. Die Systemfirmware muss diese Überprüfung durchführen, um sicherzustellen, dass genügend Leistung vorhanden ist, um das Update abzuschließen. Es wird auch empfohlen, die Überprüfungen für jedes der Updates durchzuführen, bevor das Update angewendet wird, wenn mehrere Firmwareupdates vorhanden sind. Die Liste der zu überprüfenden und zu überprüfenden Elemente finden Sie in der folgenden Tabelle. Alle Überprüfungen müssen gegebenenfalls durchgeführt werden. Es gibt keine bestimmte Reihenfolge für die Ausführung der Tests.

Typ überprüfen Beschreibung
Leistung Das System muss mindestens 25 % Akkuladung aufweisen.

Es ist kein Netzstrom erforderlich (Stromversorgung über USB-Kabel und/oder Netzstrom).

In einer Test-/Laborumgebung ist es akzeptabel, dass kein Akku vorhanden ist und trotzdem Firmwareupdates zugelassen werden, solange die Tetherleistung bereitgestellt wird. Es muss jedoch unterschieden werden zwischen einem toten/nicht geladenen Akku und keinem vorhandenen Akku.
Sicherheit Überprüfen Sie, ob die Nutzlast der Updatekapsel ordnungsgemäß signiert ist.

Überprüfen, ob alle PE-basierten EFI-Dateien in der Nutzlast ordnungsgemäß mit einem ordnungsgemäßen EFI-Zertifikat signiert sind
Integrität Führen Sie eine Integritätsprüfung für die Nutzlast des Firmwareupdates durch.
Version Vergewissern Sie sich, dass die angewendete Firmware die aktuelle installierte Firmware nicht über den LowestSupportedFirmwareVersion-Wert hinaus downgradet.
Speicher Je nach Hardware des Systems werden die folgenden Überprüfungen entsprechend durchgeführt.

Es gibt genügend Platz für Sicherungen der aktuellen Firmware, die ersetzt wird.

Das Gerät verfügt über genügend Platz, um die neue Firmware unterzubringen.

Jeder Fehler muss zu einem entsprechenden Fehlercode für den Status des letzten Versuchs führen. Weitere Informationen finden Sie unter Fehlercodeinformationen zum Status des letzten Versuchs in der ESRT-Tabellendefinition und status für Firmwareupdates.

Wenn mehrere Updates angewendet werden und einige die Vorinstallationsüberprüfungen bestehen und andere nicht, kann die Plattformfirmware mit dem Aktualisieren der Firmware für die Ressourcen fortfahren, die die Vorinstallationsprüfungen bestanden haben. Jede Ressource, bei der die Vorinstallationsprüfung fehlgeschlagen ist, darf jedoch nicht aktualisiert werden.

Kriterien nach der Installation

Nachdem die Firmware (Gerät oder System) installiert wurde, muss überprüft werden, ob das neue aktualisierte Firmwareimage das gewünschte ist. Dies ist, um das Risiko von Beschädigungen zu minimieren, die während des tatsächlichen Aktualisierungsprozesses auftreten (z. B. klebrige Bits im Flash-ROM, Rauschen auf einem Bus während der Aktualisierung usw.).

Der Aktualisierungsprozess muss überprüfen, ob die aktualisierte Firmware Integritätsprüfungen bestanden hat. Wenn ein Fehler auftritt, muss die Wiederherstellung erfolgen, indem ein Rollback zur letzten bekannten guten Version der Firmware durchgeführt wird.

Jeder Fehler muss zu einem entsprechenden Fehlercode für den Status des letzten Versuchs führen. Weitere Informationen finden Sie unter Fehlercodeinformationen zum Status des letzten Versuchs in der ESRT-Tabellendefinition und status für Firmwareupdates.

Wiederherstellen von Installations- und Startfehlern

Um zu verhindern, dass ein System einen nicht startbaren Zustand erreicht, muss der Firmwareupdatemechanismus die folgenden Anforderungen erfüllen, wenn Firmwareupdates nicht installiert werden können oder wenn das System nicht erfolgreich gestartet werden kann.

In den folgenden Abschnitten wird der Begriff "commit" verwendet, um firmware zu beschreiben. Sobald die Firmware "committet" wurde, wird die Firmware als vollständig installiert behandelt und wird aufgrund eines Startfehlers usw. nicht automatisch von der Firmware zurückgesetzt. Die Firmware "Nicht commissioniert" beschreibt teilweise aktualisierte Firmware und kann möglicherweise auf eine frühere Version zurückgesetzt werden, wenn das Firmwareupdate nicht abgeschlossen werden kann oder ein Fehler von der Aktualisierungsfirmware erkannt wird (z. B. Ungültige CRC-Überprüfung im Update). Ob Firmware committet wird, sollte die Firmware intern nachverfolgen und wird nicht als Teil des ESRT erfasst.

Firmwareupdate nicht erfolgreich

Wenn eine einzelne System- oder Gerätefirmware nicht installiert werden kann oder falsch installiert wurde (z. B. aufgrund einer Beschädigung oder eines Stromausfalls bei der Installation des Updates), kann das Update bis zu insgesamt drei (3) Versuche durchgeführt werden, einschließlich des ersten Versuchs. Wenn zusätzliche Wiederholungsversuche von der Firmware ausgeführt werden, darf das System zwischen den Versuchen nicht in Windows starten. Wenn alle Versuche fehlschlagen, muss die Aktualisierungsfirmware das Update verwerfen. Wenn das Update teilweise angewendet wurde, muss für die Firmware ein Rollback auf die vorherige Version durchgeführt werden. Die Firmware muss ohne Benutzerinteraktion ein Rollback auf die vorherige Version ausführen. Der Updatefehler wirkt sich nicht auf andere ausstehende Updates aus. Ausstehende Firmwareupdates sollten versucht werden.

Nachdem alle Updates verarbeitet wurden, setzt UEFI den Start von Windows fort. Die UEFI-Firmware muss überprüfen, ob alle nicht verpflichteten Firmwareupdates erfolgreich installiert wurden, um Probleme aufgrund eines Stromausfalls zu vermeiden (UEFI sollte niemals versuchen, Windows mit teilweise geschriebener Firmware zu starten).

Mögliche Ursachen für Installationsfehler sind unter anderem die folgenden Probleme:

Fehler bei der Installation Fehlercode
Nicht genügend Ressourcen STATUS_INSUFFICIENT_RESOURCES
Stromausfall STATUS_INSUFFICIENT_POWER
Hardwarefehler STATUS_POWER_STATE_INVALID

Firmwareupdate erfolgreich, aber Windows kann nicht gestartet werden

Die UEFI-Firmware ist nicht für das Rollback aktualisierter Firmware verantwortlich, nachdem sie zugesagt wurde. Vorhandene Failoverlogik in Windows leitet den Endbenutzer nach zwei fehlgeschlagenen Startversuchen zur Windows-Wiederherstellungsumgebung (WinRE) um. WinRE kann oder nicht erfolgreich gestartet werden. Der Endbenutzer muss einen manuellen Wiederherstellungsschritt ausführen, um sein System wiederherzustellen, oder er muss sein Gerät an den Händler/Hersteller zurückgeben.

Mögliche Ursachen für diese Fehlerklasse sind u. a.:

  • Firmware, die mit Betriebssystemtreibern nicht kompatibel ist.

  • Firmware, die mit Betriebssystemkomponenten nicht kompatibel ist.

Wenn ein Hardwarehersteller entscheidet, zusätzliche Logik zu implementieren, um festzustellen, ob Windows erfolgreich gestartet wurde, ist dies akzeptabel. Wie bereits erwähnt, wird erwartet, dass die Testabdeckung für Firmwareupdates durch den Firmwareautor die meisten Krisen aufgrund inkompatibler Firmware verhindert.

ESRT-Tabellendefinition

Plug and Play-Gerät

Erstellen eines Updatetreiberpakets

Verarbeiten von Updates

Geräte-E/A aus der UEFI-Umgebung

Status des Firmwareupdates