Status des Firmwareupdates
An diesem Punkt wird erwartet, dass alle Firmwareupdates angewendet werden, und die Ergebnisse aller Updates werden im ESRT beim nachfolgenden Aufruf des Windows-Betriebssystemladeprogramms widergespiegelt. Verweisen wir zurück auf das ESRT-Beispiel in der ESRT-Tabellendefinition und das INF-Beispiel für das Treiberpaket für Firmwareressourcenupdates unter Erstellen eines Updatetreiberpakets. Wenn Version 2 von firmware.bin erfolgreich von der Firmware angewendet wurde, würde dies in der neuen ESRT-Tabelle widerzuspiegeln. Beachten Sie, dass der einzige Unterschied in der Tabelle darin besteht, dass die Felder Firmwareversion und Version des letzten Versuchs für den Ressourceneintrag der Systemfirmware geändert wurden, um die erfolgreich angewendete neue Firmwareversion widerzuspiegeln.
Feld | Wert | Comment |
---|---|---|
Anzahl der Firmwareressourcen | 2 | Diese Tabelle enthält zwei Firmwareressourceneinträge. |
Maximale Firmwareressource | 2 | Diese Tabellenzuordnung enthält genügend Speicherplatz, um maximal zwei Ressourcen zu beschreiben. |
Firmwareressourcenversion | 1 | Die Von dieser Tabelle verwendete Firmwareressourceneintragsformatversion ist 1. |
Firmwareressourceneintragsarray | Firmwareressourceneintrag 0 | |
Firmware-Klasse | (SYSTEM_FIRMWARE) | Diese GUID identifiziert die Systemfirmware, die über PnP aktualisiert werden soll. |
Firmwaretyp | 1 | Der Systemfirmwaretyp ist 1. |
Firmware Version | 2 | Die aktuelle Systemfirmwareversion ist 2. |
Niedrigste unterstützte Firmwareversion | 2 | Ändern Sie die niedrigste unterstützte Firmwareversion in 2, sodass für die Firmware kein Rollback auf eine frühere Version als Version 2 ausgeführt werden kann. Dieser Wert wird in der Regel geändert, wenn das Firmwareupdate Sicherheitsupdates enthält. |
Kapselflags | 0 | Die Systemfirmware definiert keine flags für private Kapselupdates. |
Version des letzten Versuchs | 2 | Die letzte Systemfirmwareversion, für die ein Update versucht wurde, war 2. |
Status des letzten Versuchs | 0 | Der letzte Versuch zur Aktualisierung der Systemfirmware war erfolgreich. |
Firmwareressourceneintrag 1 | ||
Firmware-Klasse | (DEVICE_FIRMWARE) | Diese GUID identifiziert die Gerätefirmware, die über PnP aktualisiert werden soll. |
Firmwaretyp | 2 | Gerätefirmwaretyp ist 2. |
Firmware Version | 1 | Die aktuelle Gerätefirmwareversion ist 1. |
Niedrigste unterstützte Firmwareversion | 1 | Behalten Sie die niedrigste unterstützte Firmwareversion als 1 bei. Die Firmware kann bei Bedarf auf Version 1 zurückgesetzt werden. |
Kapselflags | 0x8010 | Gerätefirmware definiert private Kapselupdateflags (0x8010). |
Version des letzten Versuchs | 1 | Die letzte Firmwareversion des Geräts, für die ein Update versucht wurde, ist 1. |
Status des letzten Versuchs | 0 | Der letzte Versuch zur Aktualisierung der Gerätefirmware war erfolgreich. |
Wenn die Firmware nicht erfolgreich angewendet werden kann, spiegeln die Einträge Firmwareversion, Letzte Versuchsversion und Status des letzten Versuchs im ESRT den fehlgeschlagenen Updateversuch wider. Wenn das System beispielsweise versucht, Version 1 der Firmware auf Version 2 zu aktualisieren, und die Anwendung nicht erfolgreich angewendet werden kann, dann ist die Firmwareversion = 1, die Letzte Versuch Version = 2 und der Status des letzten Versuchs != 0. (D. h. der Status des letzten Versuchs wird auf den entsprechenden Fehlercode ungleich 0 festgelegt, der den Grund des Fehlers angibt. Die Liste der gültigen Fehlercodes für diesen Eintrag finden Sie unter ESRT-Tabellendefinition.
Obwohl die Standardupdaterichtlinie erzwingt, dass Firmwareversionen nur erhöht werden können, kann diese Richtlinie zu Testzwecken über die Richtlinieneinstellung deaktiviert werden, wie im Abschnitt Zurücksetzen von Firmwareupdates unten beschrieben.
Systemzurücksetzung
Durch eine Systemzurücksetzung können Endbenutzer ihre Systeme wieder auf werksseitige Einstellungen zurücksetzen. Dies wird erreicht, indem das Windows-Image, das während des Herstellungsprozesses vorab in ein System geladen wurde, neu installiert wird. Das gesamte Betriebssystem, einschließlich Treibern und Anwendungen, wird neu installiert.
Aufgrund von Sicherheitsanforderungen, die ein Firmwarerollback über Sicherheitsgrenzen hinweg verhindern, kann das Zurücksetzen von Firmwareversionen nicht so zurückgesetzt werden, dass sie der ursprünglichen Firmware entsprechen, die in der Factory bereitgestellt wurde. Dies bedeutet, dass alle Versionen der Firmware abwärtskompatibel mit allen Treiber- und Betriebssystemversionen sein müssen, die auf dieser Plattform enthalten sind. Wenn die Firmware nicht kompatibel ist, kann dies dazu führen, dass ein Benutzer sein System an den Hersteller zurückgibt.
Zurücksetzen von Firmwareupdates
In einigen Fällen kann es erforderlich sein, ein Rollback eines Firmwareupdates durchzuführen, z. B. während des Updatetests. Jede von ESRT gemeldete Firmwareressource verfügt über einen Eintrag im folgenden Registrierungsschlüssel: HKLM\SYSTEM\CurrentControlSet\Control\FirmwareResources.
Der Eintrag ist ein Schlüssel mit dem Namen, der der GUID entspricht, die zum Melden der Ressource im ESRT verwendet wird. Um ein Firmwarerollback zuzulassen, erstellen Sie einen REG_DWORD Wert namens Policy , und legen Sie den Wert auf 1 fest. Für eine bestimmte Firmwareressource kann nur ein Rollback auf die jeweilige niedrigste unterstützte Firmwareversion durchgeführt werden, wie im ESRT angegeben. Dadurch soll verhindert werden, dass Firmwarerollbacks über den Zeitpunkt hinausgehen, an dem eine kritische Sicherheitskorrektur für die Firmware vorgenommen wurde. Wenn die Firmwareversion, zu der Sie ein Rollback durchführen, diese Bedingungen erfüllt, wird das Betriebssystemladeprogramm auf eine ältere Version aktualisiert.
Zugehörige Themen
Erstellen eines Updatetreiberpakets