[go: up one dir, main page]

DE60037606T2 - Rechner mit urladungsfähigem sicherem Programm - Google Patents

Rechner mit urladungsfähigem sicherem Programm Download PDF

Info

Publication number
DE60037606T2
DE60037606T2 DE60037606T DE60037606T DE60037606T2 DE 60037606 T2 DE60037606 T2 DE 60037606T2 DE 60037606 T DE60037606 T DE 60037606T DE 60037606 T DE60037606 T DE 60037606T DE 60037606 T2 DE60037606 T2 DE 60037606T2
Authority
DE
Germany
Prior art keywords
partition
computer
program
mass storage
bootable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60037606T
Other languages
English (en)
Other versions
DE60037606D1 (de
Inventor
Robert B.E. Corvallis Puckette
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE60037606D1 publication Critical patent/DE60037606D1/de
Application granted granted Critical
Publication of DE60037606T2 publication Critical patent/DE60037606T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/4408Boot device selection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

  • 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.

Claims (9)

  1. Ein Computer (10), der folgende Merkmale aufweist: eine Zentralverarbeitungseinheit (CPU) (40); einen Speicher (22, 14), der mit der CPU (40) verknüpft ist; ein Eingabe/Ausgabeteilsystem (I/O-Teilsystem) (26), das mit der CPU (40) verknüpft ist; eine Massenspeicherungsvorrichtung (30), die mit dem I/O-Teilsystem (26) verknüpft ist, wobei die Massenspeicherungsvorrichtung (30) eine erste Partition (48), eine zweite Partition (50), die einen Stilllegungsdatenspeicherungsbereich (51) aufweist, und eine Partitionstabelle (44), die anzeigt, dass die erste Partition (48) für ein Hochfahren des Computers (10) aktiv ist und dass die zweite Partition (50) für ein Hochfahren des Computers (10) nicht aktiv ist, aufweist; eine Logikeinrichtung zwischen dem I/O-Teilsystem (26) und der CPU (40) zum Auswählen, welche hochfahrbare Partition zum Hochfahren des Computers (10) verwendet werden soll, gekennzeichnet durch ein erstes Programm in dem Speicher (22, 14), wobei das Programm angepasst ist, ansprechend auf das Auswählen die Partitionstabelle (44) zu lesen und die Leseergebnisse zu modifizieren, so dass die ausgewählte Partition der CPU (40) als aktiv für ein Hochladen des Computers (10) präsentiert wird, wobei die Partitionstabelle (44) nicht modifiziert wird.
  2. Der Computer (10) gemäß Anspruch 1, bei dem die Logikeinrichtung zum Auswählen folgende Merkmale aufweist: eine Eingabevorrichtung (36), die mit dem I/O-Teilsystem (26) verknüpft ist, wobei die Eingabevorrichtung angepasst ist, Eingabesequenzen zu empfangen; und ein zweites Programm in dem Speicher (22, 14), wobei das Programm angepasst ist, zu erfassen, dass eine vorbestimmte Eingabesequenz empfangen wurde.
  3. Der Computer (10) gemäß Anspruch 1 oder Anspruch 2, bei dem die zweite Partition (50) ein Hilfsprogramm (56) enthält, das angepasst ist, auszuführen, nachdem die zweite Partition (50) der CPU (40) als aktiv präsentiert wird.
  4. Der Computer (10) gemäß Anspruch 3, bei dem das Hilfsprogramm (56) ein Diagnosetestprogramm ist.
  5. Der Computer (10) gemäß Anspruch 3 oder Anspruch 4, bei dem der Speicher (22, 14) ein Basis-Eingabe-Ausgabe-System (BIOS) enthält und bei dem das Hilfsprogramm (56) in der Lage ist, das BIOS zu aktualisieren.
  6. Der Computer (10) gemäß einem der Ansprüche 3 bis 5, bei dem das Hilfsprogramm (56) in der Lage ist, die erste Partition (48) zu verschlüsseln und zu entschlüsseln.
  7. Der Computer (10) gemäß einem der Ansprüche 3 bis 6, bei dem das Hilfsprogramm (56) in der Lage ist, den Speicher (22, 14) und die erste Partition (48) auf Viren zu prüfen.
  8. Der Computer (10) gemäß einem der Ansprüche 3 bis 7, bei dem die erste Partition (48) Daten und Programme enthält und bei dem das Hilfsprogramm (56) ein Benutzerberechtigungsprogramm ist, um einen Zugriff auf die Daten und die Programme, die auf der ersten hochfahrbaren Partition (48) gespeichert sind, zu beschränken.
  9. Ein Programm zum Abändern einer Hochfahrsequenz eines Computers (10) von einem Abrufprogramm, das einen Satz von Parametern an das Programm leitet, wobei der Computer (10) eine Hochfahrplatte (30) mit einer ersten Partition (48), einer zweiten Partition (50), die einen Stilllegungsdatenspeicherungsbereich (51) aufweist, und einer Partitionstabelle (44), die anzeigt, dass die erste Partition (48) hochfahrbar ist und dass die zweite Partition (50) nicht hochfahrbar ist, aufweist, wobei das Programm angepasst ist zum Durchführen der Schritte eines: Lesens (152) der Hochfahrplatte (30) unter Verwendung des Satzes von Parametern, um einen Satz von Ergebnissen zurückzugeben; Vergleichens (158) des Satzes von Parametern mit einem ersten Wert, um zu bestimmen, dass die Partitionstabelle (44) gelesen wurde; Modifizierens (160) des zurückgegebenen Satzes von Ergebnissen, um anzuzeigen, dass die erste Partition (48) nicht hochfahrbar ist und dass die zweite Partition (50), die den Stilllegungsdatenspeicherungsbereich (51) aufweist, hochfahrbar ist, ohne den Inhalt der Partitionstabelle (44) auf der Hochfahrplatte zu modifizieren; und Zurückgebens (162) des modifizierten Satzes von Ergebnissen an das Abrufprogramm; wobei der Computer (10) unter Verwendung der zweiten Partition (50) und nicht der ersten Partition (48) hochfährt.
DE60037606T 1999-01-22 2000-01-17 Rechner mit urladungsfähigem sicherem Programm Expired - Lifetime DE60037606T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US235965 1999-01-22
US09/235,965 US6385721B1 (en) 1999-01-22 1999-01-22 Computer with bootable hibernation partition

Publications (2)

Publication Number Publication Date
DE60037606D1 DE60037606D1 (de) 2008-02-14
DE60037606T2 true DE60037606T2 (de) 2008-07-17

Family

ID=22887582

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60037606T Expired - Lifetime DE60037606T2 (de) 1999-01-22 2000-01-17 Rechner mit urladungsfähigem sicherem Programm

Country Status (4)

Country Link
US (1) US6385721B1 (de)
EP (1) EP1022655B1 (de)
JP (1) JP3539907B2 (de)
DE (1) DE60037606T2 (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL129947A (en) * 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6507905B1 (en) * 1999-09-30 2003-01-14 International Business Machines Corporation System for modifying a master partition table of a master boot record to create a personalized local data drive having dedicated allocation for a specified user
US6636963B1 (en) * 1999-12-30 2003-10-21 Cardiac Pacemakers, Inc. Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium
US7155615B1 (en) * 2000-06-30 2006-12-26 Intel Corporation Method and apparatus for providing a secure-private partition on a hard disk drive of a computer system via IDE controller
JP4580528B2 (ja) * 2000-09-25 2010-11-17 株式会社東芝 コンピュータシステムおよびそのレジューム処理方法
US6691213B1 (en) * 2001-02-28 2004-02-10 Western Digital Ventures, Inc. Computer system and method for accessing a protected partition of a disk drive that lies beyond a limited address range of a host computer's BIOS
US7366888B2 (en) * 2001-06-07 2008-04-29 Lenovo Singapore Pte. Ltd Booting to a recovery/maintenance environment
US7000102B2 (en) * 2001-06-29 2006-02-14 Intel Corporation Platform and method for supporting hibernate operations
US6523103B2 (en) * 2001-07-17 2003-02-18 Agilent Technologies, Inc. Disablement of a write filter stored on a write-protected partition
JP3732764B2 (ja) * 2001-07-18 2006-01-11 東芝ソリューション株式会社 Os立上げ方法およびos立上げシステム
US7024549B1 (en) * 2001-07-31 2006-04-04 Western Digital Ventures, Inc. Disk drive having a protected partition configured to load an operating system for performing a user-selected function
US7318149B2 (en) * 2001-09-28 2008-01-08 Hewlett-Packard Development Company, L.P. Semi-persistent relocatable ram-based virtual floppy disk method
US7299345B2 (en) * 2001-09-28 2007-11-20 Hewlett-Packard Development Company, L.P. Reserved ROM space for storage of operating system drivers
US7356677B1 (en) * 2001-10-19 2008-04-08 Flash Vos, Inc. Computer system capable of fast switching between multiple operating systems and applications
GB2382419B (en) * 2001-11-22 2005-12-14 Hewlett Packard Co Apparatus and method for creating a trusted environment
US20030126459A1 (en) * 2001-12-28 2003-07-03 Chin-Jun Kao Method of protecting basic input/output system
JP3665615B2 (ja) * 2002-01-30 2005-06-29 株式会社東芝 外部記憶装置及び外部記憶装置におけるバッテリ残量通知方法
JP3677252B2 (ja) * 2002-03-22 2005-07-27 株式会社東芝 情報機器、記憶媒体、及び初期状態復元方法
JP3777136B2 (ja) * 2002-04-01 2006-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法
JP4066325B2 (ja) 2002-06-07 2008-03-26 インターナショナル・ビジネス・マシーンズ・コーポレーション ユーザデータのバックアップ方法
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US7024581B1 (en) 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US20040088697A1 (en) * 2002-10-31 2004-05-06 Schwartz Jeffrey D. Software loading system and method
CN1308846C (zh) * 2002-12-16 2007-04-04 联想(北京)有限公司 在硬盘上实现保护计算机操作系统的方法
US7000159B2 (en) * 2003-03-10 2006-02-14 Dell Products L.P. System and method for testing memory
US7546638B2 (en) * 2003-03-18 2009-06-09 Symantec Corporation Automated identification and clean-up of malicious computer code
CN1282923C (zh) * 2003-03-20 2006-11-01 宏碁股份有限公司 可在多种操作模式下运作的计算机系统及其操作方法
US7073052B2 (en) * 2003-05-22 2006-07-04 International Business Machines Corporation Method and system for storing active files and programs in a hibernation mode
KR100959133B1 (ko) * 2003-07-01 2010-05-26 삼성전자주식회사 핫 루틴 메모리를 갖는 마이크로프로세서 시스템 및구현방법
TWI223774B (en) * 2003-07-18 2004-11-11 Mitac Technology Corp Selectable booting operation method by the bios with the multi-partition in the disk
EP1503283A1 (de) * 2003-08-01 2005-02-02 Hewlett-Packard Development Company, L.P. Datenverarbeitungsvorrichtung und Verfahren
EP1503284A1 (de) * 2003-08-01 2005-02-02 Hewlett-Packard Development Company, L.P. Datenverarbeitungssystem und Verfahren
US7162629B2 (en) * 2003-11-20 2007-01-09 Intel Corporation Method to suspend-and-resume across various operational environment contexts
US20060106793A1 (en) * 2003-12-29 2006-05-18 Ping Liang Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation
US7363510B2 (en) * 2004-05-26 2008-04-22 Mount Sinai School Of Medicine Of New York University System and method for presenting copy protected content to a user
US7337368B2 (en) * 2004-06-07 2008-02-26 Dell Products L.P. System and method for shutdown memory testing
US8914606B2 (en) * 2004-07-08 2014-12-16 Hewlett-Packard Development Company, L.P. System and method for soft partitioning a computer system
US7484247B2 (en) * 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US20060080521A1 (en) * 2004-09-23 2006-04-13 Eric Barr System and method for offline archiving of data
US7484082B2 (en) * 2004-11-18 2009-01-27 Samsung Electronics Co., Ltd. Method and apparatus for multiple boot environments within a hard disk drive
US20060123220A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Speech recognition in BIOS
US7529921B2 (en) * 2004-12-17 2009-05-05 Cardiac Pacemakers, Inc. Fast initialization of medical device system having multiple operating systems
JP2006236193A (ja) 2005-02-28 2006-09-07 Fujitsu Ltd 起動プログラム実行方法、デバイス、記憶媒体及びプログラム
CN100383761C (zh) * 2005-03-10 2008-04-23 联想(北京)有限公司 一种建立硬盘物理分区的方法
US7661126B2 (en) 2005-04-01 2010-02-09 Microsoft Corporation Systems and methods for authenticating a user interface to a computer user
US7721094B2 (en) * 2005-05-06 2010-05-18 Microsoft Corporation Systems and methods for determining if applications executing on a computer system are trusted
US7565535B2 (en) * 2005-05-06 2009-07-21 Microsoft Corporation Systems and methods for demonstrating authenticity of a virtual machine using a security image
JP4640071B2 (ja) * 2005-09-21 2011-03-02 富士通株式会社 情報処理装置、情報処理復旧方法及び情報処理復旧プログラム
US8200869B2 (en) 2006-02-07 2012-06-12 Seagate Technology Llc Storage system with alterable background behaviors
CN100418319C (zh) * 2006-05-18 2008-09-10 清华大学 透明计算系统中端设备间数据的传送方法
US20070283114A1 (en) * 2006-06-01 2007-12-06 Lawrence Andy V Method and system for dividing a hard disk drive into multiple host access spaces
KR101121641B1 (ko) 2006-07-03 2012-04-16 엘지전자 주식회사 시스템 동작 제어 장치 및 방법
JP2009009227A (ja) * 2007-06-26 2009-01-15 Aruze Corp システム情報を自動複写する情報処理装置
AU2008202556B2 (en) * 2007-06-26 2013-01-17 Universal Entertainment Corporation Information processing unit for automatically copying system information
CN101359356B (zh) 2007-08-03 2010-08-25 联想(北京)有限公司 删除或隔离计算机病毒的方法及系统
US8793796B2 (en) * 2008-01-09 2014-07-29 Microsoft Corporation Booting a device from a trusted environment responsive to device hibernation
CN101620462A (zh) * 2008-07-03 2010-01-06 鸿富锦精密工业(深圳)有限公司 计算机装置
HUE024569T2 (hu) * 2008-10-15 2016-02-29 Hewlett Packard Development Co Lp Partíciótérkép
JP5289153B2 (ja) * 2009-04-14 2013-09-11 キヤノン株式会社 情報処理装置及びその制御方法、並びにコンピュータプログラム
JP5037586B2 (ja) * 2009-10-30 2012-09-26 東芝テック株式会社 商品販売データ処理装置およびその制御プログラム
JP5471365B2 (ja) * 2009-11-27 2014-04-16 富士通株式会社 情報処理装置及びコンピュータプログラム
JP5511506B2 (ja) 2010-05-25 2014-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を有する装置、所定のリソースを監視する監視プログラムの強制終了攻撃に対する耐性を付与する方法及び該方法を装置で実行することが可能なコンピュータプログラム
US9003415B2 (en) 2010-05-25 2015-04-07 International Business Machines Corporation Method and apparatus having resistance to forced termination attack on monitoring program for monitoring a predetermined resource
US9230118B2 (en) 2010-12-09 2016-01-05 International Business Machines Corporation Encrypting and decrypting a virtual disc
GB2499964B (en) 2010-12-13 2013-12-11 Ibm Upgrade of software images based on streaming technique
JP6070115B2 (ja) * 2012-11-28 2017-02-01 日本電気株式会社 情報処理装置、bmcおよびbiosアップデート方法
CN104008070A (zh) * 2013-02-25 2014-08-27 Lsi公司 固态驱动器中的主引导记录保护
US10528116B2 (en) * 2013-03-14 2020-01-07 Seagate Technology Llc Fast resume from hibernate
US9940039B2 (en) 2015-05-21 2018-04-10 Western Digital Technologies, Inc. Method and data storage device with enhanced data retention
US10157093B2 (en) * 2015-05-27 2018-12-18 Nxp Usa, Inc. Data integrity check within a data processing system
US10635451B2 (en) * 2016-09-08 2020-04-28 Hewlett-Packard Development Company, L.P. Mass storage medium having an operating system but not a partition table pre-installed
US10474473B2 (en) * 2017-04-11 2019-11-12 Intel Corporation Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory
JP7067270B2 (ja) * 2018-05-25 2022-05-16 富士通株式会社 情報処理装置,ロードプログラムおよびロード方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261104A (en) 1990-03-22 1993-11-09 International Business Machines Flexible computer initialization
EP0483865A3 (en) 1990-11-02 1992-09-02 Kabushiki Kaisha Toshiba Personal computer capable of changing boot priority
FR2691556B1 (fr) 1992-05-25 1994-08-26 Hewlett Packard Co Procédé et dispositif de démarrage d'un ordinateur à un instant programmé.
US5390324A (en) * 1992-10-02 1995-02-14 Compaq Computer Corporation Computer failure recovery and alert system
US5802363A (en) * 1994-09-27 1998-09-01 International Business Machines Corporation Bios dynamic emulation of multiple diskettes from a single media
US5537540A (en) 1994-09-30 1996-07-16 Compaq Computer Corporation Transparent, secure computer virus detection method and apparatus
US5680540A (en) * 1995-01-31 1997-10-21 Bell Usa, L.P. Suspend-to-disk system for removable hard drive
US5754853A (en) * 1995-12-15 1998-05-19 Dell Usa, Lp System for executing utility programs while preserving the state of a native operating system
US5787491A (en) 1996-01-26 1998-07-28 Dell Usa Lp Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US5875344A (en) * 1996-07-16 1999-02-23 Compaq Computer Corporation Using a file enabler with firmware
US5822582A (en) 1996-07-19 1998-10-13 Compaq Computer Corporation Boot drive selection and hibernation file detection
US5974517A (en) * 1996-09-17 1999-10-26 Compaq Computer Corporation Method and system for mounting a system partition as a logical drive while an operating system is operational by modifying a partition table
US5974567A (en) * 1997-06-20 1999-10-26 Compaq Computer Corporation Ghost partition
US6041395A (en) * 1997-12-03 2000-03-21 Dell Usa, L.P. System and method for changing partition mappings to logical drives in a computer memory

Also Published As

Publication number Publication date
EP1022655A3 (de) 2002-09-11
EP1022655B1 (de) 2008-01-02
EP1022655A2 (de) 2000-07-26
DE60037606D1 (de) 2008-02-14
JP2000215065A (ja) 2000-08-04
JP3539907B2 (ja) 2004-07-07
US6385721B1 (en) 2002-05-07

Similar Documents

Publication Publication Date Title
DE60037606T2 (de) Rechner mit urladungsfähigem sicherem Programm
DE69027165T2 (de) Verfahren und Gerät zum Schutz eines Rechnersystems
DE69130042T2 (de) Personalrechnersystem mit geschütztem Speicher für die Schnittstelle und System-Utility-Programme
DE69326089T2 (de) Personalcomputersystem mit Sicherheitseigenschaften und -verfahren
DE69906995T2 (de) Hochlauffehler-wiederherstellung
US7146525B2 (en) Method for backing up and recovering data in the hard disk of a computer
DE60018807T2 (de) Verfahren und vorrichtung zur wiederherstellung der konfiguration eines rechners
DE19960524B4 (de) Verfahren und Vorrichtung zum Wiederherstellen einer Festplatte eines Computersystems
DE69914595T2 (de) Geschütztes speichermedium für ein rechnersystem
DE102007012448B4 (de) Ein chipsatz-unabhängiges Verfahren für lokale Aktualisierung und Konfigurierung eines System-BIOS
DE112005002985B4 (de) Verfahren zum Einrichten einer vertrauenswürdigen Ablaufumgebung in einem Computer
DE69507129T2 (de) Vorurladungsschutz für eine datensicherheitseinrichtung
DE60210434T2 (de) Betriebssystemselektor und Datenplattenspeicher
DE69534867T2 (de) Verfahren und System zur Lieferung geschützter Gerätetreiber
DE69923085T2 (de) Initialisieren und wiederanlaufen von betriebssystemen
US5291600A (en) Recovery of in-core disk data
DE112006003260T5 (de) Verfahren zum dynamischen Freilegen von Sicherungs- und Wiederherstellungslaufwerken
DE10393662T5 (de) Bereitstellen eines sicheren Ausführungsmodus in einer Preboot-Umgebung
DE112007000363T5 (de) Verfahren zum Bereitstellen sicherer Firmware
DE202010017644U1 (de) Hybridspeichervorrichtung
DE10248465A1 (de) System und Verfahren zum Sichern eines Computers
DE112011105687T5 (de) Verwendung eines Option-ROM-Speichers
DE60133522T2 (de) Behandlung des Speicherüberlaufs in einem Datenverarbeitungssystem
DE202015009482U1 (de) System einer Festplattenvollverschlüsselung mit Prüfung der Kompatibilität der Boot-Platte
DE19946959B4 (de) Verfahren zum Laden von Daten für grundlegende Systemroutinen

Legal Events

Date Code Title Description
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOU, US

8328 Change in the person/name/address of the agent

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER & ZINKLER, 82049 P

8364 No opposition during term of opposition