Share via


Überprüfen der Funktionalität der Windows UEFI-Firmwareplattform

In diesem Dokument werden die grundlegenden Validierungsszenarien aufgeführt, die vor der Abmeldung auf der Windows UEFI Firmware Update Platform-Funktionalität übergeben werden müssen.

Voraussetzungen

  • Für jeden EFI System Resource Table (ESRT)-Eintrag benötigen Sie eine Kapsel für die neueste Firmwareversion. Die Szenarien beziehen sich auf die neueste Version als X. Jeder ESRT-Eintrag wird mithilfe einer eindeutigen GUID identifiziert.
  • Erstellen Sie für jeden ESRT-Eintrag ein Kapselpaket, das über dem in Schritt 1 erstellten Paket erhöht wird. Diese Kapseln werden als X+1 bezeichnet.
  • Kapseln, die bei der Simulation von Fehlerbedingungen wie einer Kapsel helfen, für die die Nutzlast nicht signiert oder mit einer ungültigen PK signiert oder signiert wird.
  • Stellen Sie sicher, dass alle zu verwendenden Kapseln entsprechend aus der Betriebssystemperspektive, katalogsigniert und firmwaresigniert, PK signiert sind. Es sei denn, Sie testen ausdrücklich die negativen PK-Signaturfälle. Weitere Informationen zum Signieren eines Kapsel- oder Firmwaretreiberpakets finden Sie unter "Signieren des Firmwaretreiberpakets" in der Spezifikation.

Vorgehensweise

Installieren einer neuen Kapsel oder erneutes Installieren einer zuvor installierten Kapsel

  1. Öffnen Sie den Geräte-Manager.
  2. Suchen Sie den Geräteknoten, der Ihre Firmware darstellt, in der Regel unter den Geräten "Firmware".
  3. Klicken Sie mit der rechten Maustaste auf das Firmwaregerät, das Sie aktualisieren möchten.
  4. Wählen Sie "Treibersoftware aktualisieren" aus. Sie erhalten ein Popup, das "Update Driver Software - <Firmware>" angibt.
  5. Wählen Sie Auf dem Computer nach Treibersoftware suchen aus.
  6. Wählen Sie im nächsten Fenster "Lassen Sie mich aus einer Liste der Gerätetreiber auf meinem Computer auswählen".
  7. Wenn der Treiber zuvor installiert wurde, wählen Sie ihn aus dem Feld "Kompatible Hardware anzeigen" aus. Wenn sie nicht vorhanden ist, wählen Sie "Datenträger verwenden " aus, und fahren Sie fort. Wählen Sie andernfalls OK aus, und starten Sie das System neu.
  8. Wenn Sie " Datenträger verwenden" auswählen, erhalten Sie ein Popup mit der Bezeichnung "Installieren von Datenträger".
  9. Verwenden Sie "Durchsuchen ", um zum Verzeichnis zu wechseln, das über die Kapsel der Firmware verfügt, die Sie installieren möchten.
  10. Wählen Sie die INF-Datei in diesem Verzeichnis aus, und klicken Sie auf 'OK ', um zu installieren.
  11. Wenn Sie während der Installation ein Popup erhalten, das besagt, dass der Treiber nicht signiert ist, fahren Sie fort, und akzeptieren Sie diesen Treiber.
  12. Das System fordert Sie auf, neu zu starten.
  13. Nachdem Sie die Kapsel für die Firmware installiert haben, müssen Sie neu starten. Wenn Sie mehrere Kapselpakete installieren möchten, warten Sie, bis alle Kapseln installiert und dann auf der endgültigen Kapsel neu gestartet werden.

Abfragen der Versions- und Statusdetails

So führen Sie das Skript aus

  1. Führen Sie PowerShell als Administrator aus.
  2. Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force(Diese Aktion muss nur einmal ausgeführt werden.)
  3. Zeigen Sie die Versions- und Statusdetails für die angegebene GUID an. Beispiel: .\QueryVersionAndStatus.ps1 6bd2efb9-23ab-4b4c-bc37-016517413e9a
  4. Überprüfen Sie, ob das Firmwareupdate erfolgreich war: Lesen Sie den Abschnitt "Überprüfen des Status des Firmwareupdates" im Spezifikationsdokument. Stellen Sie sicher, dass der Status des letzten Versuchs und die aktuelle Version der erwarteten Version entspricht.
  5. Empfohlen: Überprüfen Sie, ob die Gräte, die Sie aktualisieren, auch weiterhin funktionieren.
  6. Legen Sie die Rollbackrichtlinie fest: Einige Der Szenarien erfordern möglicherweise ein Rollback-Firmware. Rollback ist kein Produktionsszenario. Um rollbacken zu können, muss ein Registrierungsrichtlinienschlüssel erstellt werden. Erstellen Sie einen REG_DWORD Schlüssel mit dem Namen "Richtlinie" unter dem Knoten HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FirmwareResources\{<GUID>}, und legen Sie den Wert des Richtlinienschlüssels auf 1 fest. Beachten Sie, dass die GUID durch die tatsächliche GUID aus dem ESRT ersetzt werden soll.

Szenarien

S1: Jeder ESRT-Eintrag ist erfolgreich durch Kapsel aufwärts möglich.

Die folgenden Schritte sollten für jeden ESRT-Eintrag abgeschlossen werden, der von der Plattform unterstützt wird. Oder anders ausgedrückt: Für die System-Firmware und jede Geräte-Firmware, die die Aktualisierung der Firmware über UpdateCapsule unterstützt.

S1-Schritte

  1. Installieren Sie für jeden ESRT-Eintrag die Kapsel für Firmwareversion X.
  2. Stellen Sie sicher, dass alle oben genannten Kapseln vor dem Neustart installiert sind.

S1 Erwartetes Ergebnis

Firmwareupdate sollte für jeden ESRT-Eintrag erfolgreich sein, der aktualisiert wurde. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzte Versuch Version = X
  • Letzter Versuchsstatus = 0 (STATUS_SUCCESS)

S2: Die neueste Firmwareversion X ist auch auf X+1 aktualisiert.

Die folgenden Schritte sollten für jeden ESRT-Eintrag abgeschlossen werden, der von der Plattform unterstützt wird. Oder anders ausgedrückt: Für die System-Firmware und jede Geräte-Firmware, die die Aktualisierung der Firmware über UpdateCapsule unterstützt.

S2-Schritte

  1. Vollständiges Szenario S1 oben.
  2. Installieren Sie für jeden ESRT-Eintrag die Kapsel für Firmwareversion X+1.

S2 Erwartetes Ergebnis

Firmwareupdate sollte für jeden ESRT-Eintrag erfolgreich sein, der aktualisiert wurde. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X+1
  • Letzte Versuch Version = X+1
  • Letzter Versuchsstatus = 0 (STATUS_SUCCESS)

S3: Fehler: Firmwareupdate gibt den richtigen Statuscode wie in der Spezifikation definiert zurück.

Die Statuscodes werden im Abschnitt "UEFI System Resource Table Definition" definiert, in der Tabelle mit dem Titel "ESRT Last Attempt Status Field Values".

S3.1 Unzureichender Akku- und UEFI-System-Firmwareupdate

S3.1-Schritte

  1. Entwässern Sie die Akkuladung auf weniger als 25 % und schließen Sie dann die Netzstromleistung ein.
  2. Installieren Sie die Kapsel für die UEFI System Firmware Version X+1. Angenommen, die aktuelle Version ist X.
  3. Stellen Sie vor dem Neustart sicher, dass die Akkuladung kleiner als 25 % ist.

S3.1 Erwartetes Ergebnis

Firmwareupdate sollte fehlschlagen. Überprüfen Sie für den ESRT-Eintrag, der der System-Firmware entspricht, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzter Versuch Version = X+1
  • Letzter Versuch Status = 0xc00002de (STATUS_INSUFFICIENT_POWER)

S3.2 Unzureichender Akku- und Geräte-Firmwareupdate

S3.2-Schritte

  1. Entwässern Sie die Akkuladung auf weniger als 25 % und schließen Sie dann die Netzstromleistung ein.
  2. Installieren Sie die Kapseln für ALLE unterstützten Geräte im System mit Firmwareversion X+1. Angenommen, die aktuelle Firmwareversion für das angegebene Gerät ist X.
  3. Stellen Sie vor dem Neustart sicher, dass die Akkuladung kleiner als 25 % ist.

S3.2 Erwartetes Ergebnis

Firmwareupdate sollte fehlschlagen. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzter Versuch Version = X+1
  • Letzter Versuch Status = 0xc00002de (STATUS_INSUFFICIENT_POWER)

S3.3 Unzureichender Akku, UEFI-System- und Geräte-Firmwareupdate gleichzeitig

S3.3-Schritte

  1. Entwässern Sie die Akkuladung auf weniger als 25 % und schließen Sie dann die Netzstromleistung ein.
  2. Installieren Sie die Kapseln für die UEFI-System-Firmware und alle Geräte-Firmware mit Version X+1.
  3. Stellen Sie vor dem Neustart sicher, dass die Akkuladung kleiner als 25 % ist.

S3.3 Erwartetes Ergebnis

Firmwareupdate sollte für die System-Firmware und für alle Geräte-Firmware, für die das Update versucht wurde, fehlschlagen. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzter Versuch Version = X+1
  • Letzter Versuch Status = 0xc00002de (STATUS_INSUFFICIENT_POWER)

S3.4 Firmwareupdate sollte fehlschlagen, wenn die Kapsel nicht PK signiert ist

Die folgenden Schritte sollten für jeden ESRT-Eintrag abgeschlossen werden, der von der Plattform unterstützt wird. Oder anders ausgedrückt: Für die System-Firmware und jede Geräte-Firmware, die die Aktualisierung der Firmware über UpdateCapsule unterstützt.

S3.4-Schritte

  1. Erstellen Sie für jeden ESRT-Eintrag eine Kapsel X+2, für die die Nutzlast nicht signiert ist.
  2. Installieren Sie die Kapseln X+2. Angenommen, die aktuelle Version ist X.

S3.4 Erwartetes Ergebnis

Das Firmwareupdate sollte für alle ESRT-Einträge fehlschlagen, für die das Update versucht wurde. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzter Versuch Version = X+2
  • Last Attempt Status = 0xC0000022 (STATUS_ACCESS_DENIED)

S3.5 Firmwareupdate sollte fehlschlagen, wenn die Kapsel mit dem falschen PK-Zertifikat signiert wird

Die folgenden Schritte sollten für jeden ESRT-Eintrag abgeschlossen werden, der von der Plattform unterstützt wird. Oder anders ausgedrückt: Für die System-Firmware und jede Geräte-Firmware, die die Aktualisierung der Firmware über UpdateCapsule unterstützt.

S3.5-Schritte

  1. Erstellen Sie für jeden ESRT-Eintrag eine Kapsel X+2, signieren Sie die Nutzlast mit einem falschen Schlüssel oder Zertifikat (z. B. verwenden Sie eine debugsignierte Kapsel auf einem Produktionsgerät).
  2. Installieren Sie die Kapseln X+2. Angenommen, die aktuelle Version ist X.

S3.5 Erwartetes Ergebnis

Das Firmwareupdate sollte für alle ESRT-Einträge fehlschlagen, für die das Update versucht wurde. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzter Versuch Version = X+2
  • Last Attempt Status = 0xC0000022 (STATUS_ACCESS_DENIED)

S3.6 Firmwareupdate sollte fehlschlagen, wenn die Kapselnutzlast manipuliert wird

Die folgenden Schritte sollten für jeden ESRT-Eintrag abgeschlossen werden, der von der Plattform unterstützt wird. Oder anders ausgedrückt: Für die System-Firmware und jede Geräte-Firmware, die die Aktualisierung der Firmware über UpdateCapsule unterstützt.

S3.6-Schritte

  1. Erstellen Sie für jeden ESRT-Eintrag eine Kapsel X+2, signieren Sie die Nutzlast mit dem richtigen Schlüssel oder Zertifikat. Öffnen Sie dann die Firmware-Bin-Datei, und kippen Sie 1 oder mehr Bits in der Datei, und speichern Sie die Datei zurück.
  2. Generieren Sie den Katalog für die Bin-Datei und die INF-Datei neu.
  3. Installieren Sie die Kapseln X+2. Angenommen, die aktuelle Version ist X.

S3.6 Erwartetes Ergebnis

Das Firmwareupdate sollte für alle ESRT-Einträge fehlschlagen, für die das Update versucht wurde. Überprüfen Sie für alle ESRT-Einträge, für die das Update versucht wurde, folgendes:

  • Aktuelle Firmwareversion = X
  • Letzter Versuch Version = X+2
  • Letzter Versuch Status = 0xC0000022 (STATUS_ACCESS_DENIED) oder 0xC000007B (STATUS_INVALID_IMAGE_FORMAT)

S3.7: Firmware erlaubt kein Rollback über die LowestSupportedFirmwareVersion hinaus

Die folgenden Schritte sollten auch für andere Geräte-Firmware (niedrigere Priorität) ausgeführt werden.

S3.7-Schritte

  1. Erstellen Sie für UEFI System Firmware eine Kapsel X+1, sodass die "LowestSupportedFirmwareVersion" im ESRT-Eintrag für die System-Firmware auf X+1 festgelegt ist.
  2. Installieren Sie die Kapsel X+1, und stellen Sie sicher, dass das Update erfolgreich ist.
  3. Erstellen Sie eine UEFI System Firmware Update Kapseln, sodass die Version in der INF X+2 ist, aber die tatsächliche Firmware-Binärdatei ist Version X.
  4. Installieren Sie die Kapsel X+2, und starten Sie das System neu.

S3.7 Erwartetes Ergebnis

Firmwareupdate sollte fehlschlagen. Überprüfen Sie für den ESRT-Eintrag, der der System-Firmware entspricht, folgendes:

  • Aktuelle Firmwareversion = X+1
  • Letzter Versuch Version = X+2
  • Last Attempt Status = 0xC0000059 (STATUS_REVISION_MISMATCH)

S4: Nahtlose Wiederherstellung und Firmwareupdate (sofern implementiert)

Dieses Szenario variiert je nach Implementierung der nahtlosen Wiederherstellung von Plattform zu Plattform. Basierend auf der Implementierung muss die Validierung möglicherweise schlechte Kapseln erstellen, die das System in die Wiederherstellung erzwingen oder die Energie in der Mitte eines Updates oder durch andere Mittel zur Ausübung der Wiederherstellungsflüsse trennen.

S4 Erwartetes Ergebnis

Das System sollte mit dem Betriebssystem gestartet werden, und das Firmwareupdate sollte als fehlgeschlagen gekennzeichnet werden. Die vom UEFI-Firmwareressourcengerät gemeldete Version sollte sich nicht geändert haben.

S5: Firmwareupdate entspricht der UX-Anforderung (User Experience)

S5-Schritte

  • Dieses Szenario kann während der Ausführung eines der oben genannten Szenarien überprüft werden, die zu einem erfolgreichen Firmwareupdate führen.

S5 Erwartetes Ergebnis

Die Benutzeroberfläche entspricht der Spezifikation, siehe Abschnitt "Benutzeroberfläche".

  • Der einzige Text, der auf dem Bildschirm angezeigt wird, lautet "Bitte warten Sie, während wir ein Systemupdate installieren". Der Text wird in den rechten Koordinaten auf dem Bildschirm angezeigt, wie in der Spezifikation herausgerufen.
  • OEM-Logo wird wie in der Spezifikation beschrieben angezeigt.

Windows UEFI Firmware Update Platform

Leitfaden für die UEFI- und Option ROM-Überprüfung

QueryVersionAndStatus.ps1 PowerShell (PS) Script