-
HINTERGRUND
-
Ein BIOS ist Basis-Eingabe-Ausgabe-System (Basic Input/Output System) für eine Maschine. Das BIOS initialisiert und steuert Hardwarekomponenten und ein Betriebssystem der Maschine. Wenn eine Aktualisierung, Wiederholung und/oder Wiederherstellung an dem BIOS ausgeführt wird, ist es wünschenswert, das BIOS durch ein anderes BIOS zu ersetzen.
-
Kurze Beschreibung der Zeichnungen
-
Verschiedene Merkmale und Vorteile der offenbarten Ausführungsbeispiele sind aus der nachfolgenden, detaillierten Beschreibung offensichtlich, in Verbindung mit den beiliegenden Zeichnungen, die zusammen beispielhaft Merkmale der Ausführungsbeispiele darstellen.
-
1 stellt eine Maschine mit BIOS-Bildern dar, die durch einen BIOS-Verwalter gemäß einem Ausführungsbeispiel der Erfindung verwaltet werden.
-
2 stellt ein Flussdiagramm von BIOS-Bildern dar, die klassifiziert werden, und eine Klassifizierung von zumindest zwei BIOS-Bildern, die aktualisiert werden, wenn ein aktuelles BIOS gemäß einem Ausführungsbeispiel der Erfindung ausgetauscht wurde.
-
3 stellt eine BIOS-Datenbank-Auflistung und die Aktualisierung von Klassifikationen von BIOS-Bildern und ein BIOS-Protokoll dar, in das geschrieben wird, wenn ein aktuelles BIOS einer Maschine gemäß einem Ausführungsbeispiel der Erfindung ausgetauscht wird.
-
4 stellt eine Maschine mit einem eingebetteten BIOS-Verwalter und einem BIOS-Verwalter, der aus einem entfernbaren Medium gespeichert ist, dar, auf das durch die Maschine gemäß einem Ausführungsbeispiel der Erfindung zugegriffen wird.
-
5 ist ein Flussdiagramm, das ein Verfahren für eine BIOS-Bildverwaltung gemäß einem Ausführungsbeispiel der Erfindung darstellt.
-
6 ist ein Flussdiagramm, das ein Verfahren für eine BIOS-Bildverwaltung gemäß einem anderen Ausführungsbeispiel der Erfindung darstellt.
-
Detaillierte Beschreibung
-
1 stelle eine Maschine 100 mit BIOS-Bildern 130 dar, die durch einen BIOS-Verwalter 110 gemäß einem Ausführungsbeispiel der Erfindung verwaltet werden. Bei einem Ausführungsbeispiel ist die Maschine 100 ein Tischrechner, ein Laptop, ein Server und/oder jegliche Vorrichtung, die ein BIOS-Bild verwendet. Wie in 1 dargestellt ist, umfasst die Maschine 100 einen Prozessor 120, einen BIOS-Verwalter 110, BIOS-Bilder 130, eine Speicher/Speicherungs-Vorrichtung 180, eine Signatur 140, eine Eingabe/Ausgabe-Vorrichtung 150, eine Netzwerkschnittstelle 160 und einen Kommunikationsbus 170 für die Maschine 100 und/oder eine oder mehrere Komponenten der Maschine 100, um miteinander zu kommunizieren. Bei anderen Ausführungsbeispielen umfasst die Maschine 100 zusätzliche Komponenten und/oder ist mit zusätzlichen Komponenten zusätzlich zu und/oder anstelle von jenen gekoppelt, die oben erwähnt und in 1 dargestellt sind.
-
Wie in 1 dargestellt ist, umfasst eine Maschine 100 einen Prozessor 120, der mit der Maschine 100 gekoppelt ist. Der Prozessor 120 führt Anweisungen aus, um ein BIOS-Bild zu laden, das die Maschine 100 als ein aktuelles BIOS verwendet. Ein aktuelles BIOS ist eingebettete Software, die eine Maschine 100 bootet bzw. startet, die Hardwarekomponenten und das Betriebssystem der Maschine 100 initialisiert und steuert. Bei einem Ausführungsbeispiel ist das aktuelle BIOS auf dem Speicher in der Maschine 100 eingebettet und auf einer separaten oder dedizierten Partition von einem Betriebssystem auf der Maschine 100 gespeichert. Eines der BIOS-Bilder 130, die durch die Maschine 100 zugreifbar sind, wird als das aktuelle BIOS verwendet.
-
Die BIOS-Bilder 130 sind auf einer Speicherungsvorrichtung 180 auf der Maschine 100 gespeichert. Die Speicherungsvorrichtung 180 kann in der Maschine umfasst sind und/oder die Speicherungsvorrichtung 180 kann extern und für die Maschine 100 zugreifbar sein. Bei einem Ausführungsbeispiel sind die BIOS-Bilder 130 auf einer separaten Partition der Speicherungsvorrichtung 180 gespeichert, wie z. B. einer uEFI-Partition. Die BIOS-Bilder 130 werden geschrieben in und gespeichert auf der uESI-Partition. Bei anderen Ausführungsbeispielen werden die BIOS-Bilder 130 von einem anderen Ort auf die Speicherungsvorrichtung 180 unter Verwendung einer Netzwerkschnittstelle 160 oder einer Eingabe/Ausgabe-Vorrichtung 150 durch eine Anwendung auf dem Betriebssystem oder einen BIOS-Verwalter 110 auf der Maschine 100 heruntergeladen. Die Netzwerkschnittstelle 160 kann eine verdrahtete oder drahtlose Netzwerkschnittstellenkarte sein. Zusätzlich dazu kann die Eingabe/Ausgabe-Vorrichtung 150 bei einem Ausführungsbeispiel ein USB-Laufwerk oder eine Infrarotvorrichtung sein.
-
Die BIOS-Bilder 130 werden auf die Speicherungsvorrichtung 180 durch eine Anwendung geschrieben, die auf dem Betriebssystem läuft. Die Anwendung kann eine Softwareanwendung sein, die auf derselben Partition gespeichert ist wie das Betriebssystem, und kann durch das Betriebssystem ausgeführt werden. Zusätzlich dazu kann die Anwendung eine Softwareanwendung sein, die von einem BIOS-Verwalter auf der Maschine 100 getrennt ist.
-
Wie oben erwähnt wurde, werden die BIOS-Bilder 130 durch einen BIOS-Verwalter 110 verwaltet. Der BIOS-Verwalter 110 klassifiziert BIOS-Bilder 130, die durch die Maschine 100 zugreifbar sind. Bei einem Ausführungsbeispiel ist der BIOS-Verwalter 110 Firmware, die auf die Maschine 100 eingebettet ist. Bei anderen Ausführungsbeispielen ist der BIOS-Verwalter 110 eine Softwareanwendung, die auf der Maschine 100 innerhalb des ROM oder auf einer Speicherungsvorrichtung 180 gespeichert ist, die durch die Maschine 100 zugreifbar ist, oder der BIOS-Verwalter 110 ist auf einem Computer-lesbaren Medium gespeichert, das durch die Maschine 100 von einem unterschiedlichen Ort lesbar und zugreifbar ist. Bei einem weiteren Ausführungsbeispiel ist der BIOS-Verwalter 110 gespeichert auf und/oder wird zugegriffen durch einen Server, der durch ein lokales Netz oder ein weites Netz gekoppelt ist. Der BIOS-Verwalter 110 kommuniziert mit den Vorrichtungen und/oder Komponenten, die mit der Maschine 100 physisch oder drahtlos durch einen Kommunikationsbus 170 gekoppelt sind, der umfasst ist in oder angebracht ist an die Maschine 100. Bei einem Ausführungsbeispiel kann der Kommunikationsbus 170 ein Speicherbus sein. Bei anderen Ausführungsbeispielen kann der Kommunikationsbus 170 ein Datenbus sein.
-
Der BIOS-Verwalter 110 klassifiziert BIOS-Bilder 130. Bei einem Ausführungsbeispiel verwendet der BIOS-Verwalter Anfangsblöcke (2) an den BIOS-Bildern 130, um die BIOS-Bilder 130 zu klassifizieren. Alternativ verwendet der BIOS-Verwalter 110 eine BIOS-Datenbank (3), um die BIOS-Bilder 130 zu klassifizieren. Bei einem Ausführungsbeispiel werden die BIOS-Bilder 130, die durch die Maschine 100 zugreifbar sind, mit einem der folgenden Status klassifiziert: aktuell, Standard, vorangehend, neu und/oder korrupt.
-
Die Klassifikationen, die den BIOS-Bildern 130 gegeben werden, basieren auf einem Status und/oder einer Stabilität des entsprechenden BIOS-Bildes, wie z. B. aktuell (das BIOS-Bild wird gegenwärtig verwendet als ein aktives BIOS-Bild, das die Maschine 100 betreibt) oder korrupt (das bestimmte BIOS-Bild funktioniert nicht korrekt). Ferner werden Klassifikationen basierend auf einem Erzeugungsdatum gegeben, wobei das Datum der Erzeugung des BIOS-Bildes, das als aktuell klassifiziert ist, als Referenz verwendet wird, wie z. B. vorher (ein Erzeugungsdatum vor dem aktuellen BIOS), neu (ein Erzeugungsdatum nach dem aktuellen BIOS), oder Standard (das Original-BIOS-Bild auf der Maschine 100, das als aktives BIOS verwendet wird). Zusätzliche Faktoren und Betrachtungen werden verwendet und betrachtet, wenn ein oder mehrere BIOS-Bilder 130 klassifiziert werden, die für die Maschine 100 zugreifbar sind, zusätzlich zu und/oder anstelle jener, die oben erwähnt wurden.
-
Ferner werden bei anderen Ausführungsbeispielen BIOS-Bilder 130, die durch die Maschine 100 zugreifbar sind, zusätzlich als stabil, zuletzt verwendet, klassifiziert und/oder zur Verwendung mit einer bestimmten Komponente der Maschine 100 identifiziert. Andere Klassifikationen werden den BIOS-Bildern 130 anstelle von und/oder zusätzlich zu den oben Erwähnten gegeben. Bei einem Ausführungsbeispiel umfassen das eine oder die mehreren der BIOS-Bilder 130 mehrere Klassifikationen.
-
Der BIOS-Verwalter 110 wählt ein BIOS-Bild aus den BIOS-Bildern 130 aus, um ein aktuelles BIOS zu ersetzen, das die Maschine 100 betreibt, basierend auf der Klassifikation der BIOS-Bilder 130. Beim Bestimmen, ob das aktuelle BIOS ersetzt werden soll, tastet der BIOS-Verwalter 110 anfänglich das aktuelle BIOS nach einer oder mehreren Flags ab, die in dem aktuellen BIOS gesetzt sind. Der BIOS-Verwalter 110 führt die Abtastung aus, wenn die Maschine 100 hochfährt und das aktuelle BIOS lädt. Zusätzlich dazu bestimmt der BIOS-Verwalter 110, das aktuelle BIOS zu ersetzen, wenn das aktuelle BIOS als korrupt bestimmt wird.
-
Ein oder mehr Flags sind Indikatoren des entsprechenden BIOS-Bildes, die zum Darstellen unterschiedlicher Status des entsprechenden BIOS-Bildes verwendet werden. Die BIOS-Bilder 130 können mehrere Flags umfassen, die darstellen, wann das entsprechende BIOS das aktuelle BIOS ist und ob eine Aktualisierung (updating), Wiederholung (roll back) und/oder Wiederherstellung (recovery) ausgeführt werden soll. Bei anderen Ausführungsbeispielen zeigen die Flags an, wann das entsprechende BIOS im Falle einer Aktualisierung oder Wiederholung ausgewählt werden soll und/oder warm das aktuelle BIOS korrupt ist. Bei zusätzlichen Ausführungsbeispielen können die Flags anzeigen, dass das entsprechende BIOS-Bild Priorität gegenüber anderen BIOS-Bildern 130 mit derselben Klassifikation hat und/oder wann eine Aktualisierung, Wiederholung und/oder Wiederherstellung erfolgreich war. Die Flags können als Teil der BIOS-Bilder 130 gespeichert sein und können mit einer 1 oder 0 markiert sein. Zusätzlich dazu können die Flags durch den BIOS-Verwalter 110 oder die Anwendung aus dem Betriebssystem gesetzt sein.
-
Ein oder mehrere Flags werden durch den BIOS-Verwalter 110 gelesen, um zu bestimmen, welche Klassifikation und/oder welches BIOS-Bild ausgewählt werden soll, wenn das aktuelle BIOS ersetzt wird. Bei einem Ausführungsbeispiel sind ein oder mehrere Flags ein Aktualisieren-Flag, gesetzt durch eine Anwendung aus dem Betriebssystem auf der Maschine 100, die das Flag mit einer 1 setzt bzw. markiert. Als Ergebnis durchsucht der BIOS-Verwalter 110 die BIOS-Bilder 130 nach einem BIOS-Bild mit einer Klassifikation Neu. Zusätzlich dazu sind ein oder mehrere Flags ein Wiederholen- oder ein Korrupt-Flag, das anzeigt, das aktuelle BIOS durch ein BIOS-Bild zu ersetzen, das als vorherig oder Standard klassifiziert ist. Als Ergebnis basiert die Auswahl eines BIOS-Bildes aus den BIOS-Bildern 130, die verwendet werden, um das aktuelle BIOS zu ersetzen, auf einer Klassifikation der BIOS-Bilder 130.
-
Bei einem Ausführungsbeispiel bestimmt der BIOS-Verwalter 110, dass ein Aktualisieren-Flag gesetzt ist. Der BIOS-Verwalter 110 durchsucht dann die BIOS-Bilder 130 nach einem BIOS-Bild, das als neu klassifiziert ist. Sobald der BIOS-Verwalter 110 ein BIOS-Bild gefunden hat, das als neu klassifiziert ist, führt der BIOS-Verwalter 110 fort, das aktuelle BIOS zu aktualisieren durch Ersetzen des aktuellen BIOS durch ein BIOS-Bild, das als neu klassifiziert ist.
-
Bei einem anderen Ausführungsbeispiel bestimmt der BIOS-Verwalter 100, dass das aktuelle BIOS korrupt ist. Ein BIOS-Bild ist korrupt, wenn es nicht korrekt funktioniert oder inkorrekt auf der Maschine 100 installiert ist. Der BIOS-Verwalter 110 führt fort, die BIOS-Bilder 130 nach einem BIOS-Bild abzutasten, das als vorangehend oder Standard klassifiziert ist. Sobald der BIOS-Verwalter 110 ein BIOS-Bild gefunden hat, das als vorangehend oder Standard klassifiziert ist, führt der BIOS-Verwalter 110 fort, das aktuelle BIOS, das als korrupt bestimmt ist, durch das ausgewählte BIOS-Bild zu ersetzen, das als vorangehend oder Standard klassifiziert ist.
-
Bei einem Ausführungsbeispiel, wenn der BIOS-Verwalter 110 ein BIOS-Bild findet, das als Standard klassifiziert ist, und zusätzliche BIOS-Bilder 130, die als vorangehend klassifiziert sind, kann der BIOS-Verwalter 110 das BIOS-Bild auswählen, das als Standard klassifiziert ist. Bei einem anderen Ausführungsbeispiel kann der BIOS-Verwalter 110 die BIOS-Bilder 130, die als vorangehend oder Standard klassifiziert sind, nach einem Prioriäts-Flag abtasten. Wenn jegliche der BIOS-Bilder 130, die als vorangehend oder Standard klassifiziert sind, das Prioritäts-Flag umfassen, kann der BIOS-Verwalter 110 das BIOS-Bild mit dem Prioritäts-Flag auswählen.
-
Bevor das BIOS-Bild ausgewählt wird, das als vorangehend oder Standard klassifiziert ist, prüft der BIOS-Verwalter 110 weiter, dass das BIOS-Bild nicht zusätzlich als korrupt klassifiziert ist. Wenn das BIOS-Bild zusätzlich als korrupt klassifiziert ist, fährt der BIOS-Verwalter fort, nach einem anderen BIOS-Bild abzutasten und dieses auszuwählen, das als vorangehend oder Standard klassifiziert ist.
-
Ferner bestimmt der BIOS-Verwalter 110 bei anderen Ausführungsbeispielen, dass ein Wiederholen-Flag bei dem aktuellen BIOS gesetzt ist. Ähnlich zu der Wiederherstellung von einem aktuellen BIOS, das als korrupt bestimmt ist, fährt der BIOS-Verwalter 110 fort, die BIOS-Bilder 130 nach einem BIOS-Bild abzutasten, das als vorangehend oder Standard klassifiziert ist. Sobald der BIOS-Verwalter 110 ein BIOS-Bild gefunden hat, das als vorangehend oder Standard klassifiziert ist, kehrt der BIOS-Verwalter 110 zu einem BIOS-Bild zurück, das als vorangehend oder Standard klassifiziert ist.
-
Ähnlich zu einem Ausführungsbeispiel, das oben offenbart ist, wenn der BIOS-Verwalter 110 ein BIOS-Bild findet, das als Standard klassifiziert ist und zusätzliche BIOS-Bilder 130, die als vorangehend klassifiziert sind, kann der BIOS-Verwalter 110 das BIOS auswählen, das als Standard klassifiziert ist. Bei anderen Ausführungsbeispielen kann der BIOS-Verwalter 110 die BIOS-Bilder 130 abtasten, die als vorangehend oder Standard klassifiziert sind, nach einem Prioritäts-Flag. Wenn eines der BIOS-Bilder 130, die als vorangehend oder Standard klassifiziert sind, das Prioritäts-Flag umfasst, kann der BIOS-Verwalter 110 das BIOS-Bild mit dem Prioritäts-Flag auswählen.
-
Ferner, bevor das aktuelle BIOS ersetzt wird, tastet der BIOS-Verwalter 110 das ausgewählte BIOS-Bild ab, um zu bestimmen, ob das ausgewählte BIOS-Bild eine binäre Signatur aufweist, die mit einer Signatur 140 auf der Maschine 100 übereinstimmt. Eine Signatur 140 auf der Maschine 100 ist eine Sequenz aus binären Zahlen, die verwendet wird, um zu identifizieren, dass das entsprechende BIOS-Bild mit der Maschine 100 kompatibel und/oder stabil ist. Bei anderen Ausführungsbeispielen können andere geeignete Signaturen 140 eingesetzt werden. Die Signatur 140 kann auf der Speicherungsvorrichtung 180 gespeichert sein. Wenn die binäre Signatur des ausgewählten BIOS-Bildes mit der Signatur 140 übereinstimmt, die auf der Maschine 100 gespeichert ist, fährt der BIOS-Verwalter 110 fort, das aktuelle BIOS durch das ausgewählte BIOS-Bild zu ersetzen, durch Überschreiben des aktuellen BIOS mit dem ausgewählten BIOS-Bild. Ansonsten führt der BIOS-Verwalter 110 fort, die BIOS-Bilder 130 nach einem anderen BIOS-Bild zu durchsuchen, das verwendet wird, um das aktuelle BIOS zu ersetzen, bis eine passende binäre Signatur gefunden wird und das aktuelle BIOS überschrieben wurde.
-
Sobald das aktuelle BIOS durch ein BIOS-Bild ersetzt wurde, das aus den BIOS-Bildern 130 ausgewählt ist, bestimmt der BIOS-Verwalter 100, dass das ausgewählte BIOS-Bild das aktuelle BIOS sein soll. Der BIOS-Verwalter 110 bestimmt zusätzlich, ob das aktuelle BIOS korrupt ist. Wenn das aktuelle BIOS korrupt bzw. verfälscht ist, fährt der BIOS-Verwalter 110 fort, eine Wiederherstellung zu versuchen durch Zurückkehren zu einem BIOS-Bild, das als vorangehend oder Standard klassifiziert ist. Sobald der BIOS-Verwalter 110 bestimmt, dass das aktuelle BIOS nicht verfälscht ist, fährt der BIOS-Verwalter 110 fort, ein Erfolg-Flag an dem aktuellen BIOS zu setzen. Zusätzlich dazu fährt der BIOS-Verwalter fort, die Klassifizierung von zumindest zwei der BIOS-Bilder 130 zu aktualisieren.
-
Beim Aktualisieren der Klassifikation der BIOS-Bilder 130 modifiziert der BIOS-Verwalter 110 einen Anfangsblock (2) der entsprechenden BIOS-Bilder 130, deren Klassifikation aktualisiert werden soll. Zusätzlich dazu aktualisiert der BIOS-Verwalter 110 einen entsprechenden Eintrag in einer BIOS-Datenbank (3), die die BIOS-Bilder 130 auflistet, auf die die Maschine 100 zugreift. Beim Aktualisieren der Klassifikation von zumindest zwei der BIOS-Bilder 130 klassifiziert der BIOS-Verwalter 110 das BIOS-Bild, das als aktuell klassifiziert ist, neu als vorangehend. Zusätzlich dazu klassifiziert der BIOS-Verwalter 110 das BIOS-Bild, das ausgewählt ist, um das aktuelle BIOS zu ersetzen, neu als aktuell. Nach dem Aktualisieren der Klassifikation von zumindest zwei BIOS-Bildern 130 schreitet der BIOS-Verwalter 110 bei einem Ausführungsbeispiel zusätzlich fort, BIOS-Bilder 130 zu löschen, die als korrupt klassifiziert sind. Zusätzlich dazu versucht der BIOS-Verwalter 110, die BIOS-Bilder 130 zu ersetzen, die als korrupt klassifiziert sind, wenn Sicherungs-BIOS-Bilder 130 der korrupten BIOS-Bilder 130 verfügbar sind.
-
2 stellt ein Flussdiagramm von BIOS-Bildern 210 dar, die klassifiziert werden und eine Klassifikation von zumindest zwei BIOS-Bildern 210, die aktualisiert werden, wenn ein aktuelles BIOS gemäß einem Ausführungsbeispiel der Erfindung ersetzt wurde. Wie oben erwähnt wurde, klassifiziert ein BIOS-Verwalter an der Maschine 200 die BIOS-Bilder 210, die durch die Maschine 200 zugreifbar sind. Zusätzlich dazu, wie oben erwähnt wurde, umfassen die BIOS-Bilder 210, die durch die Maschine 200 zugreifbar sind, ferner einen entsprechenden Anfangsblock 220, der konfiguriert ist, die Klassifikation der entsprechenden BIOS-Bilder 210 zu spezifizieren.
-
Wie in 2 dargestellt ist, ist bei einem Ausführungsbeispiel ein Anfangsblock 220 eine separate Datei, auf die automatisch zugegriffen wird und die gelesen wird, wenn auf das entsprechende BIOS-Bild 210 zugegriffen wird. Bei anderen Ausführungsbeispielen ist ein Anfangsblock 220 in der entsprechenden BIOS-Bild-210-Datei selbst umfasst. Der Anfangsblock 220 wird gefüllt und/oder beschrieben durch den BIOS-Verwalter, um den Status des entsprechenden BIOS-Bildes 210 zu erklären oder zu identifizieren. Wie oben erwähnt wurde und in 2 dargestellt ist, sind die BIOS-Bilder 210 als neu, aktuell, vorangehend, Standard und/oder korrupt klassifiziert. Zusätzlich dazu, wie in 2 dargestellt ist, wird das BIOS-Bild 1 als anfänglich als neu klassifiziert und das BIOS-Bild 2 wird anfänglich als aktuell klassifiziert.
-
Der BIOS-Verwalter ersetzt dann das BIOS-Bild 2, das als aktuell klassifiziert ist, durch ein BIOS-Bild auf der Maschine 200, wenn eine binäre Signatur 230 des BIOS-Bildes 1 mit einer binären Signatur 230 übereinstimmt, die auf der Maschine 200 gespeichert ist. Wie ferner in 2 gezeigt ist, wird bei einem Ausführungsbeispiel BIOS-Bild 1, das als neu klassifiziert ist, ausgewählt, um das aktuelle BIOS zu ersetzen, BIOS-Bild 2. Als Ergebnis, da das aktuelle BIOS, BIOS-Bild 2, durch BIOS-Bild 1 ersetzt wird, das als neu klassifiziert ist, führt der BIOS-Verwalter eine Aktualisierung aus. Nach dem Überschreiben des aktuellen BIOS fährt der BIOS-Verwalter fort, die Klassifikation von zumindest zwei BIOS-Bildern 210 zu aktualisieren.
-
Wie in 2 gezeigt ist, klassifiziert der BIOS-Verwalter beim Aktualisieren der Klassifikation von zumindest zwei BIOS-Bildern 210 das BIOS-Bild 2 neu durch Überschreiben des Anfangsblocks 220 des BIOS 2 von aktuell zu vorangehend und klassifiziert BIOS-Bild 1 neu durch Überschreiben des Anfangsblocks 220 des BIOS 1 von neu zu aktuell. Ferner, wie oben angegeben und in 2 dargestellt ist, fährt der BIOS-Verwalter nach dem Überschreiben des BIOS-Bildes, das vorangehend als aktuell klassifiziert wurde fort, ein Erfolg-Flag 250 an dem aktuellen BIOS, BIOS-Bild 1, zu setzen. Ähnlich zu einem Anfangsblock 220 für das entsprechende BIOS-Bild ist das Erfolg-Flag 250 eine separate Datei, auf die zugegriffen wird, wenn auf das aktuelle BIOS zugegriffen wird. Bei anderen Ausführungsbeispielen ist das Erfolg-Flag 250 Teil des aktuellen BIOS. Wie oben erwähnt wurde, wurde das originale aktuelle BIOS durch BIOS-Bild 1 ersetzt. Als Ergebnis ist das BIOS-Bild 1 nun das aktuelle BIOS und das Erfolg-Flag 250 an dem BIOS-Bild 1 wird gesetzt.
-
Sobald der BIOS-Verwalter zumindest zwei BIOS-Bilder 210 neu klassifiziert hat und ein Erfolg-Flag 250 an dem aktuellen BIOS gesetzt hat, schreibt der BIOS-Verwalter zusätzlich die Klassifikation der BIOS-Bilder 210, die für die Maschine 200 zugreifbar sind, in ein BIOS-Protokoll 240. Bei einigen Ausführungsbeispielen wird das Erfolg-Flag 250 nicht verwendet. Bei einem Ausführungsbeispiel ist das BIOS-Protokoll 240 ein Dokument oder eine Datei, die auf der Maschine 200 gespeichert ist, die BIOS-Bilder 210 auflistet, die für die Maschine 200 zugreifbar sind sowie die Klassifikationen für BIOS-Bilder 210 nachdem das aktuelle BIOS auf der Maschine 200 ersetzt wurde. Zusätzlich wird das BIOS-Protokoll 240 aktualisiert und/oder überschrieben, wenn ein aktuelles BIOS auf der Maschine 200 ersetzt wurde.
-
Das BIOS-Protokoll 240 ist auf einer Speicherungsvorrichtung gespeichert, die für die Maschine 200 zugreifbar ist. Wie oben erwähnt wurde ist die Speicherungsvorrichtung eine interne oder eine externe Speicherungsvorrichtung, die mit der Maschine 200 gekoppelt oder in dieser umfasst ist. Ferner ist das BIOS-Protokoll 240 auf einer Partition der Speicherungsvorrichtung gespeichert, wo die BIOS-Bilder 210 gespeichert sind. Zusätzlich dazu wird auf das BIOS-Protokoll 240 durch ein Betriebssystem der Maschine 200 zugegriffen. Das Betriebssystem greift auf das BIOS-Protokoll 240 zu und identifiziert BIOS-Bilder 210, die für die Maschine 200 zugreifbar sind sowie Klassifikationen für BIOS-Bilder 210. Wenn kein BIOS-Protokoll 240 vorhanden und/oder zugreifbar ist, fährt das Betriebssystem fort, auf die separate Partition zuzugreifen, wo die BIOS-Bilder 210 gespeichert sind, und tastet die Anfangsblöcke 220 der BIOS-Bilder 210 nach der Klassifikation der entsprechenden BIOS-Bilder 210 ab.
-
Bei einem Ausführungsbeispiel greift das Betriebssystem auf das BIOS-Protokoll 240 zu, um BIOS-Bilder 210 zu identifizieren, die als korrupt klassifiziert sind, BIOS-Bilder 5 und 6. Bei einem anderen Ausführungsbeispiel tastet das Betriebssystem die Anfangsblöcke 220 ab und identifiziert, dass BIOS-Bilder 5 und 6 Anfangsblöcke 220 aufweisen, die zeigen, dass die Klassifikationen korrupt sind. Sobald das Betriebssystem die BIOS-Bilder 210 identifiziert hat, die als korrupt klassifiziert sind, schreitet das Betriebssystem fort, die korrupten BIOS-Bilder zu löschen, BIOS-Bild 5 und 6. Alternativ fährt das Betriebssystem fort zu versuchen, die korrupten BIOS-Bilder 5 und 6 zu reparieren und/oder die korrupten oder verfälschten BIOS-Bilder zu ersetzen. Das Betriebssystem ersetzt die korrupten BIOS-Bilder unter Verwendung eines Wiederherstellungswerkzeugs oder ersetzt die korrupten BIOS-Bilder durch Herunterladen und/oder Zugreifen auf nicht korrupte Versionen der BIOS-Bilder 210, die als korrupt klassifiziert sind, durch eine Netzwerkschnittstelle oder eine Eingabe/Ausgabe-Vorrichtung auf der Maschine 200.
-
3 stellt eine BIOS-Datenbank 310 dar, die Klassifikationen 380 von BIOS-Bildern 370 auflistet und aktualisiert, und ein BIOS-350-Protokoll, in das durch einen BIOS-Verwalter geschrieben wird, wenn ein aktuelles BIOS einer Maschine gemäß einem Ausführungsbeispiel der Erfindung ersetzt wird. Wie in 3 dargestellt ist, umfasst die Maschine 300 eine BIOS-Datenbank 310. Eine BIOS-Datenbank 310 ist eine Datenbank, die BIOS-Bilder 370 auflistet, die durch die Maschine 300 zugreifbar sind sowie Klassifikationen 380 für die entsprechenden BIOS-Bilder 370. Bei einem Ausführungsbeispiel kann die BIOS-Datenbank 310 die BIOS-Bilder 370 auflisten und speichern. Bei anderen Ausführungsbeispielen listet die BIOS-Datenbank 310 Speicheradressen auf, wo die BIOS-Bilder 370 gespeichert sind. Ferner umfasst die BIOS-Datenbank 310 ein Klassifikationsfeld 380 und ein Binär-Signaturfeld 340 für BIOS-Bilder 370, die in der BIOS-Datenbank 310 aufgelistet sind. Zusätzlich dazu, wie in 3 gezeigt ist, ist die BIOS-Datenbank 310 auf der Maschine 300 gespeichert. Bei anderen Ausführungsbeispielen ist die BIOS-Datenbank 310 auf einer Speicherungsvorrichtung 320 oder einer externen Speicherungsvorrichtung 330 gespeichert, die für die Maschine 300 zugreifbar ist.
-
Wie in 3 gezeigt ist, ist die BIOS-Datenbank 310 mit einer Speicherungsvorrichtung 320 in der Maschine 300 gekoppelt. Bei einem Ausführungsbeispiel identifiziert die BIOS-Datenbank 310 anfänglich, dass die Maschine 300 eine Speicherungsvorrichtung 320 mit BIOS-Bildern 1, 2, 3 und 4 umfasst. Die BIOS-Datenbank 310 schreitet fort, BIOS-Bilder 370 auf der Speicherungsvorrichtung 320 aufzulisten sowie die Klassifikation und die binären Signaturen der BIOS-Bilder 370 auf der Speicherungsvorrichtung 320. Wie in 3 gezeigt ist, sind bei einem Ausführungsbeispiel die Klassifikationen für BIOS-Bilder 370, die in der BIOS-Datenbank 310 aufgelistet sind, abgekürzt. Bei andern Ausführungsbeispielen kann ein Binärcode oder eine Sequenz aus binären Zahlen verwendet werden, um die BIOS-Bilder 370 zu klassifizieren. Der BIOS-Verwalter erfasst dann, dass eine externe Speicherungsvorrichtung 330 mit der Maschine 300 gekoppelt ist, und der BIOS-Verwalter identifiziert, dass die externe Speicherungsvorrichtung 330 BIOS-Bilder 5, 6, 7 und 8 umfasst. Der BIOS-Verwalter fährt dann fort, die BIOS-Datenbank 310 zu aktualisieren, sodass sie BIOS-Bilder 5, 6, 7 und 8 umfassen sowie ihre Klassifikationen und binären Signaturen, in der BIOS-Datenbank 310.
-
Bei einem Ausführungsbeispiel, wenn der BIOS-Verwalter erfasst, dass BIOS-Bilder auf der externen Speicherungsvorrichtung 330 gespeichert sind, gibt der BIOS-Verwalter den BIOS-Bildern 5, 6, 7 und 8 auf der externen Speicherungsvorrichtung 330 Priorität, wenn ein BIOS-Bild ausgewählt wird, ein aktuelles BIOS zu ersetzen. Wie oben erwähnt wurde, kann bei einem Ausführungsbeispiel ein BIOS-Bild ein gesetztes Priorität-Flag umfassen. Der BIOS-Verwalter kann dem BIOS-Bild mit dem gesetzten Priorität-Flag Priorität geben. Ferner, bei einem anderen Ausführungsbeispiel, sobald die BIOS-Datenbank 310 BIOS-Bilder 370 auflistet, die für die Maschine 300 zugreifbar sind, schreitet der BIOS-Verwalter fort, eine Anweisung auszuführen, um das aktuelle BIOS mit einem BIOS-Bild 6 zu überschreiben, das als neu klassifiziert ist. Wie oben erwähnt wurde, bei einem Ausführungsbeispiel, wenn eine externe Speicherungsvorrichtung 330 an die Maschine 300 angehängt ist und die externe Speicherungsvorrichtung 330 BIOS-Bilder 370 umfasst, wird den BIOS-Bildern 370 auf der externen Speicherungsvorrichtung 330 Priorität gegenüber BIOS-Bildern 370 auf der Speicherungsvorrichtung 320 gegeben, wenn ein BIOS-Bild ausgewählt wird, um das aktuelle BIOS zu ersetzen.
-
Wie in 3 dargestellt ist, weisen beide BIOS-Bilder 3 und 6 eine Klassifikation von N (neu) in der BIOS-Datenbank 310 auf, da jedoch das BIOS-Bild 6 auf der externen Speicherungsvorrichtung 330 gespeichert ist, wird ihm Priorität gegeben. Zusätzlich kann das BIOS-Bild 6 ein gesetztes Priorität-Flag aufweisen. Wie oben erwähnt wurde, prüft der BIOS-Verwalter vor dem Überschreiben des aktuellen BIOS die binäre Signatur des BIOS-Bildes 3, das in der BIOS-Datenbank 310 aufgelistet ist, um sicherzustellen, dass die binäre Signatur des BIOS-Bildes 3 mit einer Signatur 360 übereinstimmt, die auf der Maschine 300 gespeichert ist. Wie oben erwähnt wurde, ist bei einem Ausführungsbeispiel die Signatur 360 eine binäre Signatur. Zusätzlich dazu ist die Signatur 360 eine sechsstellige Zahlensequenz. Wie in 3 gezeigt ist, stimmt die binäre Signatur des BIOS-Bildes 6, 001100, mit der Signatur 360 überein, die auf der Maschine 300 gespeichert ist, 001100. Sobald der BIOS-Verwalter die binäre Signatur des BIOS-Bildes 6 verifiziert hat, schreitet der BIOS-Verwalter fort, das aktuelle BIOS mit einem BIOS-Bild 6 zu überschreiben und aktualisiert eine Klassifikation 380 von zumindest zwei BIOS-Bildern 370, die in der BIOS-Datenbank 310 aufgelistet sind.
-
Wie in 3 gezeigt ist, aktualisiert der BIOS-Verwalter zusätzlich die Klassifikation der BIOS-Bilder 1 und 6 und ihre entsprechenden Klassifikationsfelder in der BIOS-Datenbank 110. Das Klassifikationsfeld des BIOS-Bildes 1 in der BIOS-Datenbank 310 wird von C (aktuell; current) auf P (vorangehend; previous) überschrieben. Zusätzlich dazu wird das Klassifikationsfeld des BIOS-Bildes 6 in der BIOS-Datenbank 310 von N (neu) auf C (aktuell) überschrieben. Bei einem Ausführungsbeispiel tastet der BIOS-Verwalter zusätzlich Binärsignaturfelder 340 der BIOS-Datenbank 110 ab, um sicherzustellen, dass die binären Signaturen der BIOS-Bilder 370, die in der BIOS-Datenbank 110 aufgelistet sind, mit der Signatur 360 in der Maschine 300 übereinstimmen. Wie in 3 dargestellt ist, zeigt das Binärsignaturfeld des BIOS 4 die Signatur als 111111. Als ein Ergebnis stimmt die binäre Signatur des BIOS 4 nicht mit der Signatur auf der Maschine 300 überein, 001100. Bei einem Ausführungsbeispiel schreitet der BIOS-Verwalter fort, die Klassifikation des BIOS-Bildes 4 zu De (delete; löschen) zu ändern. Bei einem anderen Ausführungsbeispiel schreitet der BIOS-Verwalter fort, die Auflistung des BIOS-Bildes 4 aus der BIOS-Datenbank 310 zu löschen. Zusätzlich dazu löscht der BIOS-Verwalter ferner das BIOS-Bild 4 aus der Speicherungsvorrichtung 320.
-
Sobald die BIOS-Datenbank 310 aktualisiert wurde, schreibt der BIOS-Verwalter Referenzen der BIOS-Bilder 370, die in der BIOS-Datenbank 310 aufgelistet sind, sowie die Klassifikation für die entsprechenden BIOS-Bilder 370, die in der BIOS-Datenbank 310 aufgelistet sind, in ein BIOS-Protokoll 350. Wie in 3 dargestellt ist, listet das BIOS-Protokoll 350 BIOS-Bilder 1, 2, 3, 4, 5, 6, 7 und 8 auf. Ferner listet das BIOS-Protokoll 350 die Klassifikationen von BIOS-Bildern 370 auf, nachdem zumindest zwei Klassifikationen der BIOS-Bilder 370 aktualisiert wurden. Wie in 3 gezeigt ist, reflektiert das BIOS-Protokoll 350, dass das BIOS-Bild 3 als C (current; aktuell) neu klassifiziert wurde, BIOS-Bild 1 als P (previous) neu klassifiziert wurde und BIOS-Bild 4 als De (delete) neu klassifiziert wurde. Wie oben erwähnt wurde, ist das BIOS-Protokoll 350 durch ein Betriebssystem auf der Maschine 300 zugreifbar, um BIOS-Bilder 370 zu identifizieren, die ersetzt und/oder gelöscht werden sollen.
-
4 stellt eine Maschine 400 mit einem eingebetteten BIOS-Verwalter 410 und einem BIOS-Verwalter 410, der auf einem entfernbaren Medium gespeichert ist, dar, auf das durch die Maschine 400 gemäß einem Ausführungsbeispiel der Erfindung zugegriffen wird. Zu Zwecken dieser Beschreibung ist ein entfernbares Medium jegliche greifbare Vorrichtung, die die Anwendung zur Verwendung durch oder in Verbindung mit dieser Maschine enthält, speichert, kommuniziert oder transportiert. Wie oben erwähnt wurde, ist der BIOS-Verwalter 410 bei einem Ausführungsbeispiel Firmware, die in eine oder mehrere Komponenten der Maschine 400 als ROM eingebettet ist. Bei anderen Ausführungsbeispielen ist der BIOS-Verwalter 410 eine Softwareanwendung, die von einem Laufwerk, einer CD, einer Flash-Disk, einem Netzwerklaufwerk oder jeglichen anderen Form eines Computer-lesbaren Mediums gespeichert und zugegriffen wird, das mit der Maschine 400 gekoppelt ist.
-
5 ist ein Flussdiagramm, das ein Verfahren für eine BIOS-Bildverwaltung gemäß einem Ausführungsbeispiel der Erfindung darstellt. Das Verfahren von 5 verwendet eine Speicherungsvorrichtung, die für eine Maschine zugreifbar ist, BIOS-Bilder, die auf der Speicherungsvorrichtung gespeichert sind, und einen BIOS-Verwalter auf der Maschine.
-
Bei anderen Ausführungsbeispielen verwendet das Verfahren von 5 zusätzliche Komponenten und/oder Vorrichtungen zusätzlich zu oder anstelle von jenen, die oben angegeben wurden und in 1, 2, 3 und 4 dargestellt sind.
-
Der BIOS-Verwalter klassifiziert anfänglich BIOS-Bilder, die durch eine Maschine 500 zugreifbar sind. Wie oben erwähnt wurde, werden BIOS-Bilder basierend auf einem Status du/oder einer Stabilität des entsprechenden BIOS-Bildes klassifiziert. Bei einigen Ausführungsbeispielen werden die BIOS-Bilder basierend auf Daten der BIOS-Bilder klassifiziert. Bei einem Ausführungsbeispiel werden die BIOS-Bilder als neu, aktuell, korrupt, vorangehend und/oder Standard klassifiziert. Zusätzlich dazu, wie oben angegeben ist, greift der BIOS-Verwalter auf BIOS-Bilder zu, die auf einer Speicherungsvorrichtung gespeichert sind, die durch die Maschine zugreifbar ist. Nachdem die BIOS-Bilder klassifiziert wurden, wählt der BIOS-Verwalter eines der BIOS-Bilder aus, um ein aktuelles BIOS basierend auf einer Klassifikation von einem der BIOS-Bilder 510 zu ersetzen. Wie oben angegeben ist, wählt der BIOS-Verwalter ein BIOS-Bild aus, das als neu klassifiziert ist, beim Aktualisieren. Zusätzlich dazu wählt der BIOS-Verwalter ein BIOS-Bild, das als vorangehend und/oder Standard klassifiziert ist, beim Zurückkehren zu einem vorangehenden BIOS oder Wiederherstellen aus einem aktuellen BIOS aus, das als korrupt bestimmt ist.
-
Sobald ein BIOS-Bild ausgewählt wurde, überschreibt der BIOS-Verwalter das aktuelle BIOS durch das ausgewählte BIOS-Bild 520. Nachdem das aktuelle BIOS durch das ausgewählte BIOS-Bild ersetzt wurde, fährt der BIOS-Verwalter fort, die Klassifikation von zumindest zwei der BIOS-Bilder zu aktualisieren, wenn das aktuelle BIOS ersetzt ist 530. Bei einem Ausführungsbeispiel, wenn das ausgewählte BIOS-Bild eine Klassifikation als Standard hätte, fährt der BIOS-Verwalter fort, die Klassifikation des BIOS-Bildes, das als aktuell klassifiziert ist, von aktuell auf vorangehend, und das ausgewählte BIOS-Bild von Standard auf aktuell zu aktualisieren.
-
Der Prozess ist dann abgeschlossen oder der BIOS-Verwalter fährt fort, Klassifikationen von BIOS-Bildern zu verwalten und zu aktualisieren, wen ein aktuelles BIOS auf der Maschine ersetzt wird durch Wiederholen des Verfahrens, das in 5 offenbart ist. Bei einem Ausführungsbeispiel umfasst das Verfahren von 5 zusätzliche Schritte zusätzlich zu und/oder anstelle von jenen, die in 5 gezeigt sind.
-
6 ist ein Flussdiagramm, das ein Verfahren für eine BIOS-Bildverwaltung gemäß einem anderen Ausführungsbeispiel der Erfindung darstellt. Das Verfahren von 6 verwendet BIOS-Bilder, die für eine Maschine zugreifbar sind, eine Datenbank auf der Maschine, eine Signatur zum Verifizieren der BIOS-Bilder, ein BIOS-Protokoll zum Aufzeichnen von Änderungen bei der Klassifikation an den BIOS-Bildern und einen BIOS-Verwalter. Bei anderen Ausführungsbeispielen verwendet das Verfahren von 6 zusätzliche Komponenten und/oder Vorrichtungen zusätzlich zu und/oder anstelle von jenen, die oben angegeben wurden und in 1, 2, 3 und 4 dargestellt sind.
-
Wie in 6 dargestellt ist, klassifiziert der BIOS-Verwalter anfänglich BIOS-Bilder, die durch die Maschine 600 zugreifbar sind. Die BIOS-Bilder werden basierend auf einem Status und/oder einer Stabilität des entsprechenden BIOS-Bildes klassifiziert. Bei einem Ausführungsbeispiel wird den BIOS-Bildern die Klassifikation von zumindest einem der Gruppe gegeben, besehend aus: neu, aktuell, korrupt, vorangehend und/oder Standard. Bei anderen Ausführungsbeispielen werden die BIOS-Bilder basierend auf Daten der BIOS-Bilder klassifiziert. Wie oben erwähnt wurde, sind die BIOS-Bilder, die für die Maschine zugreifbar sind, in einer BIOS-Datenbank aufgelistet und organisiert. Zusätzlich dazu umfassen die BIOS-Bilder Anfangsblöcke, die konfiguriert sind, um die Klassifikation von entsprechenden BIOS-Bildern aufzulisten. Nachdem die BIOS-Bilder klassifiziert sind, tastet der BIOS-Verwalter nach einer Anfrage ab, ein aktuelles BIOS auf der Maschine 605 zu ersetzen. Wie oben erwähnt wurde, beim Abtasten und/oder Bestimmen, ob das aktuelle BIOS ersetzt werden soll, bestimmt der BIOS-Verwalter, ob ein Flag auf dem aktuellen BIOS gesetzt ist oder das aktuelle BIOS korrupt ist.
-
Wenn das aktuelle BIOS ein Aktualisieren-Flag gesetzt hat, fährt der BIOS-Verwalter fort, das aktuelle BIOS zu ersetzen und aktualisiert die Maschine mit einem BIOS-Bild, das als neu 610 klassifiziert ist. Wenn das aktuelle BIOS keine Aktualisieren-Flag gesetzt hat, bestimmt der BIOS-Verwalter zusätzlich, ob das aktuelle BIOS korrupt ist oder ein Wiederholen bzw. eine Rückkehr (Rollback) angefordert wurde. Wenn das aktuelle BIOS korrupt ist oder das aktuelle BIOS ein Wiederholen-Flag gesetzt hat, fährt der BIOS-Verwalter fort, zurück zu einem vorangehenden BIOS-Bild oder einem Standard-BIOS-Bild 620 zu kehren.
-
Zusätzlich dazu, wie oben erwähnt wurde, prüft bei einem Ausführungsbeispiel der BIOS-Verwalter zusätzlich eine Signatur des BIOS-Bildes, die verwendet wird, um das aktuelle BIOS 625 zu ersetzen. Wenn die Signatur des ausgewählten BIOS-Bildes nicht übereinstimmt, dann lehnt der BIOS-Verwalter die Auswahl des BIOS-Bildes ab und kehrt zum Bestimmen zurück, ob eine Anfrage zum Aktualisieren, Wiederholen und/oder Verfälschen ausgeführt wurde. Sobald der BIOS-Verwalter ein BIOS-Bild ausgewählt hat, das eine übereinstimmende Signatur aufweist, um das aktuelle BIOS zu ersetzen, fährt der BIOS-Verwalter fort, das aktuelle BIOS zu ersetzen und setzt ein Erfolg-Flag in dem neuen BIOS-Bild, klassifiziert als aktuell 630.
-
Ferner aktualisiert der BIOS-Bildverwalter die Klassifikation von zumindest zwei der BIOS-Bilder, wenn das aktuelle BIOS ersetzt wird 640. Wie oben erwähnt wurde, bei einem Ausführungsbeispiel, wenn bestimmt wurde, dass das aktuelle BIOS korrupt ist, fährt der BIOS-Verwalter fort, die Klassifikation des aktuellen BIOS auf korrupt zu ändern und das ausgewählte BIOS-Bild, das verwendet wird, um das korrupte BIOS-Bild zu ersetzen, auf aktuell zu ändern. Ferner zeichnet der BIOS-Verwalter eine Zusammenfassung der Aktualisierungen an Klassifizierungen, die an BIOS-Bildern an der Maschine ausgeführt wurden, in einem BIOS-Protokoll auf, nach dem Ersetzen des aktuellen BIOS und Aktualisieren von zumindest zwei Klassifizierungen 650. Der Prozess ist dann abgeschlossen oder der BIOS-Verwalter fährt fort, BIOS-Bilder zu verwalten durch Wiederholen des Verfahrens, das in 6 offenbart ist. Bei einem Ausführungsbeispiel umfasst das Verfahren von 6 zusätzliche Schritte zusätzlich zu und/oder anstelle von jenen, die in 6 gezeigt sind.
-
Durch Klassifizieren von BIOS-Bildern, die für eine Maschine zugreifbar sind, und Aktualisieren von Klassifizierungen von BIOS-Bildern, wenn ein aktuelles BIOS auf der Maschine aktualisiert, zurückgesetzt und/oder wiederhergestellt wurde, kann Zeit gespart werden und Stabilität und Komfort kann erhöht werden. Zusätzlich dazu, durch Verifizieren einer Signatur eines ausgewählten BIOS-Bildes vor dem Ersetzen des aktuellen BIOS und Schreiben der BIOS-Bilder und -Klassifizierungen in ein BIOS-Protokoll, kann Sicherheit und BIOS-Stabilität erhöht werden.