Schreck lass nach!
Der Bildschirm bleibt finster, die Festplatte streikt, das Betriebssystem startet nicht mehr - schöne Bescherung! Der ersten Panik folgt kaltes Entsetzen: Wie biegt man das jetzt wieder hin? Wenn ĂŒber die Feiertage der Hersteller nicht zu erreichen ist, muss Papa selbst ran und retten, was zu retten ist.
Verweigert ein nagelneuer Rechner die Arbeit, ist eigentlich klar, was von Rechts wegen zu geschehen hat: zurĂŒck damit zum VerkĂ€ufer. SchlieĂlich ist dieser zur GewĂ€hrleistung verpflichtet, und meist gewĂ€hrt der Hersteller darĂŒber hinaus noch Garantieleistungen. Nur wer partout nicht die Feiertage abwarten möchte oder den FĂ€higkeiten des VerkĂ€ufers stark misstraut, sollte bei Komplettrechnern ĂŒberhaupt selbst Hand anlegen. Im besten Fall findet man den Fehler zwar schnell, doch ungĂŒnstigstenfalls verschlimmert man die Lage, die Garantie verfĂ€llt, und die Reparatur kommt dann richtig teuer.
AufrĂŒster vorhandener PCs sind leider meistens auf sich selbst gestellt: Der Hersteller der neuen Hardware bietet bestenfalls UnterstĂŒtzung per Telefon oder Internet an, aber die Erfahrung zeigt, dass bei Konflikten mit weiterer Hardware die Hilfe schnell versiegt. Doch es gibt auch positive Ausnahmen, und sobald man den Verursacher eines Problems geortet hat, lohnen ein Blick auf die FAQ-Seiten des Herstellers im Internet oder ein Anruf bei der Hotline eigentlich immer (siehe c't 26/99, Seite 108).
Dieser Artikel zeigt Diagnosemöglichkeiten fĂŒr den Fall auf, dass der PC nicht anlĂ€uft oder das Betriebssystem nicht startet. An sporadischen SystemabstĂŒrzen ist oft der Hauptspeicher schuld, weswegen wir uns dessen Test ausfĂŒhrlich widmen. Von Treiber-Trouble und Windows-Wehwehchen im Zusammenhang mit Hardware lesen Sie in c't 26/99 ab Seite 92. Mit Windows-Zipperlein, die nicht auf das Konto der Hardware gehen, beschĂ€ftigt sich der Artikel in der gleichen Ausgabe ab Seite 102.
Zur Fehlersuche ist ein zweiter, funktionstĂŒchtiger Rechner mit Internetzugang ungemein hilfreich. Aktuelle Treiber- und BIOS-Versionen holen, Boot-Disketten erstellen - all das erleichtert Diagnose und Reparatur oder ermöglicht sie gar erst. Zudem kann der Zweitrechner als Quelle fĂŒr Einzelteile dienen, von denen man weiĂ, dass sie in Ordnung sind.
Am einfachsten lĂ€sst sich defekte Hardware nĂ€mlich lokalisieren, indem man systematisch Komponente um Komponente eines PC durch andere ersetzt, bis das Problem verschwunden ist. In sehr seltenen FĂ€llen kann ein solches Vorgehen allerdings zusĂ€tzlichen Schaden anrichten, etwa, wenn der ĂbeltĂ€ter ein defektes Netzteil ist, das durch Ăberspannung die angeschlossene Elektronik killt.
Problem Computer-Bild
SpĂ€testens zehn Sekunden nach dem Einschalten zeigt ein funktionierender PC irgendetwas auf dem Bildschirm an. Nur bei sehr ungewöhnlicher Konfiguration benötigt er mehr Zeit, etwa mit 512 MByte oder mehr Hauptspeicher beziehungsweise nach gröĂeren Umbauten von Speicher, Prozessor und Grafikkarte. Falls der Monitor im Stromsparmodus schlĂ€ft oder vorher ausgeschaltet war, braucht er allerdings einige Sekunden, um die Bildröhre aufzuwĂ€rmen. Viele Monitore haben jedoch eine LED, die beim Anliegen eines Signals sofort grĂŒn wird und damit das Bild ankĂŒndigt.
Wenn der Monitor nichts anzeigt, fĂ€llt der Verdacht zuerst auf die externe Verkabelung. Sind Monitor und Rechner mit Strom versorgt und fĂŒhrt die entsprechende Steckdose Strom? Falls mehrere Grafikkarten eingebaut sind: Zeigen alle kein Bild oder steckt das Monitorkabel nur im falschen Anschluss? Dann der Blick auf die RĂŒckseite des Netzteils: Neben dem heute ĂŒblichen Taster an der Frontseite findet sich hier oft ein weiterer Netzschalter, der natĂŒrlich eingeschaltet sein muss. Ein eventueller Wahlschalter fĂŒr die Netzspannung muss in Europa auf 230 Volt stehen. War dies beim Einschalten nicht der Fall, dann ist das Netzteil wahrscheinlich schon hinĂŒber beziehungsweise eine integrierte Sicherung durchgebrannt. Das Ăffnen des Netzteils - und sei es nur zum Austausch der Sicherung - sollte man unbedingt einem Fachmann ĂŒberlassen, da viele Bauteile im Inneren lebensgefĂ€hrliche Gleichspannungen fĂŒhren.
Vielleicht hat der Rechner Schwierigkeiten, beim Einschalten alle Komponenten zu starten. Schwache Netzteile, langsam anlaufende Festplatten, kalte Lötstellen oder schlechte Steckkontakte können dazu fĂŒhren, dass der PC erst nach mehrfachem Druck auf die Reset-Taste oder mehrfachem Aus- und Einschalten startet.
Aufmachen
Die weitere Diagnose kann nur noch bei geöffnetem GehĂ€use stattfinden. Der PC kann prinzipiell offen arbeiten, jedoch ist vom Dauerbetrieb ohne GehĂ€usedeckel abzuraten, da aufgrund der verĂ€nderten LuftfĂŒhrung unter UmstĂ€nden keine ausreichende KĂŒhlung mehr gewĂ€hrleistet ist. Vorsicht ist in der NĂ€he des Netzteils geboten: Auf keinen Fall irgendwelche GegenstĂ€nde oder gar Finger ins Innere stecken, da hier lebensgefĂ€hrliche Spannungen und laufende LĂŒfter lauern.
Im geöffneten Rechner gilt der erste Blick den Steckverbindungen. Beim Transport könnte sich ein Stecker gelöst haben oder beim Zusammenbau falsch herum oder versetzt gesteckt worden sein. Auch die Steckkarten, den Prozessor und die Speichermodule sollte man auf korrekten Sitz ĂŒberprĂŒfen. Der zweite Blick gilt der Mainboard-Konfiguration per Jumper oder DIP-Schalter. Am besten ĂŒberprĂŒft man anhand des Handbuchs jeden einzelnen Jumper.
Besonders wichtig sind die Prozessoreinstellungen: Kernspannung (Core Voltage, VCore), Frontside-Bustakt (FSB Clock, CPU Freq) und Multiplikator zwischen FSB- und Kerntakt (CPU Ratio). Bei Sockel-7-Boards mĂŒssen alle Parameter stimmen, mehr dazu in der Bedienungsanleitung des Boards oder in [1]. Etwas einfacher haben es Besitzer von Slot-1- oder Sockel-370-Boards. Dort teilt der Prozessor dem Mainboard automatisch die benötigte Kernspannung mit, und alle modernen Prozessoren mit Ausnahme spezieller Testexemplare arbeiten mit einem unverĂ€nderlichen VerhĂ€ltnis zwischen externem und internem Takt. Einzustellen bleibt also nur noch der FSB-Takt, den man korrekt auf 66 MHz fĂŒr Celeron-Prozessoren und Pentium II bis 333 MHz, auf 100 MHz fĂŒr sonstige Pentium II und III oder auf 133 MHz fĂŒr die Pentium-III-Versionen mit âBâ im Namen einstellen muss. Einige Mainboards ermöglichen die Wahl des AGP-TaktverhĂ€ltnisses per Jumper. Der AGP-Takt wird aus dem FSB-Takt erzeugt und muss immer 66 MHz betragen. Bei 100-MHz-FSB lautet die korrekte Einstellung also 2:3, bei 66 MHz 1:1, und 133-MHz-Boards haben keinen Jumper mehr.
Ăberspannt
Kann ein Slot-1-Board die von der CPU benötigte Spannung nicht liefern, schaltet es sich gar nicht erst ein. So funktioniert der Intel Pentium III mit Coppermine-Kern nur in Mainboards, die 1,65 Volt Kernspannung generieren können. Einige aktuelle Boards liefern nur 2,0 Volt oder mehr. Seltener tauchen Slot-1-Boards der ersten Generation auf, die Celeron-Prozessoren nicht die benötigten 2,0 Volt liefern können, sondern nur 2,3 Volt oder mehr bereitstellen. Abhilfe existiert in diesen FĂ€llen nicht, die gewĂŒnschte Kombination aus Mainboard und Prozessor kann nicht funktionieren.
FĂŒr alle weiteren Jumper empfehlen sich die Standardeinstellungen. Vor allem Ăbertaktungsversuche sollte man aufgeben und das System erst einmal stabil zum Laufen bekommen. Es kann ĂŒbrigens vorkommen, dass die Beschreibung der Jumperstellungen im Handbuch der widerspricht, die auf dem Mainboard aufgedruckt ist. Dann bleibt nur auszuprobieren, wer Recht hat - wir haben beides schon erlebt.
Weigert sich der PC immer noch anzulaufen, dann ist der Zeitpunkt zur AbrĂŒstung gekommen. Um bis zur BIOS-Meldung zu gelangen, reichen Mainboard, Prozessor, Grafikkarte und Speicher. Weglassen kann man sĂ€mtliche PCI- und ISA-Karten, Tastatur, Maus und Diskettenlaufwerk sowie Festplatte und CD-ROM. Auch sollte man so wenig Speichermodule wie möglich einsetzen. Bei DIMM-Slots genĂŒgt eines, PS/2-SIMM-Sockel in Ă€lteren Boards mĂŒssen paarweise bestĂŒckt werden, also mindestens zwei gleiche Speichermodule enthalten. Beim Starten des Rechners beobachtet man, ob das Netzteil ĂŒberhaupt anspringt und alle Komponenten mit Strom versorgt. Das Ă€uĂert sich im deutlichen BetriebsgerĂ€usch der Festplatte oder laufenden LĂŒftern von Netzteil, Prozessor und Grafikkarte. Falls der Rechner keinen Mucks von sich gibt, kann man bei ATX-Netzteilen mit einem Multimeter die Standby-Spannung nachmessen: Pin 9 des ATX-Steckers auf dem Mainboard (violettes Kabel) muss auch bei ausgeschaltetem Rechner eine Spannung von fĂŒnf Volt gegen Masse (die schwarzen Kabel) fĂŒhren. Fehlt sie, so ist das Netzteil defekt oder nicht eingeschaltet.
Impulserhaltung
Springt das Netzteil trotz korrekter Standby-Spannung nicht an, könnte der Einschaltimpuls auf dem Weg vom Einschalter zum ATX-Netzteil verloren gegangen sein. Versuchsweise kann man die ent-sprechenden Pins auf dem Board mit einem Jumper oder einer Kugelschreiberspitze ĂŒberbrĂŒcken. RĂŒhrt sich noch immer nichts, kommt eine aufgebogene BĂŒroklammer zum Einsatz. Verbindet man damit das grĂŒne Kabel (Pin 14, Signal PS_ON) des ATX-Steckers mit einem benachbarten schwarzen (Masse), so muss das Netzteil anlaufen, andernfalls ist es defekt, oder es liegt ein Kurzschluss vor. Falls auf diese Weise das Board als Einschaltverhinderer entlarvt wurde, können Bastler den PC retten, indem sie die genannte Verbindung dauerhaft installieren und den Rechner eben mit dem hinten angebrachten Netzschalter ein- und ausschalten.
Bleibt der PC weiterhin stumm, so hilft nur noch der Austausch der ĂŒbrigen Komponenten. Entweder ist eine davon defekt (wahrscheinlich Netzteil oder Mainboard), oder die gewĂ€hlte Kombination lĂ€uft prinzipiell nicht miteinander.
Lied vom Tod
Solange das BIOS die Grafikkarte noch nicht initialisiert hat, kann es sich nur akustisch bemerkbar machen. Probleme damit oder mit dem Hauptspeicher signalisiert es daher durch Piepen ĂŒber den Systemlautsprecher. Leider spielen die Rechner keine einheitlichen Lieder. Informationen ĂŒber Beep-Codes finden sich auf den Webseiten der BIOS-Hersteller [2]. Bei einem piependen Rechner sind Grafikkarte oder Hauptspeicher die wahrscheinlichsten Fehlerquellen. Wenn es nicht mal piept, lĂ€uft möglicherweise der Prozessor nicht an. Das lĂ€sst sich zweifelsfrei nur mit einer Diagnosekarte nachweisen (siehe Kasten).
Da die wichtigsten Parameter zur Ansteuerung des Hauptspeichers im BIOS-Setup einzustellen sind, kann man vor Erreichen des BIOS wenig ausrichten, wenn es hier klemmt. Speziell Boards mit VIA-ChipsĂ€tzen benehmen sich oft zickig und sind nicht immer leicht zu ĂŒberreden, einen Speicherriegel zu akzeptieren. Einige BIOSse lassen sich ĂŒberlisten, indem man das Speichermodul in einen anderen Slot steckt. Das funktioniert allerdings nicht bei ChipsĂ€tzen wie dem SiS 620, der unbedingt einen bestĂŒckten ersten Speicher-Slot benötigt. Wir hatten aber auch schon den Fall, dass der Speicher nur im letzten Slot lief - da stimmte die Nummerierung auf dem Board nicht.
CMOS clear
Wenn fehlerhafte BIOS-Einstellungen den Rechnerstart verhindern, kann es helfen, sie komplett zu löschen und auf die Standardwerte zurĂŒckzusetzen. Dazu gibt es im Wesentlichen zwei Wege:
- Viele Boards haben einen Jumper âCMOS clearâ, oft in der NĂ€he der Batterie. Ăblicherweise trennt man den Rechner vom Strom, setzt den Jumper um, wartet etwa fĂŒnf Sekunden und setzt dann den Jumper wieder zurĂŒck. Nun kann man den Rechner einschalten und erhĂ€lt die Meldung âCMOS checksum error, loading default valuesâ oder Ă€hnlich. Einige Boards muss man bei umgesetztem Jumper kurz einschalten, andere sogar bis zum BIOS-Setup hochfahren. Ein Blick ins Handbuch kann nicht schaden.
- Ein alter Trick funktioniert bei einigen Boards noch oder wieder: WĂ€hrend des Einschaltens der Netzspannung hĂ€lt man die Einfg-Taste (die groĂe Null auf dem Ziffernblock) gedrĂŒckt, worauf das BIOS die vorgegebenen Einstellungen lĂ€dt.
Falls nach allen MaĂnahmen immer noch kein Bild erscheint, bleibt nur der systematische Austausch von Grafikkarte, Speicher, Prozessor oder Mainboard. Zuvor empfiehlt es sich, die vom Netzteil gelieferten Spannungen an einem freien Festplatten-Stromversorgungsstecker nachzumessen: Am gelben Kabel sollten 12 Volt, am roten 5 Volt anliegen, gemessen gegen eines der schwarzen Massekabel in der Mitte und mit einer Toleranz von 5 %.
Bootverweigerer
Wenn das BIOS sich meldet, das Betriebssystem jedoch nicht von der Festplatte startet, gilt es herauszufinden, ob die Hardware schuld ist oder lediglich die Softwareinstallation auf der Platte durcheinander geraten ist. LÀuft die Platte gar nicht erst an, so liegt oft ein Kontaktproblem vor. Die Stromversorgungsstecker von Festplatten neigen zu Wackelkontakten; im Zweifelsfall ist es eine gute Idee, einfach mal ein anderes Versorgungskabel auszuprobieren. Verkehrt herum angeschlossene IDE-Kabel gehören dank verpolungssicherer Stecker eigentlich der Vergangenheit an. Um ganz sicher zu gehen, kann man das Kabel aber versuchsweise einmal von der Festplatte abziehen. IDE-Platten laufen beim Einschalten auch ohne angeschlossenen PC automatisch an, einige SCSI-Laufwerke allerdings nicht. Wenn so weit alles in Ordnung ist, sollte das BIOS die Festplatte korrekt erkennen. Die meisten BIOS-Versionen zeigen die Typenbezeichnung der gefundenen Laufwerke an.
Das BIOS-Setup legt fest, von welchem Medium der Rechner das Betriebssystem starten soll. Im Award-BIOS heiĂt der entsprechende MenĂŒpunkt beispielsweise âBoot Sequenceâ und findet sich auf der Seite âBIOS Features Setupâ. Die traditionelle Reihenfolge ist âA, Câ, der PC versucht also zunĂ€chst, von Diskette zu booten und erst dann von Festplatte. Dies ist die richtige Einstellung fĂŒr Diagnosezwecke. Im Normalbetrieb empfiehlt es sich dagegen, der Festplatte PrioritĂ€t einzurĂ€umen. Andernfalls kann eine im Laufwerk vergessene Diskette den Systemstart verhindern. Ein Indiz dafĂŒr ist die Meldung âNon-System disk or disk errorâ oder Ă€hnlich, sie kann aber je nach Herkunft der Diskette auch ganz anders lauten, etwa âOS/2 !! SYS01475â.
FĂŒr den Fall, dass der Start von der Festplatte misslingt, sollte jeder PC-Anwender eine bootfĂ€hige Diskette parat haben. Ein einfaches DOS leistet hier gute Dienste, da es die geringsten AnsprĂŒche an die Hardware stellt. Windows-9x-Anwender haben idealerweise zu Lebzeiten ihres Systems eine Diskette mit dem zur jeweiligen Windows-Version gehörigen DOS angelegt und mit den wichtigsten Hilfsprogrammen versehen (Fdisk, Sys, Format, Chkdsk, siehe auch den folgenden Artikel).
In seltenen FĂ€llen kann eine fehlerhafte Partitionstabelle auf der Festplatte sogar den Start von einer DOS-Diskette verhindern. Ob es daran liegt, lĂ€sst sich leicht feststellen, indem man die Festplatte versuchsweise abklemmt. Wenn DOS ohne Platte startet, mit jedoch nicht, bleibt als letzter Ausweg ein anderes Betriebssystem, etwa Linux. Ein Mini-Linux passt mitsamt den wichtigsten Diagnosewerkzeugen auf eine einzige Diskette und erlaubt die Reparatur oder zumindest das Löschen der Partitionstabelle [3], [4]. Manche BIOSse bieten einen MenĂŒpunkt zur Low-Level-Formatierung von IDE-Platten, der ebenfalls als letzter Ausweg in Betracht kommt.
Diagnosedose
Wenn DOS erst einmal lĂ€uft, zeigt der Befehl âdir c:â schnell, wie tief das Problem liegt. Er sollte das Inhaltsverzeichnis der ersten Festplattenpartition zu Tage fördern, vorausgesetzt, sie ist mit dem FAT-Dateisystem formatiert. Um auf FAT32-Laufwerke zugreifen zu können, muss das gestartete DOS allerdings mindestens aus Windows 95b stammen. Eine Fehlermeldung wie âSektor nicht gefundenâ oder âLesefehlerâ deutet auf Hardwareprobleme hin, âUngĂŒltiger Medientypâ oder Ăhnliches auf eine unformatierte oder mit einem Nicht-FAT-Dateisystem formatierte Partition. Meldet DOS dagegen schlicht, dass es das angegebene Laufwerk nicht finde, so gibt es zwei Möglichkeiten: Entweder das BIOS hat die Platte ĂŒberhaupt nicht erkannt, oder die Partitionstabelle ist lesbar, aber fehlerhaft.
Ein Aufruf von Fdisk schafft hier Klarheit: Damit sollten sich die Partitionstabellen aller angeschlossenen Festplatten anzeigen lassen. Findet Fdisk dagegen die Platte nicht, so sollten Sie zunĂ€chst die Einstellungen im BIOS-Setup ĂŒberprĂŒfen, sofern es sich um ein IDE-Laufwerk handelt. Dort gibt es meist die obsolete Möglichkeit, den Festplattentyp aus einer vorgegebenen Liste auszuwĂ€hlen oder die Plattengeometrie (Zylinder, Köpfe, Sektoren) manuell einzustellen. Wenn angeboten, ist jedoch âAutoâ praktisch immer die richtige Wahl. FĂŒr die Adressierung von IDE-Platten bieten die meisten BIOS-Versionen verschiedene Betriebsarten namens âLBAâ, âNormalâ, âCHSâ, âLargeâ oder Ă€hnlich an. Bei Rechnern, die nicht Ă€lter als ein paar Jahre sind, ist âLBAâ oder âAutoâ normalerweise richtig. Bietet das BIOS eine Funktion âIDE HDD Auto Detectionâ oder Ă€hnlich, kann es nicht schaden, diese auszufĂŒhren. So sieht man sofort, ob es die Platte findet oder nicht.
Erkennt das BIOS die Festplatte ĂŒberhaupt nicht, so sollten Sie die Verkabelung sowie die korrekte Jumperstellung prĂŒfen. HĂ€ngen zwei Laufwerke, gleich ob Festplatte, CD-ROM oder Wechselplatte, an einem IDE-Kanal, so muss das eine als Master, das andere als Slave konfiguriert sein. Ein einzelnes Laufwerk sollte als Master arbeiten. Als Slave kann es zwar funktionieren, muss es aber nicht.
FĂŒr SCSI-Platten ist das BIOS des SCSI-Hostadapters zustĂ€ndig. Praktisch alle Hostadapter zeigen beim Bootvorgang eine Liste der gefundenen GerĂ€te an. Fehlt die Festplatte hier, so sollte man der SCSI-Verkabelung auf den Zahn fĂŒhlen. An beiden Enden des SCSI-Bus muss das jeweils letzte GerĂ€t terminiert sein, alle GerĂ€te mĂŒssen per Jumper verschiedene IDs erhalten, und die Einhaltung der korrekten KabellĂ€ngen ist wichtig [5]. Um einzugrenzen, ob Signalstörungen auf dem SCSI-Bus des Ăbels Wurzel sind, kann man versuchsweise die Ăbertragungsgeschwindigkeit herabsetzen, indem man im Setup des Hostadapters beispielsweise Ultra SCSI abschaltet, die Synchrontransferrate reduziert oder gar auf den langsamen Asynchronmodus zurĂŒckschaltet.
Bootmeister
Klappt der Bootvorgang trotz korrekter Erkennung der Festplatte nicht, so ist möglicherweise der Programmcode im Master Boot Record (MBR) der Festplatte beschĂ€digt, beispielsweise durch einen Virus. Der MBR lĂ€sst sich mit dem Befehl âFdisk /mbrâ wiederherstellen, ohne die Partitionstabelle oder die Daten auf der Festplatte zu gefĂ€hrden. Mit einer Ausnahme: Es gibt besonders heimtĂŒckische Viren, die sich im MBR einnisten und Teile der Festplatte verschlĂŒsseln. Durch unsachgemĂ€Ăe Entfernung eines solchen Virus können diese Daten unlesbar werden. Daher empfiehlt es sich im Zweifelsfalle, vor dem Ăberschreiben des MBR einen Virenscanner laufen zu lassen (siehe auch Seite 23).
Vorsicht beim Einsatz von Ontrack Disk Manager oder EZ-Drive: Diese Diskmanager installieren sich im MBR und ersetzen die BIOS-Funktionen zum Ansprechen von Festplatten durch eigene, um die SchwĂ€chen veralteter BIOS-Versionen zu umgehen. Bei unsachgemĂ€Ăer Entfernung eines solchen âDynamic Drive Overlayâ, wie es Ontrack nennt, drohen die Daten auf der Festplatte verloren zu gehen. Statt Fdisk sollten Sie daher gegebenenfalls das Installationsprogramm des jeweiligen Diskmanagers benutzen, um den MBR zu reparieren.
Der MBR-Code startet die in der Partitionstabelle als âaktivâ markierte Partition. Welche das ist, lĂ€sst sich mit Fdisk ĂŒberprĂŒfen. Falls Sie einen Bootmanager einsetzen, beansprucht dieser unter UmstĂ€nden die aktive Partition fĂŒr sich und startet seinerseits eine andere. Bei Bootproblemen sollten Sie in diesem Fall das Installations- beziehungsweise Konfigurationsprogramm des Bootmanagers bemĂŒhen.
Eine weitere mögliche Fehlerquelle sind der Bootsektor der Startpartition und die versteckten Systemdateien. Den zum Booten von Windows 9x benötigten DOS-Kern nebst Bootsektor restauriert der Befehl âSys c:â. Das Installationsprogramm von Windows NT bietet von sich aus an, eine bestehende Installation zu reparieren, wenn es eine findet. Das scheitert jedoch, wenn die versteckte Systemdatei Boot.ini abhanden gekommen ist. Statt sie von Grund auf neu zu schreiben, ist es einfacher, ein weiteres NT in einem anderen Verzeichnis zu installieren und sie anschlieĂend so abzuĂ€ndern, dass wieder das alte NT startet [6].
Selbst wenn alle Master- und sonstigen Boot-Records in Ordnung sind und alle Systemdateien an ihrem Platz liegen, kann es Fehlstarts geben, wenn die bei der Partitionierung verwendete logische Festplattengeometrie (Einteilung in Zylinder, Köpfe und Sektoren) nicht mit der aktuell vom BIOS verwendeten ĂŒbereinstimmt. Eine mögliche Ursache ist die Umstellung der Adressierungsart von LBA auf Normal oder umgekehrt oder der Umzug einer Festplatte an einen anderen Rechner oder SCSI-Hostadapter. Wenn alle bisher genannten Stricke reiĂen, hilft bei der Diagnose solcher Probleme eventuell das Programm Partinfo weiter, das PowerQuest unter www.powerquest.com [1] zum kostenlosen Download anbietet. Es zeigt die Daten in Partitionstabellen und Bootsektoren an und ĂŒberprĂŒft sie auf Konsistenz. Wenn eventuelle Fehlermeldungen nicht durch eine einfache Ănderung der BIOS-Einstellungen verschwinden, wird es allerdings knifflig (siehe [7]).
Deutlich schwieriger als TotalausfĂ€lle oder Startprobleme sind gelegentliche AbstĂŒrze des PC zu diagnostizieren. Oft ist nicht einmal klar, ob Hardware oder Software verantwortlich ist, wenn der Rechner mitten wĂ€hrend der Arbeit stehen bleibt oder neu startet. Bei der Suche nach dem Schuldigen hilft meist nur systematisches Austauschen von Hardware-Komponenten oder Treibern; mehr zur Fehlersuche unter Windows im Anschluss in c't 26/99 ab Seite 92.
Alzheimer
HauptverdĂ€chtiger bei sporadischen AbstĂŒrzen ist der Arbeitsspeicher. Glaubt man den Service-Technikern, haben gut 30 Prozent aller PC-Probleme direkt oder indirekt mit dem Hauptspeicher zu tun. Bei Verdacht auf Speicherprobleme gilt es als erstes zu ĂŒberprĂŒfen, ob denn auch die richtigen Module eingesteckt sind. Wir hatten hier schon bei eingekauften âSchnĂ€ppchen-PCsâ PC66-Module in 100-MHz-Systemen. Da sind dann InstabilitĂ€ten vorprogrammiert.
FĂŒr welche PCxx-Spezifikation und welches Timing die Speicherriegel ausgelegt sind, kann man bei modernen SDRAMs einem kleinen Chip (EEPROM) entnehmen, der sich mit auf dem Modul befindet. Manches moderne BIOS gibt den Inhalt dieses SPD-EEPROMs (Serial Presence Detect) direkt aus, daneben gibt es Software wie ctsmb [8] oder den Motherboard-Monitor [9]. Letzterer hat den Vorteil, auch mit VIA-ChipsĂ€tzen und dem AMD Irongate umgehen zu können, erfordert aber ein lauffĂ€higes Windows 9x oder NT. FĂŒr die SDRAM-Speicher benötigt er zusĂ€tzlich ein Tool namens SPD-Info.
Aber Vorsicht: Gegen fehlerhafte EintrĂ€ge oder FĂ€lschungen ist das Modul durch das EEPROM nicht gefeit. So einfach, wie man es auslesen kann, lĂ€sst es sich auch beschreiben. Wenn es sich augenscheinlich um geeignete Riegel handelt, sollte man sie einmal herausnehmen und wieder sorgfĂ€ltig einsetzen. So manches Mal sind nur Kontakt-Probleme die Fehlerursache. Ansonsten ist der Speicher einem ZuverlĂ€ssigkeits- und StabilitĂ€tstest zu unterziehen. Speichertestprogramme gibt es dafĂŒr genĂŒgend, leider ist ihre Testwirkung aber oft eher weniger genĂŒgend. Zumindest erfordern sie auch eine âaktiveâ Mithilfe des Benutzers.
Denn ein StabilitĂ€tstest, der den Namen verdient, muss das System unter Stress setzen, der deutlich ĂŒber das NormalmaĂ hinausgeht. Das weiĂ jeder Arzt, der den Patienten etwa auf dem Pedalometer âquĂ€ltâ, um dessen Kreislauf beurteilen zu können. Bei Speichern heiĂt das: Wenn irgend möglich alle Speichersockel besetzen, notfalls mit ausgeliehenen Riegeln. Wer auĂerdem in der Lage ist, Temperaturen zu messen (Multimeter mit Temperatursensor gibts im Fachhandel), sollte seinem Speicher ruhig ein wenig einheizen (eine Rotlichtlampe hat sich bewĂ€hrt, GlĂŒhlampen tuns auch oder bereits das Einpacken in eine alte Socke), sodass sie bei 60 bis 70 °C arbeiten mĂŒssen - aber keinesfalls mehr.
Clevere ChipsĂ€tze wie der Intel BX sorgen ĂŒbrigens mit einem Schutzmechanismus dafĂŒr, dass sich der Speicher nicht ĂŒberarbeitet (Thermal Throttling). Dieser ansonsten nĂŒtzliche Mechanismus kann bei Tests und Messungen stören, er lĂ€sst sich ĂŒblicherweise aber nicht abschalten (ist durch ein Verriegelungsbit geschĂŒtzt).
Falls das BIOS-Setup einen verminderten Refresh erlaubt, empfiehlt es sich, diesen fĂŒr die Testphase einzustellen. Auch das Timing sollte man - so es manuell verĂ€ndert werden kann - an den Rand des âErlaubtenâ bringen, gegebenenfalls sogar leicht darĂŒber hinaus, indem man fĂŒr Zugriffszeiten und Verzögerungen kleinere Werte einstellt als die BIOS-Automatik erkennt. Alle Caches sollte man im Chipsatz-MenĂŒ zunĂ€chst einmal abschalten. SpĂ€ter im Betrieb setzt man natĂŒrlich wieder alles auf die Normalwerte.
ctRAMtst
Um Ihnen die Speichertestarbeit etwas zu erleichtern, haben wir nun das bislang den Abonnenten vorbehaltene Programm ctRAMtst [8] in der Version 5.0 zum Download bereitgestellt. Der Gag dieses Programms ist, dass es sich in den Videospeicher verlagert, wo es, sicher wie in Abrahams SchoĂ, nach âHertzenslustâ im Hauptspeicher herumwerkeln kann - so, als befĂ€nde es sich im ROM. Der Videospeicher wird nĂ€mlich normalerweise unabhĂ€ngig vom Memory-Controller durch den Video-Controller verwaltet und aufgefrischt (Ausnahme: UMA-Systeme wie Whitney).
Zwar lĂ€uft Software im Videospeicher um GröĂenordnungen langsamer, doch das muss man fĂŒr den guten Zweck eben in Kauf nehmen: Ein paar Stunden kann der Test schon dauern. ctRAMtst erfordert ein nacktes DOS ohne EMM386 und strapaziert ein wenig das VerstĂ€ndnis des Benutzers mit Begriffen wie Refresh, ParitĂ€t und Einzelbitfehler. DafĂŒr hat es aber seine Vorteile.
Da es nach seiner Verlagerung in den Videospeicher keinerlei Systemfunktionen mehr in Anspruch nimmt, weder Windows, DOS noch BIOS, kann es den gesamten Speicher beliebig ĂŒberschreiben. Anders als bei gĂ€ngigen Testprogrammen lĂ€sst sich so auch das BIOS-Shadow-RAM ĂŒberprĂŒfen und sogar der Refresh eine Zeit lang abschalten. Der regelmĂ€Ăige Refresh ist bei dynamischen Speichern nötig, um den Speicherinhalt zu erhalten. Eine verringerte Refresh-Rate entlarvt âschlappeâ Bits.
Mindestens bei einem Sechzehntel der normalen Refresh-Rate (Slow Refresh) sollten die Speicher noch fehlerfrei arbeiten. Nicht mehr schimpfen sollte man ĂŒber einen Speicher, der erst bei einem Hundertstel (very slow) der Normalrate Fehler erzeugt.
Je nach Lage im Speicher kann der stabile Zustand eines Bits Null oder Eins sein. Der Test muss also mindestens mit zwei zueinander inversen Mustern wie 55555555h und AAAAAAAAh erfolgen. Beide haben pro ĂŒberprĂŒftem Byte eine gerade Anzahl von Einsen, daher erfolgt noch eine dritte Testrunde mit 01010101h, damit ein möglicherweise vorhandenes ParitĂ€tsbit mitgetestet wird (bei Setup-Einstellung: ParitĂ€t ein).
Klappts mit ECC?
Ferner ermöglicht eine lĂ€ngere Refresh-Pause die ĂberprĂŒfung, ob denn nun bei teuer eingekauften ECC-Modulen die ParitĂ€tsprĂŒfung oder die Fehlerkorrekur (ECC) auch wirklich funktioniert - was keinesfalls immer der Fall ist. Datenfehler mit einer ungeraden Anzahl an Fehlern in einem 32-Bit-Datenwort sollten dann stets von einem ParitĂ€tsfehler begleitet sein. Bei funktionierender Fehlerkorrektur sollten hingegen Einzelbitfehler (Single Bit Errors) ĂŒberhaupt nicht auftreten, sondern nur Mehrbitfehler, denn Einzelbitfehler werden ja korrigiert [10]. Gibt es genĂŒgend Datenfehler, aber keine ParitĂ€tsfehler, so findet weder Fehlerkorrektur noch ParitĂ€tsprĂŒfung statt.
FĂŒr die ParitĂ€ts- und ECC-ĂberprĂŒfung des Gesamtsystems bietet ctRAMtst einen eigenen MenĂŒpunkt. Um wirklich Mehrbitfehler zu provozieren, muss der Refresh schon eine ziemlich lange Zeit ausbleiben, teilweise eine Minute oder sogar lĂ€nger. Findet ctRAMtst gar keine Mehrbitfehler, ist der Speicher offenbar recht stabil und man muss die Refresh-lose Zeit notfalls auf viele Minuten verlĂ€ngern. ctRAMtst gibt schlieĂlich die Anzahl der gefundenen Einbit- und Gesamtfehler aus, woraus sich die korrekte Funktion von ParitĂ€t oder ECC ableiten lĂ€sst.
Das Abschalten des Refreshs ist heutzutage Chipsatz-abhĂ€ngig. FrĂŒher war das anders, da zeichnete ein Kanal des Systemtimers dafĂŒr verantwortlich. ctRAMtst kennt jedoch auch die Refresh-Abschaltung vieler ChipsĂ€tze - die der neuesten Intel-Generation Whitney und Camino allerdings noch nicht.
Bei vielen ChipsĂ€tzen und Prozessoren vermag ctRAMtst bei Bedarf die Caches ein- und auszuschalten. Die Version 5 benötigt das eigentlich nicht, denn sie kommt im Unterschied zu vielen âKonkurrentenâ (siehe Kasten) auch prima mit eingeschalteten Caches klar. Sie sorgt nĂ€mlich dafĂŒr, dass die Caches immer mit solchen Speicherbereichen gefĂŒllt sind, die gerade nicht im Test stehen.
Wo steckst du?
Findet ctRAMtst einen Fehler, so zeigt es die Fehleradresse an, markiert die âschadhaftenâ Bits (0 steht fĂŒr OK, 1 fĂŒr Fehler) und wartet normalerweise auf einen Tastendruck. Herauszufinden, welches Modul nun verantwortlich ist, fĂ€llt allerdings nicht immer leicht. Das Programm jedenfalls weiĂ es nicht (vielleicht mal eine spĂ€tere Version), sondern begnĂŒgt sich mit der Angabe der fehlerhaften Adresse (in frĂŒheren Versionen gemeinerweise auch nur hexadezimal angezeigt, in V 5.0 jetzt auch als Dezimalzahl in MByte, was die Zuordnung doch etwas erleichtert).
Doch in welchem Sockel steckt das zugehörige Modul? Normalerweise beginnt die âAuffĂŒllungâ bei RAM-Sockel 0. Eine Fehleradresse beispielsweise bei 107 MByte und drei eingesteckten DIM-Modulen Ă 64 MByte beschuldigt eindeutig das Modul in der Mitte. Schwieriger wirds, wenn man etwa zwei DIM-Module Ă 32 MByte und eines Ă 64 MByte besitzt und gar nicht genau weiĂ, welches wo steckt. Hier können Programme wie ctia.exe [8] weiterhelfen, indem sie zumindest bei Intel- und AMD-ChipsĂ€tzen die Belegung in den Speichersockeln anzeigen.
AuĂerdem kann man versuchen, die Module einzeln durchzutesten. Zuweilen tritt der Fehler dann aber gar nicht mehr auf, sodass man schon darauf angewiesen ist, den Test mit mehreren eingesteckten Modulen durchzufĂŒhren. Dann bleibt nichts anderes ĂŒbrig, als die SpeichergröĂe der einzelnen Module und ihre Lage in den Sockeln zu ermitteln.
Mit Ă€lteren 32-bittigen PS/2-Speicher-Riegeln ist die Sache noch etwas schwieriger, da hier immer gleich zwei Speichermodule zusammen angesprochen werden. Ein Modul speichert die Wörter, deren Adressen hexadezimal mit 0 oder 8 enden, das andere ist fĂŒr Adressen mit 4 und C verantwortlich. Welches Modul auf welchem Sockel sitzt, lĂ€sst sich ohne weiteres nicht sagen. Hier ist mal wieder die altbekannte Versuch- und Irrtumsmethode gefragt, zu der aber weitere gleichartige PS/2-Module erforderlich sind. Man tauscht so lange Modul fĂŒr Modul und startet den Test erneut, bis der Fehler verschwindet oder sich auf andere Adressen verlagert. Auf das zuletzt getauschte Modul fĂ€llt dann der begrĂŒndete Verdacht.
FĂŒr Dauertests kann ctRAMtst wahlweise auch nur die Anzahl der aufgetretenen Fehler durchzĂ€hlen, statt jedes Mal auf eine Taste zu warten. Abbrechen lĂ€sst es sich ĂŒbrigens allein durch Reset - ohne Betriebssystem und BIOS ist der Rechner nun mal ziemlich hilflos...
Literatur
[1] Schwerpunkt zum Thema Prozessor-Upgrade, c't 10/99, S. 172 ff.
[2] POST- und Beep-Codes des BIOS: www.amibios.com/support [2] (AMI), www.phoenix.com/pcuser [3] (Award und Phoenix)
[3] Linux-Diagnosediskette [4]
[4] Oliver Diedrich, Der Pinguin hilft, Linux als Werkzeug zur PC-Diagnose, c't 26/98, S. 130
[5] Georg Schnurer, ... dann klapptâs auch mit SCSI, SCSI-Kompaktkurs in drei Teilen, c't 17 bis 19/98
[6] Peter Siering, Volle TĂŒcke, Umgang mit Betriebssystem-Installationen auf dem PC, c't 5/97, S. 336
[7] Harald Bögeholz, Vorletzte Rettung, Pfriemeln mit Diskedit und Debug, c't 5/97, S. 188
[8] c't-Systeminfo-Software (ctsmb, ctRAMtst, ctia)
[9] Motherboard-Monitor 4.12 und SPD-Info [5]
[10] Andreas Stiller, Daten auf sicheren Schienen, ĂŒber Wirkung und Nutzen von ParitĂ€t und ECC, c't 12/98, S. 232
[11] Peter Siering, Bermuda 2000, Mit dem PC sicher ins Jahr 2000, c't 23/99, S. 118
[12] Andreas Stiller, PCI-Diagnose, POSTboard PCI von Poets Computertechnik, c't 21/99, S. 112
[13] Andreas Stiller, Mathias Poets, Harte Hilfe, Einsatz von Diagnosekarten, c't 26/98, S. 142
FĂŒnf vor 2000
Allen Katastrophenmeldungen zum Trotz wird kaum ein PC im Jahr 2000 Programme und Daten löschen oder womöglich explodieren. Eventuelle Probleme beim Jahreswechsel stecken eher im Detail. Bei der Software kann man nur hoffen, dass Hersteller offen Auskunft geben (fĂŒr eine Ăbersicht siehe [11]). Ein Hardware-Detail ist der Uhrenbaustein, der in jedem PC steckt und das aktuelle Datum speichert. WĂ€hrend jĂŒngere PCs es normalerweise selbst ins Jahr 2000 schaffen, bedĂŒrfen Ă€ltere wahrscheinlich beim ersten Einschalten im neuen Jahr einer manuellen Korrektur: Der integrierte Uhrenchip (RTC) springt auf â00â, da er die Jahreszahl nur zweistellig zĂ€hlt. Eine statische Speicherstelle im CMOS-RAM, die das Jahrhundert hĂ€lt, zĂ€hlt ein solcher PC nicht automatisch weiter. Ein einmaliges Neueinstellen des Datums mit DOS oder Windows genĂŒgt bei alten PCs aber. Selten, speziell bei PCs mit Award-BIOS aus den Jahren 94 bis 96, kann es passieren, dass das Datum beim nĂ€chsten Einschalten auf 1996 oder 1994 steht.
Unter www.heise.de/ct/y2k stellen wir Testsoftware fĂŒr die Jahr-2000-Tauglichkeit zum kostenlosen Download bereit. Sie ĂŒberprĂŒft die Hardware sowie das BIOS und unterscheidet die oben genannten und noch ein paar weitere FĂ€lle. Den Award-Bug korrigiert gegebenenfalls ein kleines TSR-Programm, sodass Sie fĂŒr den Jahrtausendwechsel gewappnet sind. (ps [6])
POST vom BIOS
Eine Port-80-Karte, auch POSTcard genannt, bringt Licht in die dunkle Phase des PC-Startvorgangs, in der der Bildschirm schwarz bleibt. Sie verdankt ihren Namen dem Power On Self Test (POST), den der Rechner nach dem Einschalten durchfĂŒhrt. WĂ€hrend dieses Selbsttests gibt das BIOS zu Beginn einer jeden Testroutine einen Diagnosecode an den normalerweise unbelegten I/O-Port 80h aus. Eine einfache Steckkarte zeigt diese Information als zweistellige Hexadezimalzahl an. POSTcards gibt es in verschiedenen AusfĂŒhrungen fĂŒr den ISA- und PCI-Bus [12], [13]. Die besseren haben zusĂ€tzliche Messfunktionen eingebaut und zeigen beispielsweise per LED die Versorgungsspannungen auf dem Bus oder den Zustand einiger PCI-Signale an. FĂŒr den Einzelnen lohnt die Anschaffung einer POSTcard zwar meist nicht, jedoch kann es sinnvoll sein, sich mit mehreren Bekannten oder im Computerclub die Kosten zu teilen. Aus ServicewerkstĂ€tten sowie dem c't-Labor sind POSTcards nicht mehr wegzudenken.
Direkt nach dem Einschalten sollten auf dem Port-80-Display in schneller Folge wechselnde Zahlen erscheinen. RĂŒhrt sich hier gar nichts, so lĂ€uft der Prozessor aus irgendeinem Grund nicht an, und es gilt, Versorgungsspannungen, Jumperstellungen und den festen Sitz der CPU zu ĂŒberprĂŒfen. StĂŒrzt der Rechner im Verlauf des Selbsttests ab, so bleibt eine Zahl im Display stehen, und man kann an Hand einer Liste entschlĂŒsseln, was das BIOS als Letztes getan hat. Listen der POST-Codes finden sich auf den Webseiten der BIOS-Hersteller [2]. Sie sind allerdings mit Vorsicht zu genieĂen, denn jeder Boardhersteller kann sie abwandeln oder zusĂ€tzliche Codes vergeben.
Sorgenkind Speicher
Aufgabe des Arbeitsspeichers ist es, Millionen von Einzelinformationen sicher ĂŒber Stunden, Tage und Wochen vorrĂ€tig zu halten, um irgendwann beliebig ausgewĂ€hlte davon in Mikrosekundenbruchteilen an die CPU zu liefern, daher der Name RAM: âRandom Access Memoryâ. Fehlerquellen sind dabei sehr vielfĂ€ltig. Es können Ă€uĂere EinflĂŒsse sein, etwa radioaktive Teilchen, oder Störungen auf den Signal- oder Spannungsleitungen (âSpikesâ und âGlitchesâ). Oder interne InstabilitĂ€ten - schlieĂlich reicht es ja aus, wenn ein einziges Bit etwas âschlappâ ist und irgendwann kippt.
Die FlexibilitĂ€t bei der SpeicherbestĂŒckung ist eine enorme Herausforderung fĂŒr die Boarddesigner. Je nachdem, wie ein Modul aufgebaut und organisiert ist, ob ein, zwei oder drei Module eingesteckt sind und mit welchem Takt gearbeitet wird, Ă€ndern sich die Signalbelastung und das Timing. Das musste Intel bitter erfahren, als sich erst nach einer Unmenge von Tests herausstellte, dass der Rambus-Chipsatz Camino bei drei eingesteckten Modulen in bestimmten BestĂŒckungsvarianten nicht mehr zuverlĂ€ssig funktionierte.
Schlechte Designs auf Board, Sockel oder RAM-Modul beeintrĂ€chtigen ferner das Timing und begĂŒnstigen Störungen. Insbesondere kommt auch Korrosion der Kontakte als Fehlerquelle in Frage.
Und letztlich gibt es die wohl hĂ€ufigste Ursache fĂŒr Speicherprobleme: Das Speichermodul taugt einfach nichts. Zuhauf wird auf dem Billigmarkt Speicher verramscht, der eher als minderwertig in andere KanĂ€le gehört hĂ€tte, etwa als Video- oder Laserdruckerspeicher, wo das ein oder andere umgekippte Bit nicht so stört. Bei Zimmertemperatur und als einziges Modul im System mag so ein minderwertiges Modul wohl noch funktionieren, aber wehe, es wird im PC wĂ€rmer oder man steckt ein zweites Modul hinzu.
Die Speicherhersteller können belegen, dass die AnfĂ€lligkeit ihrer Produkte gegenĂŒber den so genannten Soft Errors (insbesondere RadioaktivitĂ€t) im Laufe der Jahre erheblich gesunken ist. Lag die Soft Error Rate (SER) zu Beginn der PC-Ăra noch bei einem Fehler alle 120 Betriebsstunden, so sank sie in den 90er-Jahren unter einen Fehler alle acht Betriebsjahre [10]. Um solche Fehler zu erkennen, hatte man dem Speicher frĂŒher ein zusĂ€tzliches PrĂŒfbit (ParitĂ€t) spendiert, das heute mit Blick auf die niedrige SER zumindest in Desktop-Rechnern meist wegrationalisiert ist. Ein PrĂŒfbit wĂ€re aber dennoch recht nĂŒtzlich, könnte es doch schnell und eindeutig mangelhafte Speicher und schlechtes Board-Design verpetzen - doch das soll ja wohl nicht sein.
Und mehr noch, moderne Fehlerkorrektur-Techniken (ECC, Error Correcting Codes) ermöglichen sogar, einfache Fehler âauszubĂŒgelnâ. Seltene Soft-Errors und sogar kaputte oder schlappe Speicherzellen sind dann kein Problem, dank ECC lĂ€uft der Rechner korrekt weiter. Bessere Systeme merken sich auĂerdem die Zahl der ECC-Korrekturen und können so den Benutzer auf Speicherprobleme hinweisen.
TrĂŒgerische Sicherheit
WĂ€hrend aktuelle CPUs beim Hochfahren des Systems einen mehr oder weniger ausfĂŒhrlichen Selbsttest durchfĂŒhren, ist das bei den Speichern heutzutage leider nicht der Fall. Hier ist das BIOS beim Power On Self Test (POST) dafĂŒr verantwortlich. Doch mehr als ein ganz grober Test, der hauptsĂ€chlich zur Erkennung der GröĂe und Lage der eingesteckten Module dient, findet in der Regel nicht statt. Schade, dass man im Setup auf den MenĂŒpunkt âausfĂŒhrlicher Speichertestâ bislang verzichten muss, denn gerade das BIOS wĂ€re dazu optimal im Stande, kennt es doch Board und Chipsatz genau. AuĂerdem residiert es geschĂŒtzt im ROM, sodass es im Speicher herumfuhrwerken kann, wie es will - ohne dass das System abstĂŒrzt.
Ein richtiger Speichertest ist allerdings sehr aufwĂ€ndig. Per Software im PC ist sowieso nur eine winzige Untermenge eines grĂŒndlichen Tests möglich. Hardware-Testsysteme können wesentlich mehr, etwa den Speicher an seine jeweiligen Limits fahren, bei Worst-Case-Bedingungen wie Unter- oder Ăberspannung und maximaler GehĂ€usetemperatur messen, diverse Timing-Parameter durchspielen und so fort. Aber selbst sie können keinen kompletten Test absolvieren, denn der Fehlermöglichkeiten sind zu viele. Einfach in den Speicher hineinschreiben und das Richtige (oder Falsche) wieder auslesen, ist noch die leichteste Ăbung - auch wenn selbst da noch diverse Fallstricke lauern. Aber wer sagt denn, dass beim Hineinschreiben nur die Zelle an der gewĂŒnschten Adresse und nicht fĂ€lschlicherweise noch eine andere verĂ€ndert wird? Das festzustellen, lĂ€sst schon den Aufwand quadratisch mit der SpeichergröĂe wachsen. Solche und Ă€hnliche denkbare Fehlerszenarien ziehen dann fix Testzeiten von Hunderten von Jahren nach sich ... fĂŒr Götter mag das angehen, fĂŒr Normal-User eher nicht.
Man beschrĂ€nkt sich daher beim Test auf wenige ausgewĂ€hlte Verfahren, die der physischen Struktur der DRAMs in Zeilen und Spalten angepasst sind und Fehler mit hoher Wahrscheinlichkeit aufspĂŒren.
Ein Trauerspiel
In der RealitĂ€t fischen die PC-Programme zum Speichertest allerdings ziemlich im TrĂŒben. Kaum eines berĂŒcksichtigt den Einfluss der diversen Caches und Puffer. In vielen FĂ€llen bleiben Speicherzellen völlig ungetestet. Ja, es gibt so genannte Speichertests, die so primitiv sind, dass sie ausnahmslos im Cache ablaufen. Nun kann man die Caches im Setup abschalten, sodass zumindest alle Speicherzellen einmal angefasst werden. Doch es gibt sogar Software, die so blind ist, immer nur ein Datum zu schreiben und es gleich darauf zurĂŒckzulesen. Das befindet sich dann noch im Schreibpuffer und man testet den Puffer: toll!
Doch Speichertests mit abgeschalteten Caches sind nur die halbe Miete. SchlieĂlich ist das nicht der normale Betriebsfall. Der Speicher wird hierbei sehr langsam im so genannten Non-Burst-Modus betrieben. Viel wichtiger ist hingegen der bei eingeschalteten Caches aktivierte schnelle Burst-Modus, wo etwa bei den SDRAMs mit jedem Takt ein Datum aus dem Zeilenpuffer des Speichers gelesen oder in ihn geschrieben wird. Hierbei können Timing-Probleme zu Tage treten, die im Non-Burst-Modus nicht vorkommen. Ein gutes Testprogramm sollte daher auch in der Lage sein, mit eingeschalteten Caches verlĂ€ssliche Ergebnisse zu liefern. Das durchzufĂŒhren ist bei mehreren kaskadierten Caches mit unterschiedlichen Eigenschaften jedoch alles andere als einfach. Hier sind nĂ€mlich je nach Chipsatz, Prozessor und Konfiguration verschiedene Cache-Mechanismen zu berĂŒcksichtigen, etwa Write Back/Through sowie unterschiedliche FĂŒllstrategien (beispielsweise Write Allocation). (as [7]) (bo [8])
URL dieses Artikels:
https://www.heise.de/-287428
Links in diesem Artikel:
[1] http://www.powerquest.com
[2] http://www.amibios.com/support
[3] http://www.phoenix.com/pcuser
[4] http://www.toms.net/rb
[5] http://members.brabant.chello.nl/~a.vankaam/mbm
[6] mailto:ps@ct.heise.de
[7] mailto:as@ct.heise.de
[8] mailto:bo@boegeholz.org
Copyright © 1999 Heise Medien