-
Gebiet der Erfindung
-
Die
Erfindung bezieht sich auf ein Computersystem. Im Besonderen bezieht
sie sich auf einen Computer, der in der Lage ist, sichere Hilfsprogramme
zu speichern und zu booten (hochzufahren), indem er dafür sorgt,
dass die sicheren Hilfsprogramme eine Plattenpartition zusammen
mit Ruhezustandsdaten (Stilllegungsdaten) gemeinschaftlich verwenden.
-
Hintergrund der Erfindung
-
Computerhersteller
versorgen Benutzer von Personalcomputern (PCs) fortgesetzt mit einem
anhaltenden Strom neuer Technologie und neuer Merkmale. Da jedoch
PCs immer komplexer werden, macht es der Druck auf dem Markt zwingend
erforderlich, dass deren Benutzung und Funktionsweise benutzerfreundlicher
wird. Wird dies getan, werden mehr Benutzer mit Computererfahrung
PCs kaufen, wodurch ein noch größerer Markt
geschaffen wird. Da Computerhersteller die Kosten für einen
PC nach unten geschraubt haben, nehmen zudem inzwischen mehr Benutzer
den PC als ein einfaches Gerät
und nicht als ein technologisches Wunder wahr. Diese veränderte Betrachtungsweise
bringt den Benutzer auch dazu, höhere
Erwartungen in Bezug auf Produktqualität und Programm- und Dateisicherheit
zu entwickeln. Die meisten Geräte
sind sehr zuverlässig und
bringen keinen sonderlichen Wartungsaufwand mit sich, was auch stets
der Ruf von PCs gewesen ist. Wenn Geräte doch versagen, ist der Benutzer oder
ein Servicetechniker gewöhnlich
in der Lage, dieses sehr schnell zu diagnostizieren und zu reparieren.
Computerhersteller arbeiten deshalb verstärkt daran, Hilfsprogramme bereitzustellen,
die entweder dahingehend Unterstützung
leisten, ein Auftreten von Ausfällen
in dem PC zu verhindern, oder, falls diese doch auftreten, den Benutzer
oder Servicetech niker dabei zu unterstützen, den PC schnell zu diagnostizieren
und zu reparieren.
-
Die
meisten PCs werden mit einer Software auf niedrigem Niveau, als
BIOS bezeichnet, ausgeliefert, die einen minimalen Satz an Selbsttests
bereitstellt, wenn der PC eingeschaltet oder rückgesetzt wird. Diese Selbsttests
wurden geschrieben, als der PC erstmals in den frühen 1980er
Jahren entworfen wurde, und wurden hauptsächlich zum Nutzen der Computerhersteller
und ihrer Serviceorganisationen durchgeführt. Aufgrund des begrenzten
Speicherungsraums in dem BIOS früher
PCs wurde lediglich ein kleiner Betrag von Selbsttesten durchgeführt. Die Computerhersteller
implementierten nur so viel Testen, wie erforderlich war, um einen
vollständigeren
diagnostischen Selbsttest auszuführen,
der unter Verwendung eines Diskettenlaufwerks in den PC geladen
wurde. Wegen der Komplexität
dieser vollständigen
diagnostischen Selbsttests waren sie im Allgemeinen für Benutzer
nicht verfügbar.
Wenn ein Benutzer nun die Erfahrung gemacht hat, dass ein PC nicht
ordnungsgemäß funktioniert,
musste daher der PC an das Servicecenter des Herstellers zurückgegeben
werden, oder ein Computertechniker musste in das Büro oder
Zuhause gerufen werden. Eine Schwierigkeit beim Bereitstellen vollständiger Selbsttestprogramme
an Benutzer war, dass die Selbsttestprogramme beschädigt werden
oder verloren gehen konnten, wenn sie in einem Diskettenformat bereitgestellt
wurden. Falls die Selbsttestprogramme auf einem PC eingesetzt wurden,
der nicht durch den Hersteller produziert worden war, konnte dies
auch bewirken, dass der PC von einem anderen Hersteller vollständig fehlfunktioniert
oder versagt. Die Kosten eines Eingliederns des Selbsttests in den
PC waren aufgrund der Menge von Speicher, die in dem begrenzten
BIOS erforderlich war, untragbar.
-
Zudem
hat die neue PC-Technologie bei den Benutzern für zusätzliche Bedenken bezüglich Zuverlässigkeit
und Dateisicherheit gesorgt. Mit dem Aufkommen einer Verfügbarkeit mehrerer
Betriebssysteme für
einen PC und ihrer berüchtigten
Aktualisierungszyklen konnten viele PCs aufgrund der Tatsache, dass
das BIOS die neuen Merkmale der Aktualisierung nicht bemerkt, nicht
aktualisiert werden, was somit eine Überalterung verursachte. Da
das BIOS in einem Integrierte-Schaltung-Chip gespeichert ist, konnte
das BIOS dieser PCs nicht aktualisiert werden. Bei den meisten der
frühen
PCs konnten die BIOS-Chips entweder gar nicht entfernt werden, oder
sie erforderten eine professionelle Entfernung und Installierung.
Neuere PCs haben programmierbare BIOS-Chips, jedoch erhöhen diese
Chips die Kosten des PCs und weisen eine hohe Ausfallrate auf, wenn
die BIOS-Aktualisierungsprozedur
nicht ordnungsgemäß ausgeführt wird
oder irgendein anderes Ereignis wie beispielsweise ein Leistungsabfall oder
plötzlicher
Leistungsanstieg während
des Programmierens auftritt.
-
Eine
zusätzliche
Sorge bezüglich
Zuverlässigkeit
und Dateisicherheit, die mit dem Wachstum der PC-Technologie geschaffen
wurde, ist der „Computervirus". Dieser Computervirus
ist in der Regel eine clever entworfenes Programm, geschrieben von Hightech-Witzbolden
oder -Saboteuren, um Schaden oder Chaos auf dem PC des Benutzers
zu verursachen. Es sind stets viele Viren im Umlauf, die bewirken,
dass bei dem PC eines Benutzers dessen Massenspeicherungsvorrichtung
wie beispielsweise eine Festplatte vollständig gelöscht wird. Es wurden Virusschutzprogramme
geschrieben und verkauft, die den Schaden, den diese Viren verursachen,
suchen, entfernen, bereinigen oder verhindern. Es wurden jedoch
neue Viren erzeugt, die nun ihrerseits die Virusprüfprogramme
suchen, angreifen und zerstören.
Die Urheber dieser Viren können
diese Gefahr ausüben, da
es wenig Schutz für
ein Programm auf einem PC gibt, der verhindert, dass ein anderes
auf dasselbe zugreift und es modifiziert.
-
In ähnlicher
Weise sind Benutzer auch mit Massenspeicherungsdateiverfälschung
und -zerstörung
konfrontiert, da PCs wenig oder gar keinen Sicherheitsschutz gegenüber unberech tigter
Verwendung und Spionage aufweisen. Selbst wenn PCs einen Passwortschutz
vorsehen, gibt es technische Experten, die die Fähigkeit haben, dieses begrenzte Sicherheitsschema
aufzubrechen oder zu umgehen. Viele neue Artikel haben über Computereinbrüche selbst
bei sicheren Militäranlagen
wie beispielsweise dem Pentagon oder dem CIA berichtet. Da eine
Berechtigungssicherheit durchgeführt
werden muss, bevor die Maschine das Betriebssystem bootet, ist es schwierig,
dem BIOS eine bessere Sicherheit hinzuzufügen. Eine kostenintensive aktuelle
Alternative ist es, eine kundenspezifische Schaltungsanordnung hinzuzufügen, die
ihren eigenen besonders codierten Mikroprozessor zu dem PC aufweist.
Ohne eine sichere Berechtigungstechnik mit niedrigen Kosten, bereitgestellt
durch den PC-Hersteller, ist der normale Benutzer jedoch einem erheblichen
Risiko durch moderne Hightech-Cyber-Diebe
ausgesetzt.
-
PC-Hersteller
müssen
daher ein Verfahren bereitstellen, durch das sie nicht nur einem
Benutzer versichern können,
dass sein PC in verschiedenen Aspekten zuverlässig arbeitet, sondern dass
er auch vor Produktüberalterung
und bösartigen
Viren sicher ist und seine Dateien vor einem unberechtigten Zugriff
sicher sind.
-
D1
beschreibt eine Technik, um zu ermöglichen, dass eine spezifische
Sequenz von Aktionen eine Anforderung eines Computersystempartitionscodes
auslöst.
Um jegliche Auswirkung auf Betriebssysteme zu verhindern, muss sich
der Code zum Unterstützen
der Funktion für
einen durch einen Benutzer ausgelösten Zugriff die das Systempartition
in den Nur-Lese-Speichern
(ROMs; ROM = read-only memory) auf dem System befinden. Die STRG-ALT-ENTF-Tastensequenz
wird verwendet, um einen Programmstart nach Unterbrechung (einen warmen
Neustart) zu erzeugen, der wiederum die Steuerung an den ROM-basierten
Code abgibt. Am Beginn des Programmstarts nach Unterbrechung reinitialisiert
POST ein Tastatur-BIOS. Dies ermöglicht es,
dass das System Tastenschläge
von der Tastatur annimmt, während
POST die nötigen
Aufgaben eines Programmstarts nach Unterbrechung durchführt. Wenn
die BIOS-Routinen eine STRG-ALT-INS-Tastensequenz während eines
Programmstarts nach Unterbrechung erfassen, wird ein Flag gesetzt,
das POST anweist, die Systempartition zu booten. Da die STRG-ALT-INS-Tastensequenz
lediglich während
eines Programmstarts nach Unterbrechung aktiviert wird, ist das
Zeitfenster, in dem der Benutzer die Sequenz eingeben kann, durch
ein Platzieren der Anzeigeeinrichtung auf der rechten Seite des
Videos anstelle der linken Seite bezeichnet.
-
Zusammenfassung
-
Gemäß der vorliegenden
Erfindung ist ein Computer und ein Programm zum Ändern einer Bootsequenz eines
Computers wie in den angehängten Patentansprüchen beansprucht
bereitgestellt.
-
Ein
Computer weist eine zentrale Verarbeitungseinheit, einen Speicher
und ein I/O-Untersystem auf. Das I/O-Untersystem ist mit einer Massenspeicherungsvorrichtung
mit einer ersten Partition und einer zweiten Partition, die einen
Ruhezustandsdatenspeicherungsbereich enthält, verknüpft. Die Massenspeicherungsvorrichtung
umfasst ferner eine Partitionstabelle, die anzeigt, dass die erste
Partition aktiv ist, um den Computer zu booten, und dass die zweite
Partition nicht aktiv ist. Der Computer weist auch eine Logik auf,
die das I/O-Untersystem verwendet, um auszuwählen, welche Partition zum
Booten des Computers verwendet werden soll. Der Speicher enthält ein Programm,
das auf die Logik zum Auswählen
der Partition anspricht und in der Lage ist, die Partitionstabelle
der Massenspeicherungsvorrichtung zu lesen und dieselbe so zu modifizieren, dass
die ausgewählte
Partition der CPU zum Booten des Computers als aktiv präsentiert
wird.
-
Kurze Beschreibung der Zeichnungen
-
1 veranschaulicht
ein Minimalblockdiagramm eines Personalcomputers.
-
2 veranschaulicht
die Massenspeicherungsorganisation für das bevorzugte Ausführungsbeispiel
der Erfindung.
-
3 ist
ein Flussdiagramm der bevorzugten Schritte, die erforderlich sind,
um eine in dem in 2 gezeigten bevorzugten Ausführungsbeispiel der
Erfindung verwendete Massenspeicherungsvorrichtung herzustellen.
-
4 ist
ein Flussdiagramm, das einen exemplarischen Bootprozess mit den
modifizierten Schritten des bevorzugten Ausführungsbeispiels der Erfindung
zeigt, der verwendet wird, um einen in 2 gezeigten
Personalcomputer mit einer modifizierten Ruhezustandsdatei zu booten.
-
5 ist
ein Flussdiagramm, das die exemplarischen Schritte zeigt, die erforderlich
sind, um ein Betriebssystem auf einem herkömmlichen MSDOS/Windows-Personalcomputer
anzuordnen und auf denselben zu laden.
-
6 ist
ein Flussdiagramm einer Unterroutine bei dem Ausweichausführungsbeispiel
der Erfindung, die die aus einer Partitionstabelle auf der Massenspeicherungsvorrichtung
gelesenen Daten modifiziert.
-
7A ist
ein Flussdiagramm einer Unterroutine bei einem Ausweichausführungsbeispiel
der Erfindung, die verwendet wird, um einen Zugriff auf eine Massenspeicherungsleseunterroutine
zu unterbrechen.
-
7B ist
ein Flussdiagramm einer Unterroutine in dem bevorzugten und Ausweichausführungsbeispiel
der Erfindung, die verwendet wird, um einen Statusindikator einzurichten.
-
7C ist
ein Flussdiagramm einer Unterbrechungsunterroutine, die zusammen
mit der Unterroutine von 7A und 7B in
dem Ausweichausführungsbeispiel
der Erfindung verwendet wird und verwendet wird, um von der Massenspeicherungsleseunterroutine
zurückgegebene
Ergebnisse aufzurufen und zu modifizieren.
-
Ausführliche Beschreibung der bevorzugten
und Ausweichausführungsbeispiele
-
Personalcomputer
(PC) enthalten in der Regel verschiedene Formen von Massenspeicherungsvorrichtungen
wie beispielsweise Festplatten, Diskettenlaufwerke, Compact-Disks
(CD) und digitale Video-Disks (DVD), um nur einige zu nennen. Diese Laufwerke
speichern Benutzersoftware wie beispielsweise Betriebssysteme (OS;
OS = operating system), Anwendungsprogramme und Dateien wie beispielsweise
Textverarbeitungsdokumente, Tabellenkalkulationen und Diagramme.
Der PC enthält auch
Systemsoftware auf niedriger Ebene, die als Grund-Eingabe/Ausgabe-System
(BIOS; BIOS = Basic Input/Output System) bekannt ist und in der Regel
in einem aktualisierbaren Speicher mit langsamer Geschwindigkeit
gespeichert ist und in einen Speicher mit hoher Geschwindigkeit
bewegt wird, wenn der PC gebootet wird. Wenn der PC zum ersten Mal
eingeschaltet wird, beginnt eine zentrale Verarbeitungseinheit (CPU;
CPU = Central Processing Unit) mit dem Verarbeiten von Instruktionen
(andernfalls als „Ausführen" bekannt) von einem
Satz von minimalen Diagnos tik- und Vorrichtungskonfigurationsroutinen,
die als Leistung-Ein-Selbsttest (POST; POST = Power-On Self-Test)
bezeichnet werden. Wenn der POST erfolgreich fertig gestellt wird, schreitet
das BIOS dann fort zum Anordnen und Booten (beginnt mit Laden und
Ausführen)
eines OS oder anderen bootfähigen
Programms unter Verwendung einer Massenspeicherungsvorrichtungssuchroutine.
-
Wie
im Vorhergehenden erwähnt,
sind die meisten in einem Computer enthaltenen Informationen auf
einer Massenspeicherungsvorrichtung gespeichert. Wenn es nicht anders
dargelegt ist, bezieht sich „Software", „Betriebssystem
(OS)", „Unterroutine" („Unterprogramm”) und „Programm" auf ausführbare Softwareprogramme,
während
sich „Daten" allgemein auf alle
Formen elektronischer Informationen einschließlich Software, Betriebssysteme,
Programme und durch Software erzeugte Dateien, Betriebssysteme und
Programme bezieht. In beiden Fällen
sind jedoch alle auf der Massenspeicherungsvorrichtung gespeichert. „Ausführen" bezieht sich auf das
Verarbeiten der CPU-Instruktionen. „Booten" bezieht sich auf den Prozess eines
Abgebens von Steuerung der CPU seitens des BIOS an ein Betriebssystem
oder Programm, das dann geladen und ausgeführt wird.
-
In
dem BIOS eines exemplarischen MSDOS/Windows-PCs ist die Massenspeicherungsvorrichtungssuchroutine
in der Regel programmiert, um das OS zuerst durch Suchen nach einer
Diskette und dann durch Durchsuchen einer Festplatte anzuordnen.
Diese Suchtechnik ermöglicht
es, dass der PC gebootet werden kann, wenn entweder die Festplatte versagt
hat oder ein anderes OS erwünscht
ist. Aufgrund einer Steigerung bei der Menge von Speicherung, auf
die in Massenspeicherungsvorrichtungen, die heutzutage in einem
PC konfiguriert sind, zugegriffen werden kann, kann es sein, dass
ein Benutzer mehrere OS auf die Massenspeicherungsvorrichtung geladen
hat. Es können
verschiedene Techniken implementiert werden, um ein Auswählen aus
mehreren Betriebssystemen, die sich zum Bootzeitpunkt auf der Massenspeicherungsvorrich tung
befinden, zu ermöglichen.
Typische OS, die sich auf einem PC finden, umfassen MS-DOS, Windows
95/98, Windows 2000 (NT), Unix, Novell Dos und Linux, um nur einige zu
nennen. Zudem wurde ein Suchen nach CD-ROMs, DVDs und anderen Auswechselbare-Medien-Massenspeicherungsvorrichtungen
sowie nach entfernbaren Laufwerken wie beispielsweise PCMCIA und
Kartenbus-Flash-Karten, um nur einige zu nennen, in die Massenspeicherungsvorrichtungssuchroutine
aufgenommen. Diese Auswechselbare-Medien-Laufwerke und entfernbaren Laufwerke sind
derart formatierbar, dass auch sie bootfähige Massenspeicherungsvorrichtungen,
wie beispielsweise die Festplatten- und Diskettenlaufwerke, sein können.
-
Somit
kann ein PC mehrere Massenspeicherungsvorrichtungen aufweisen, die
an demselben angebracht sind, um mehrere Betriebssysteme, Programme
oder Daten zu speichern. Jedoch muss die Massenspeicherungsorganisation
bekannt sein, um zu beschreiben, wie man auf die Programme oder Daten
auf den Massenspeicherungsvorrichtungen zugreift. Physikalisch sind
die meisten Massenspeicherungsvorrichtungen unter Verwendung der
Terminologie von Festplattenlaufwerken organisiert. Festplatten
weisen in der Regel zumindest eine Platte zum Speichern von Programmen
oder Daten auf. Jede Platte ist in eine Anzahl konzentrischer Speicherungseinheiten,
die als Spuren bezeichnet werden, aufgeteilt. Eine Spur ist weiter
in Sektoren aufgeteilt. Auf jede Platte wird durch einen oberen
Lesekopf und einen unteren Lesekopf zugegriffen, die Daten auf die
Festplatte schreiben und aus derselben lesen. Logisch kann eine
Festplatte in Partitionen aufgeteilt sein, wobei jede Partition
einen Betrag an Speicherung aufweist, der zu dem Zeitpunkt einer
Erzeugung der Partition auswählbar
ist, solange das Aggregat des Speicherungsbereichs aller Partitionen die
Speicherungskapazität
der Festplatte nicht übersteigt.
Beispielsweise kann eine einzelne 8-MB-Festplatte drei Partitionen
aufweisen, die logisch mit C: mit 4 MB Speicherung, D: mit 3 MB
und E: mit 1 MB benannt sind. Partitionen lassen sich für Adressierungszwecke
weiter in Spuren, Zylinder und Sektoren unterteilen. Unter dem MS-DOS/Windows-FDISK-Hilfsprogramm,
das durch Microsoft geliefert wird, kann beispielsweise ein PC bis
zu vier Plattenpartitionen unterschiedlicher Typen und Größen aufweisen.
Die unterschiedlichen Typen können MS-DOS/Windows-Typen
wie beispielsweise FAT12, FAT16, FAT32 oder andere MS-DOS/Windows-Typen
sein, was somit ermöglicht,
dass mehr als ein OS auf derselben Festplatte installiert werden
kann. Auch sind zusätzliche
Plattenpartitionen für
zukünftige
Verwendungen reserviert. Eine dieser reservierten Partitionen wurde
dazu bestimmt, zum Speichern der Inhalte des PC-Speichers während eines
Schlafzustands (sleep state) des PC verwendet zu werden. Dieser
Schlafzustand wird oft als „Ruhezustand-Modus" oder alternativ
Auf-die-Platte-Speichern-Modus" bezeichnet.
Der Ruhezustand-Modus ermöglicht
es dem PC, Leistung zu sparen, indem er sich in einem Aus-Zustand
befindet, jedoch das Betriebsumfeld des Benutzers aufrechterhält, bevor
er in diesen Schlafzustand eintritt. Wenn der PC aus dem Ruhezustand-Modus heraus wieder
eingeschaltet wird, wird der PC auf das vorherige Betriebsumfeld
wiederherstellt, womit Boot-Zeit reduziert wird. Üblicherweise
wird eine Partition auf einer Massenspeicherungsvorrichtung in dem
PC verwendet, um den Speicher des PC zu speichern, und diese „Ruhezustand-Partition" ist so beschaffen,
dass sie nicht bootfähig
ist und vor dem Betriebssystem verborgen ist, so dass es nicht möglich ist,
auf dieselbe zuzugreifen oder sie zu verfälschen. Da die Steuerung der
PC-Leistungszustände
in der Regel durch das BIOS gehandhabt wird, erkennt lediglich der
BIOS-Code, wie auf die Datenbereiche einer Ruhezustand-Partition zugegriffen
werden kann und dieselben ausgelesen und geschrieben werden können.
-
Jede
Festplatte weist eine einzelne Partitionstabelle auf, die Informationen
enthält,
die sich auf die Größe, den
Typ und die Position von Plattenpartitionen beziehen. Die Partitionstabelle
ist in der Regel auf dem ersten Sektor der ersten Spur unter dem ersten
Lesekopf aufgezeichnet.
-
Die
Partitionstabelle wird üblicherweise
auch als die Hauptbootaufzeichnung (MBR; MBR = Master Boot Record)
bezeichnet. Der Zweck einer Boot-Aufzeichnung ist es, den Systembetrieb
des PCs für
die kurze Zeitspanne, in der noch nicht das gesamte Betriebssystem
in den Speicher geladen worden ist, zu steuern. Die Boot-Aufzeichnung
sorgt dafür,
dass das Betriebssystem aus der Massenspeicherungsvorrichtung geladen
werden kann. Wenn der PC eingeschaltet wird, lädt das BIOS die Partitionstabelle oder
die MBR in den Speicher und überträgt die Steuerung
auf dieselbe. Der Code in der MBR ortet wiederum die derzeit auswählbare bootfähige Partition und
lädt dann
die Boot-Aufzeichnung dieser Partition und überträgt die Steuerung auf dieselbe.
Da die Partitionstabelle sich nicht innerhalb eines logischen Laufwerks
befindet und da die meisten OS lediglich mit logischen Laufwerken
umgehen, kann auf diese Aufzeichnung der Massenspeicherungsvorrichtung durch
das OS und somit den Benutzer nicht ohne eine spezielle Software
zugegriffen werden.
-
Da
Massenspeicherungsvorrichtungen ihre Kapazität zum Speichern von Daten erhöht haben, wurden
mehr BIOS für
verschiedene Betriebssysteme wie beispielsweise insbesondere MS-DOS/Windows
modifiziert, um ein Partitionieren des Massenspeicherungsvorrichtungsspeicherungsraums
in verschiedene Partitionen zu erlauben. Zudem liefert die erhöhte Datenspeicherungskapazität der Massenspeicherungsvorrichtungen
die Gelegenheit für
PC-Hersteller oder Wiederverkäufer,
eine Partition in den Massenspeicherungsvorrichtungen mit nützlichen
Hilfsprogrammen vorzuladen, um neue Merkmale oder Funktionalität ihrer
Produkte bereitzustellen. Jedoch ergeben sich bei PCs mit einer
Ruhezustand-Partition
Schwierigkeiten für PC-Hersteller,
die diese zusätzliche
Funktionalität hinzufügen möchten. Beispielsweise
können
bei einem PC mit MS-DOS/Windows, der das FDISK-Plattenpartitionierungshilfsprogramm
verwendet, lediglich vier Partitionen auf der Massenspeicherungsvorrichtung
bestehen. Es sei darauf hingewiesen, dass, wenn eine bootfähige Betriebssystempartition
und eine Ruhezustand-Partition jeweils eine der vier Partitionen
belegen, lediglich zwei verbleibende Partitionen verfügbar sind.
Wenn spezielle Hilfsprogramme durch den PC-Hersteller in eine der
zwei verbleibenden Partitionen platziert werden, würde lediglich
eine Partition für
den Benutzer übrig bleiben,
die er nach Wunsch beladen kann. Ferner könnte es passieren, dass die
speziellen Hilfsprogramme durch den Benutzer gelöscht oder durch ungeeignete
Software oder Computerviren verfälscht werden.
Es besteht somit ein Bedarf nach speziellen Systemhilfsprogrammen,
die sicher auf die Massenspeicherungsvorrichtung geladen werden.
Die speziellen Systemhilfsprogramme dürfen für den Benutzer nicht verfügbar sein
und müssen
vor möglicher
Verfälschung
durch Software-Fehlverhalten oder Viren geschützt werden, ohne dass eine
zusätzliche
Partition auf der Massenspeicherungsvorrichtung verwendet werden
muss.
-
1 ist
ein Blockdiagramm, das die Hauptkomponenten eines Personalcomputers
(PC) 10 darstellt, der die bevorzugten und Ausweichausführungsbeispiele
der Erfindung implementiert. Eine zentrale Verarbeitungseinheit
(CPU) 40 ist mit einem Cache-Speicher 42 und einem
Hostbus 24 zu einer Speichersteuerung 20 verknüpft. Die
Speichersteuerung 20 wird verwendet, um das System-RAM 22 schnittstellenmäßig mit
der CPU 40 zu verbinden. Die CPU in einem MS-DOS/Windows-PC ist
in der Regel ein Pentium-, Pentium-II-, Celeron-, Xeon-, Merced- oder
McKinley-Prozessor, hergestellt durch Intel, oder ein durch AMD
oder National Semiconductor hergestellter gleichwertiger Klon, um
lediglich einige zu nennen. Den Fachleuten auf dem Gebiet ist bewusst,
dass auch andere CPU-Architekturen wie beispielsweise ein MacIntosh
PowerPC von Apple und ein Sparc-Prozessor von Sun Microsystems bestehen
und nach wie vor den Schutzbereich der Erfindung erfüllen. Das
System-RAM 22 ist in der Regel ein Speicher vom Typ DRAM,
synchrones DRAM, SRAM oder RAMBUS, es können jedoch auch andere Typen
verwendet werden und nach wie vor den Schutzbereich der Erfindung erfüllen. Der
Cache 42, der an die CPU 40 angebracht ist, wird
in der Regel direkt durch die CPU 40 gesteuert, um Hochgeschwindigkeitszugriff
zu ermöglichen.
Der Hostbus 24 kann die Standardbusschnittstelle der CPU 40 sein
oder kann ein herkömmlicher
Busstandard wie beispielsweise PCI sein. Der Hostbus 24 wird
auch verwendet, um eine Schnittstelle mit anderen Hochgeschwindigkeitsvorrichtungen
wie beispielsweise Graphikanzeigen (nicht gezeigt) und Netzschnittstellen
(nicht gezeigt) zu bilden. Die CPU 40 bildet in der Regel
eine Schnittstelle mit langsameren Vorrichtungen unter Verwendung
eines I/O-Busses 28, der in der Regel unter Verwendung
einer Bussteuerung 26 mit dem Hostbus 24 verknüpft ist.
Ein langsamerer Speicher ist üblicherweise
mit diesem I/O-Bus 28 verknüpft, so dass Zugriffe auf die
langsameren Vorrichtungen nicht verhindern, dass die CPU 40 auf
die Hochgeschwindigkeitsvorrichtungen auf dem Hostbus 24 zugreifen
kann. Langsamere Speichervorrichtungen, die in der Regel in PCs
verwendet werden, umfassen Nicht-Flüchtige-Daten-
und Status-Speicherung wie beispielsweise einen CMOS-32-Speicher
und eine BIOS 14, die in einer Vorrichtung wie beispielsweise
einem ROM, EEPROM oder Flash gespeichert ist, um lediglich einige
zu nennen. Der Cache 42, das System-RAM 22, das
CMOS 32 und das BIOS 14 werden in der Regel als
der „Speicher" 12 der
CPU bezeichnet. Wenn der PC eingeschaltet oder rückgesetzt wird, werden in dem
BIOS 14 gespeicherte CPU-Instruktionen ausgeführt, und
die Inhalte des BIOS 14 werden bevorzugt in einen Bereich des
System-RAM 22 übertragen,
um zu ermöglichen, dass
die CPU 40 schneller ausführen kann. Das BIOS 14 enthält zwei
wichtige Programme, die in Verbindung mit der Erfindung verwendet
werden, und zwar einen Leistung-Ein-Selbsttest-16-Code (POST-16-Code) und eine Plattenleseunterroutine wie
beispielsweise die Routine, auf die in einem MS-DOS/Windows-Computer durch eine mit
INT 13H bezeichnete Softwareunterbrechungsbehandlungsroutine zugegriffen
wird. Gewöhnlich
ist bei den meisten PCs die Massenspeicherungsvorrichtung 30 mit
dem I/O-Bus 28 verbunden. Den Fachleuten auf dem Gebiet
ist bewusst, dass sich Massenspeicherungs vorrichtungen manchmal
auch auf dem Hostbus 24 finden und trotzdem den Schutzbereich
der Erfindung erfüllen.
Die Massenspeicherungsvorrichtung 30 kann eine oder mehrere
Diskettenlaufwerke, Festplattenlaufwerke, CD-ROM-Laufwerke, DVD-Laufwerke
oder andere spezialisierte Massenspeicherungsvorrichtungen wie beispielsweise
PCMCIA- und Kartenbusplattenlaufwerke sowie einen Festkörperspeicher
umfassen. Der I/O-Bus 28 ermöglicht es auch, dass die CPU
mit anderen I/O-Vorrichtungen 34 zum Empfangen einer Eingabe
wie bevorzugt von einer Tastatur 36 oder anderen Eingabevorrichtungen
wie beispielsweise einer Maus, einem Trackpoint, einem Stift oder
einem Berührungsfeld, um
nur einige zu nennen, verknüpft
werden kann.
-
2 ist
ein Diagramm, das das bevorzugte Ausführungsbeispiel für das Formatieren
einer Massenspeicherungsvorrichtung 30 für einen
Personalcomputer 10 veranschaulicht, die zumindest zwei Partitionen
aufweist: eine bootfähige
OS-Partition 48 und
eine Ruhezustand-Partition 50. Die Massenspeicherungsvorrichtung 30 enthält in ihren
Medien eine herkömmliche
Partitionstabelle 44, die verwendet wird, um die Startposition,
die Endposition, die Größe und den
bootfähigen
Zustand jeder Partition zu beschreiben. Die Startposition jeder
Partition ist auch die Position einer Boot-Aufzeichnung 46 jeder
Partition, die einen Code enthält,
um zu ermöglichen,
dass der Computer 10 aus jeder entsprechenden Partition auf
der Massenspeicherungsvorrichtung 30 booten kann. Die Endposition
jeder Partition ist die letzte Sektorposition auf der Massenspeicherungsvorrichtung,
die durch die entsprechende Partition verwendet wird. Jede Partition
ist ein zusammenhängender Satz
von Sektoren, der mit der Partition-Boot-Aufzeichnung 46 beginnt
und an dem letzten Sektor endet. Für die bootfähige OS-Partition 48 ist
der letzte Sektor als ein letzter OS-Partition-Sektor 52 gezeigt, und
für die
Ruhezustand-Partition 52 ist
der letzte Sektor als ein letzter Ruhezustand-Sektor 54 gezeigt.
-
Beim
Booten muss das BIOS 14 bestimmen, welche Partition auf
einer Massenspeicherungsvorrichtung zum Booten des PC verwendet
werden soll. Beispielsweise gibt es auf einem konventionellen MS-DOS/Windows-PC
bis zu vier Partitionen, die auf der Festplatte erlaubt sind, wenn
der Benutzer das FDISK-Hilfsprogramm verwendet, um die Festplatte zu
partitionieren. Lediglich eine dieser Partitionen darf als aktiv
oder „bootfähig" eingestellt sein.
Das BIOS 14 lädt
die Hauptbootaufzeichnung (MBR) aus der Partitionstabelle und übergibt
die Steuerung an dieselbe. Die MBR wählt wiederum die „bootfähige" Partition, wie in
der Partitionstabelle angezeigt, aus, um das Betriebssystem zu laden.
Die Ruhezustand-Partition 50 wird durch das BIOS 14 verwendet,
um die Inhalte des Speichers des PC zu sichern, wenn der PC 10 ausgeschaltet
wird oder in einen Schlafzustand versetzt wird. Dieser Ruhezustand-Modus
wird verwendet, um es zu ermöglichen, dass
der PC 10 schnell zu dem Zustand zurückkommt, in dem der Benutzer
den PC 10 gelassen hat, bevor er ihn ausgeschaltet hat.
Diese Technik minimiert den Zeitbetrag, der dem Benutzer abverlangt wird,
um darauf zu warten, dass der PC 10 bootet, und den der
Benutzer benötigt,
um den PC 10 wieder in den Zustand zu rekonfigurieren,
in dem der Benutzer auf dem PC 10 gearbeitet hat. Die Ruhezustand-Partition 50 wird
zum Booten als inaktiv angezeigt und ist durch Verwenden eines reservierten Typs
einer Partition, die nicht durch das Betriebssystem unterstützt wird,
vor dem Betriebssystem verborgen (d. h. nicht verfügbar).
-
Die
Ruhezustand-Partition 50 der Erfindung ist eine modifizierte
Ruhezustand-Partition in Bezug auf herkömmliche PCs, und zwar dahin
gehend, dass die modifizierte Ruhezustand-Partition einen sicheren bootfähigen Hilfsprogrammbereich 56 in
den Ruhezustand-Datenspeicherungsbereich eingliedert. Der aktive
bootfähige
Zustand für
diese modifizierte Ruhezustand-Partition 50 ist nach wie
vor auf nicht aktiv oder „nicht
bootfähig" eingestellt, wie
es auch bei der Ruhezustand-Partition in herkömmlichen PCs der Fall ist.
Der aktive bootfähige
Zustand für
die bootfähige
OS-Partition 48, die ein bootfähiges Programm 66,
wie beispielsweise ein Betriebssystem, umfasst, ist nach wie vor
auf aktiv oder „bootfähig" eingestellt, wie
es bei einem herkömmlichen
PC der Fall ist. Durch Aufnehmen des bootfähigen Hilfsprogrammbereichs 56 in
den Ruhezustand-Datenspeicherungsbereich
bleiben die zwei verbleibenden Schlitze in der Partitionstabelle 44 entweder
für erweiterte
Dateisysteme oder alternative Betriebssysteme und ihre entsprechenden
Dateisysteme verfügbar.
Da jedoch der bootfähige
Hilfsprogrammbereich 56 in der Partitionstabelle als nicht
bootfähig
markiert ist, ist das bootfähige
Hilfsprogramm nicht in der Lage, unter Verwendung des normalen Bootprozesses zu
booten und ist für
den Benutzer nicht verfügbar, wodurch
unabsichtliche Löschung,
Verfälschung
und Modifikation verhindert wird.
-
Da
lediglich durch das BIOS auf diese Ruhezustand-Partition 50 zugegriffen
werden kann, wird ein Benutzer oder fehlagierende Software daran
gehindert, das Hilfsprogramm zu manipulieren, zu ändern oder
zu entfernen, wodurch eine Sicherheit vorgesehen wird. Bei einem
Ausführungsbeispiel
halten die ersten paar Megabyte der Ruhezustand-Partition 50 einen
Abschnitt des bootfähigen
Hilfsprogrammbereiches 56 mit einem einfachen OS (beispielsweise
MSDOS) und den Hilfsprogrammen und jeglichen erforderlichen zugehörigen Dateien.
Alternativ ist ein eigenständiges
bootfähiges
Hilfsprogramm ohne ein Betriebssystem in der Ruhezustand-Partition 50 gespeichert.
Der Ruhezustand-Datenspeicherungsbereich 51 befindet
sich in der Ruhezustand-Partition 50 nach dem Ende des
bootfähigen
Abschnitts. Diese modifizierte Ruhezustand-Partition 50 ist
eigentlich in den bootfähigen
Hilfsprogrammbereich 56 und den Ruhezustand-Datenspeicherungsbereich 51 unterteilt.
Die modifizierte Ruhezustand-Partition 50 ist nach wie
vor in der Partitionstabelle als nicht bootfähig angezeigt. Bei einem Ausführungsbeispiel
ruft ein Benutzer das Hilfsprogramm zur Bootzeit des PC vorzugsweise
unter Verwendung einer Schnelltaste wie beispielsweise F10 auf.
Andere Eingabesequenzen in den PC könnten verwendet werden, um
das Hilfsprogramm aufzurufen, die nach wie vor den Schutzbereich
der Erfindung erfüllen.
-
Verschiedene
unterschiedliche Typen von Anwendungen eignen sich zur Verwendung
und wenden diese sichere Speicherung des Hilfsprogramms an. Ein
Beispiel ist ein voll funktionales diagnostisches Selbsttestprogramm,
das ein weiter in die Tiefe gehendes Testen der Hardware und ein
besseres Berichten von Ausfällen
bereitstellt als die POST-Routine. Hat man einen diagnostischen
Test, der ein hohes Niveau an Vertrauen in ein Erfassen und Berichten
von Hardwareausfällen
bereitstellt, zur Verfügung,
ist dies eine große
Annehmlichkeit für
Benutzer und PC-Hersteller. Benutzer haben oft Schwierigkeiten darin,
zu bestimmen, ob ein gegebenes Problem ein Hardwaredefekt, eine
Computerfehlkonfiguration oder ein Softwareprogrammfehler ist. Liegt
ein Hardwaredefekt vor, muss er zur Reparatur an den Hersteller
zurückgegeben
werden, was die Verwendung des PCs durch den Benutzer beeinträchtigt.
Ferner muss der Hersteller, wenn die Reparatur durch Garantie abgedeckt
ist, für
das Testen, Diagnostizieren und Reparieren des Computers aufzukommen. Wenn
das diagnostische Selbsttestprogramm dem Benutzer versichern kann,
dass der Computer korrekt funktioniert, so spart der Hersteller
Geld und der Benutzer spart es sich, den Computer zur Wartung zurückgeben
zu müssen.
-
Eine
weitere Anwendung, die in der Lage ist, die Erfindung zum Vorteil
zu nutzen, ist ein BIOS-Aktualisierungsprogramm.
Um Kosten zu senken, wird eine nicht programmierbare Speichervorrichtung
wie beispielsweise ein maskiertes ROM oder ein Nur-Programmierbares-ROM
(PROM) verwendet, um ein Minimal-BIOS in dem PC zu fassen. Ein voll funktionales
BIOS ist in dem bootfähigen
Hilfsprogrammbereich 56 der Ruhezustand-Partition 50 gespeichert.
Auf ein Booten hin lädt
das Minimal-BIOS das auf der Ruhezustand-Partition 50 der
Massenspeicherungsvorrichtung 30 gespeicherte BIOS in das
DRAM und übergibt
dann die Steuerung an das in das DRAM geladene BIOS. Es wird ein
gesondertes Programm bereitgestellt, das es dem Benutzer ermöglicht,
das auf der Massenspeicherungsvorrichtung gespeicherte BIOS zu aktualisieren.
-
Wenn
der Benutzer mehrere Betriebssysteme auf der Platte gespeichert
hat, kann es manchmal erwünscht
sein, über
eine inaktive Hilfspartition zu verfügen, die unter Verwendung einer
Verschlüsselung/Entschlüsselung
weiter gesichert ist, um zu verhindern, dass ein in ein OS implantierter
Virus auf in einer Partition, die in weiteres OS fasst, gespeicherte Daten
zugreift und dieselben angreift. Es ist erwünscht, dass die Verschlüsselungs-/Entschlüsselungs-Routine auf dem PC
in einer Weise verfügbar ist,
dass der Benutzer nicht in der Lage ist, sie zu verfälschen oder
zu modifizieren, und derart, dass sie in der Lage ist, direkt an
den Daten der Massenspeicherungsvorrichtung wirksam zu sein, ohne
dass sie durch das Betriebssystem des Benutzers geladen werden muss,
was dasselbe für
Virusprogramme öffnen
könnte,
die es beeinträchtigen
würden.
Die Erfindung stellt lediglich ein sicheres Verfahren bereit, durch
das ein Verschlüsselungs-/Entschlüsselungs-Programm
in der Ruhezustand-Partition 50 gespeichert und verborgen
wird und durch den Benutzer oder einen Systemadministrator zur Bootzeit
aufgerufen wird, um Partitionen auf der Massenspeicherungsvorrichtung
zu verschlüsseln
oder zu entschlüsseln.
-
Ein ähnlicher
Ansatz, wie er zur Verschlüsselung/Entschlüsselung
verwendet wird, ermöglicht auch
ein sicheres Hilfsprogramm, das spezielles Virusprüfen und
Dateireparatur bereitstellt. Da sich die Virusprüfsoftware in der Ruhezustand-Partition 50 befindet
und für
den Benutzer oder mögliche
Viren nicht verfügbar
ist, ist sie immuner gegen ein mögliches
Eindringen.
-
Eine
weitere Anwendung für
den durch die Erfindung bereitgestellten sicheren Hilfsprogrammraum
ist es, ein sicheres Hilfsprogramm automatisch durch das BIOS 14 folgend
auf das Booten aufzurufen, um ein Benutzerberechtigungsprogramm
bereitzustellen, das einen sichereren Passwortschutz bereitstellt
als er üblicherweise
in einem derzeitigen PC-BIOS
vorgefunden wird. Die meisten BIOS sind bezüglich des verfügbaren Coderaumbetrags
begrenzt. Durch die Fähigkeit
zum Booten und Laden eines sicheren Programms können zusätzliche Sicherheitsberechtigungsprotokolle
wie beispielsweise eine Stimmenerkennung unter Verwendung eines
Mikrophons in dem Computer und eine Unterschriftenerkennung unter
Verwendung eines Berührungsfelds
in dem Computer, um nur zwei zu nennen, implementiert werden.
-
3 ist
ein Blockdiagramm des Prozesses, der verwendet wird, um unter Verwendung
der neu formatierten Ruhezustand-Partition 50 eine
Massenspeicherungsvorrichtung 30 zu erzeugen. In Block 170 wird
die erste Partition formatiert, um ein bootfähiges Betriebssystem wie beispielsweise MS-DOS/Windows und sein
entsprechendes Dateisystem zuzulassen. Anschließend wird in Block 172 die
Massenspeicherungsvorrichtung 30 formatiert, um über eine
zweite Partition zu verfügen,
um einen Ruhezustand-Datenspeicherungsbereich zuzulassen, der eine
Reservierung einer großen
Anzahl aufeinander folgender Plattensektoren ist. In Block 174 wird
bei der Massenspeicherungsvorrichtung 30 die zweite Partition
reformatiert, um einen Abschnitt aufzunehmen, der einen bootfähigen Hilfsprogrammbereich 56 umfasst,
der nicht als aktiv markiert ist und somit „nicht bootfähig" ist. Da das BIOS 14 die
einzige Software ist, die Daten in den Ruhezustand-Datenspeicherungsbereich
schreibt und aus demselben liest, wenn sie in den Ruhezustand-Modus
ein- und aus demselben austritt, kann die Startadresse für den Ruhezustand-Datenspeicherungsbereich
ohne weiteres eingestellt werden. Der Nettoeffekt für den Benutzer
ist, dass die Ruhezustand-Partition 50 zusätzliche
Sektoren enthält,
die den bootfähigen
Hilfsprogrammbereich 56 eingliedern, und dass lediglich
diese Sektoren für
die zwei zusätzlichen
Partitionen zur Speicherungsverwendung nicht verfügbar sind.
Da die modifizierte Ruhezustand-Partition 50 als inaktiv oder
für das
bootfähige
Betriebssystem nicht erreichbar markiert ist, muss das BIOS 14 modifiziert
werden, um das Hilfsprogramm aufzurufen und auszuführen.
-
4 ist
ein Blockdiagramm einer beispielhaften Bootsequenz für ein PC-BIOS
unter Verwendung einer MS-DOS/Windows-Architektur,
die das bevorzugte Ausführungsbeispiel
der Erfindung implementiert. Zuerst wird in Block 100 der
Computer erstmals eingeschaltet oder die CPU 40 rückgesetzt.
Das BIOS 14 führt
dann beliebige Inbetriebnahmeroutinen aus, die für die bestimmten elektronischen
Chipsätze
erforderlich sind, um sie ordnungsgemäß zu konfigurieren, bevor der
Ursprung der Rücksetzung in
Block 102 wiedererlangt wird. In Block 104 wird
die Rücksetzung
geprüft,
um zu sehen, ob die CPU aus dem geschützten Modus genommen werden
soll. Falls dies der Fall ist, fährt
der Programmablauf zu Block 106 fort, der einen Realmodus
wiederherstellt, und anschließend
springt das BIOS 14 zu Block 126, um die Steuerung
an ein zuvor geladenes Betriebssystem zurückzugeben. In Block 108 wird
durch Prüfen
eines Ruhezustand-Bits die Quelle der Rücksetzung geprüft, um zu
sehen, ob der PC 10 aus dem Ruhezustand-Modus kommen soll.
Falls dies der Fall ist, schreitet der Programmablauf zu Block 109 fort, wo
die zuvor in der Ruhezustand-Partition 50 auf
der Massenspeicherungsvorrichtung 30 gespeicherten Daten
gelesen und in das System-DRAM 22 geschrieben werden, und
anschließend
wird die Steuerung an das wiederhergestellte Betriebssystem zurückgegeben.
In Block 112 wird der CMOS 32 geprüft, um zu
sehen, ob ein vollständiges
POST-Kaltbooten durchgeführt
werden muss. Falls dies der Fall ist, wird dann in Block 110 ein
vollständiger POST-Test
durchgeführt,
um verschiedene Systemfunktionen vollständig zu konfigurieren und zu
testen. Wenn ein vollständiges
POST-Kaltbooten nicht durchgeführt
werden soll, fährt
der Programmablauf zu Block 113 und anschließend zu
Block 114 fort, wo eine kurze POST-Sequenz durchgeführt wird,
um das Einrichten des Systems abzuschließen.
-
Block 113 löscht einen
Statusindikator, der vorzugsweise unter Verwendung eines Statusbits
in dem CMOS-Speicher 32 implementiert wird. Der kurze POST
des Blocks 114 enthält
einen speziellen Code, der es dem Benutzer des PC 10 ermöglicht,
dem BIOS 14 anzuzeigen, dass das bootfähige Hilfsprogramm 56 anstelle
des Betriebssystems in der bootfähigen
OS-Partition 48 geladen werden sollte. In verschiedenen
Intervallen während
des kurzen POST-Tests des Blocks 114 prüft ein Entscheidungsblock 116,
ob eine vorbestimmte Eingangssequenz durch den Benutzer eingegeben
worden ist. Bei einem Ausführungsbeispiel
ist diese Eingangssequenz das Drücken
der Taste F10 auf der Tastatur 36. Wenn die Eingangssequenz
erkannt wird, wird der Statusindikator in Block 118 gesetzt,
andernfalls fährt
der kurze POST-Test des Blocks 114 in seiner Operation fort.
-
Nach
dem kurzen POST in Block 114 in einem Ausweichausführungsbeispiel
der Erfindung fährt
der Programmablauf zu einer optionalen Routine (siehe 7A)
fort, die in Block 115 Aufrufe an eine Massenspeicherungslesefunktion
des BIOS (beispielsweise INT 13H in einem MSDOS-PC) „unterbricht". Das Programm beginnt
dann in Block 120 mit dem Laden des Betriebssystems. Wenn
das Betriebssystem geladen wird, werden mehrere Programmaufrufe
an die BIOS-Massenspeicherungsleseroutine
gemacht, um zu bestimmen, welche Partition aus der Massenspeicherungsvorrichtung
gebootet werden soll. Diese BIOS-Massenspeicherungsroutine wird
dann in den bevorzugten und Ausweichausführungsbeispielen (siehe 6 und 7C) modifiziert,
um Leseoperationen aus der Partitionstabelle der Massenspeicherungsvorrichtung
zu erfassen und zu ändern,
wie es in Block 121 veranschaulicht ist. Nachdem das Betriebssystem
geladen worden ist, werden in der Regel in Block 122 verschiedene
TSR (TSR = Terminate and Stay Ready = schließe ab und bleibe bereit) und
Softwaretreiber und andere Softwareeinstellungen in Block 124 durchgeführt, bevor
der Computer in Block 126 für den Benutzer bereit ist.
-
5 ist
ein Blockdiagramm eines in 4 gezeigten
exemplarischen MSDOS/Windows-PC-Blocks 120, in dem das
BIOS 14 versucht, das Betriebssystem zu booten. Zuerst
führt das
BIOS 14 eine Massenspeicherungsvorrichtungsleseoperation
durch Aufrufen einer INT-13H-Softwareunterbrechungsroutine durch,
um in Block 130 die Boot-Aufzeichnung eines Diskettenlaufwerks
(FDD; FDD = Floppy Disc Drive) zu lesen. Wenn die Leseoperation in
Block 132 zurückgibt,
dass sie erfolgreich war, bootet das BIOS 14 ein Betriebssystem
aus dem FDD in Block 134. War die Leseoperation nicht erfolgreich,
wird eine weitere Massenspeicherungsvorrichtungsleseoperation durchgeführt, um
in Block 136 die Hauptbootaufzeichnung (die Partitionstabelle)
aus einem Festplattenlaufwerk (HDD; HDD = Hard Disc Drive) zu lesen.
Falls diese Leseoperation erfolgreich war, fährt das BIOS 14 zu
Block 140 fort, wo das HDD verwendet wird, um ein Betriebssystem zu
booten. Wenn die Leseoperation des Haupt-Boot-Sektors aus dem HDD
nicht erfolgreich war, fährt
die BIOS 14 zu Block 142 fort, wo ein Bootfehlerprozess
den Benutzer des PC 10 darauf aufmerksam machen wird, dass
das BIOS 14 nicht in der Lage war, den PC 10 zu
booten. Auch wenn lediglich das FDD und HDD gezeigt sind, wie sie
auf Bootfähigkeit
geprüft
werden, wurden weitere Verfeinerungen des BIOS entwickelt, um das
Booten von CD-ROMs und anderen austauschbaren oder entfernbaren
Massenspeicherungsvorrichtungen zu umfassen und nach wie vor den
Schutzbereich der Erfindung zu erfüllen.
-
6 ist
ein Blockdiagramm der Logik, die in einem exemplarischen Ausführungsbeispiel
der Erfindung einer modifizierten Massenspeicherungsleseunterroutine
verwendet wird, die ein Booten des bootfähigen Hilfsprogrammbereichs 56,
der in der Ruhezustand-Partition 50 auf einer Massenspeicherungsvorrichtung 30 gespeichert
ist, zulässt.
Zuerst werden in Block 150 die Parameter aus dem Aufrufprogramm
wiedergewonnen. Die Parameter werden verwendet, um die aus der Massenspeicherungsvorrichtung 30 zu
lesende Position des Sektors oder der mehreren Sektoren zu bestimmen.
In Block 152 werden die Parameter verwendet, um die erwünschte Position
auf der Massenspeicherungsvorrichtung 30 zu lesen. In Block 154 wird
der Statusindikator in dem Entscheidungsblock 156 wiedergewonnen
und verglichen, um zu bestimmen, ob der bootfähige Hilfsprogrammbereich 56 gebootet
werden sollte. Falls nicht, werden die aus der Massenspeicherungsvorrichtung 30 gelesenen
Daten Block 162 an die Aufrufroutine in zurückgegeben.
Wenn der bootfähige
Hilfsprogrammbereich 56 gebootet werden soll, werden in
Block 158 die Parameter mit der Position verglichen, wo
die Partitionstabelle 44 gespeichert ist. Wenn die Parameter
nicht mit der Position der Partitionstabelle 44 übereinstimmen,
werden die aus der Massenspeicherungsvorrichtung 30 gelesenen
Daten an das Aufrufprogramm zurückgegeben.
Wenn die Parameter der Position der Partitionstabelle 44 entsprechen,
dann enthalten in Block 160 die aus der Massenspeicherungsvorrichtung 30 gelesenen
Daten die Partitionstabelleninhalte, und diese Inhalte werden modifiziert.
Diese Modifizierung wird vorgenommen, um anzuzeigen, dass die erste
Partition, die bootfähige
OS-Partition 48, nicht aktiv oder „nicht bootfähig" gemacht wird und
die zweite Partition, die Ruhezustand-Partition 30, aktiv
oder „bootfähig" gemacht wird. Die
gelesenen und modifizierten Inhalte der Partitionstabelle werden
dann in Block 162 an das Aufrufprogramm zurückgegeben.
Durch ein Zurückgeben
lediglich der gelesenen und modifizierten Inhalte der Partitionstabelle
wird ein zusätzlicher
Schutz bereitgestellt, obwohl die Erfindung dies nicht erforderlich
macht. Würde
die tatsächliche
Partitionstabelle auf der Massenspeicherungsvorrichtung 30 modifiziert,
und verursacht ein Hilfsprogramm, dass die Maschine sich aufhängt oder
es tritt ein anderer Ausfall auf, ist der Computer unter Umständen nicht
in der Lage, das ursprüngliche
Betriebssystem ordnungsgemäß neu zu
booten. Würde die
Massenspeicherungsvorrichtung dann entfernt und in einen anderen
PC platziert, würde
sie nach wie vor nicht ordnungsgemäß booten.
-
7A bis 7C sind
Blockdiagramme eines alternativen Ausführungsbeispiels der Erfindung, wo
anstelle eines Modifizierens der Massenspeicherungsleseroutine der
Massenspeicherungsleseroutineaufruf unterbrochen und durch eine
neue Unterroutine ersetzt wird, die die Massenspeicherungsleseroutine
aufruft und dann ihre Ergebnisse modifiziert, falls der bootfähige Hilfsprogrammbereich 56 gebootet
werden soll. Die meisten modernen BIOS lassen zu, dass die Massenspeicherungsleseunterroutinen
unterbrochen werden, um die Hinzufügung zukünftiger Massenspeicherungsvorrichtungen
zuzulassen, die nicht betrachtet oder implementiert wurden, als
das BIOS ursprünglich
codiert wurde. Der Vorteil dieses Ausführungsbeispiels ist, dass neue
Massenspeicherungsvorrichtungen dem PC hinzugefügt werden können, einschließlich derjenigen,
die entfernbare Medien aufweisen, die in die Massenspeicherungsvorrichtung
eingesetzt und aus derselben entnommen werden können und die zu dem bevorzugten
Boot-Laufwerk gemacht
werden können
und dabei nach wie vor eine Implementierung der Erfindung zulassen.
-
7A ist
ein Blockdiagramm des Aufbaus des bevorzugten Verfahrens zum Unterbrechen
der Massenspeicherungsleseroutine. In Block 200 wird die
Position der Massenspeicherungsleseroutine aus einer ersten Speicherposition
gelesen. Anschließend wird
in Block 202 die Position der Massenspeicherungsleseroutine
in einer zweiten Speicherposition gespeichert. In Block 204 wird
die Position der neuen Unterroutine in der ersten Speicherposition
gespeichert, womit Aufrufe an die Massenspeicherungsleseroutine
unterbrochen werden.
-
7B ist
ein Blockdiagramm des Aufbaus zum Bestimmen, ob die zweite Partition,
der bootfähige
Hilfsprogrammbereich 56 in der Ruhezustand-Partition 50,
beginnend in Block 206 gebootet werden soll. Wenn dies
der Fall ist, wird anschließend
in Block 208 der Statusindikator gesetzt, um anzuzeigen,
dass die zweite Partition die bootfähige Partition sein soll.
-
7C ist
ein Blockdiagramm eines neuen Programms bei dem Ausweichausführungsbeispiel der
Erfindung, das anstelle der Massenspeicherungsleseroutine aufgerufen
wird und somit die Massenspeicherungsleseroutine „unterbricht". In Block 220 wird
die zweite Speicherposition gelesen, um die Position der ursprünglichen
Massenspeicherungsleseroutine wiederzuerlangen. Anschließend wird
in Block 222 die Massenspeicherungsleseroutine aufgerufen,
um die Position der Massenspeicherungsvorrichtung 30 zu
lesen, die durch die Parameter bestimmt ist, die von dem Aufrufprogramm
an die neue Routine übergeben
werden und in Block 219 empfangen werden. In Block 224 wird
der gespeicherte Statusindikator gelesen und dann in Block 226 verwendet,
um zu bestimmen, ob die zweite Partition gebootet werden soll. Wenn
die zweite Partition nicht gebootet werden soll, werden die Ergebnisse,
die aus der Massenspeicherungsvorrichtung ausgelesen wurden, in
Block 232 an das Aufrufprogramm zurückgegeben. Wenn die zweite
Partition gebootet werden soll, werden dann in Block 228 die
Parameter geprüft, um
zu sehen, ob die Partitionstabelle auf der Massenspeicherungsvorrichtung
gelesen wurde. Falls nicht, werden die aus der Massenspeicherungsvorrichtung
gelesenen Ergebnisse dann an das Aufrufprogramm zurückgegeben.
Wenn die Partitionstabelle gelesen wurde, werden anschließend in
Block 230 die Leseergebnisse modifiziert, um anzuzeigen, dass
die erste Partition nicht aktiv oder „nicht bootfähig" ist und dass die
zweite Partition aktiv oder „bootfähig" ist. Anschließend werden
in Block 232 die modifizierten Ergebnisse der Partitionstabelle
an das Aufrufprogramm zurückgegeben.
-
Die
Vorteile der Erfindung sind die, dass der Benutzer eines PC beim
Booten sichere Hilfsprogramme, wie beispielsweise eine vollständige Diagnosefolge,
ablaufen lassen kann. Es fallen keine zusätzlichen Produktkosten und
kein Verlust an Plattenpartitionen an, um das sichere Hilfsprogramm
anzubieten, noch gibt es einen für
den Benutzer merklichen Verlust an Massenspeicherungsraum. Zudem ist
das sichere Hilfsprogramm vor unbeabsichtigter Löschung geschützt. Auch
wenn spezifische Ausführungsbeispiele
der Erfindung beschrieben und veranschaulicht sind, ist die Erfindung
lediglich durch die Patentansprüche
begrenzt.