Sdílet prostřednictvím


Zpracování aktualizací

Po instalaci všech balíčků aktualizace firmwaru a následném restartování systému windows zavaděč operačního systému načte všechny soubory datové části firmwaru (v tomto příkladu firmware.bin) do fyzické paměti. Zavaděč operačního systému Windows vytvoří hlavičky kapsle pomocí informací z odpovídající položky ESRT každé aktualizace, která popisuje identifikátor GUID a příznaky, které se mají použít při volání UEFI UpdateCapsule. Při nastavování pole příznaků záhlaví každé kapsle načítací program operačního systému Windows vždy nastaví CAPSULE_FLAGS_PERSIST_ACROSS_RESET a CAPSULE_FLAGS_INITIATE_RESET. Zavaděč operačního systému Windows může navíc nastavit CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE pro typy firmwaru DEVICE_FIRMWARE, pokud byl příznak kapsle zadán v inf balíčku ovladače. Do INF souboru mohou být specifikovány také vlastní příznaky kapsle a po specifikaci budou dále zahrnuty při volání funkce UEFI UpdateCapsule.

Odkazujeme zpět na příklad ESRT uvedený v definici tabulky ESRT a na příklad INF balíčku aktualizace prostředků firmwaru v kapitole Autorství balíčku ovladače aktualizace. Hlavičky kapslí, které zavaděč Windows OS vytvoří pro předání do UpdateCapsule, by vypadaly následovně.

(No improvements necessary, the translation is already optimal.) Hodnota Komentář
CapsuleGuid {SYSTEM_FIRMWARE} Z odpovídající položky zdroje firmwaru ESRT s názvem FirmwareClass.
Velikost záhlaví ... Vyplněno pro zarovnání na stránku firmware.bin začátek.
Vlajky 0x50000 Přetrvávání, a zahájení resetu.
VelikostObrázkuKapsle ... Velikost hlavičky kapsle plus velikost firmware.bin.

Všimněte si, že v tomto příkladu nainstalovala balíček ovladače aktualizace prostředků firmwaru pouze jedno ze dvou zařízení definovaných v tabulce ESRT. Pokud by byl balíček ovladače aktualizace prostředků firmwaru vytvořen pro druhé zařízení v tabulce 2 a pak nainstalován na příslušné zařízení prostředků firmwaru, vytvořila by se druhá hlavička kapsle následujícím způsobem:

(No improvements necessary, the translation is already optimal.) Hodnota Komentář
CapsuleGuid {DEVICE_FIRMWARE} Z odpovídající položky prostředku ESRT FirmwareClass.
Velikost záhlaví ... Začátek souboru DEVICE.BIN byl zarovnán na stránku.
Vlajky 0x50000 Přetrvávají, začínají, resetují a naplňují systémovou tabulku, přičemž hodnota OR s 0x8010 pochází z odpovídající položky v CapsuleFlags prostředku ESRT.
VelikostObrazuKapsle ... Velikost záhlaví kapsle + velikost DEVICE.BIN.

Jakmile zavaděč operačního systému Windows načte všechny čekající aktualizace firmwaru a vytvoří potřebné datové struktury, které je popisují, zavolá službu UpdateCapsule run-time před voláním ExitBootServices.

UpdateCapsule se volá před ExitBootServices, když firmware platformy má výhradní kontrolu nad všemi zařízeními, včetně úložného zařízení. Implementace firmwaru platformy UpdateCapsule může ukládat datové části aktualizace firmwaru do trvalého úložiště pro přípravu aktualizace nebo podporu obnovení a vrácení zpět.

definice tabulky ESRT

zařízení Plug and Play

Vytvoření aktualizačního balíčku ovladače

vstupně-výstupních operací zařízení z prostředí UEFI

bezproblémové prevence krize a zotavení

stav aktualizace firmwaru