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.

In Pocket speichern vorlesen Druckansicht 27 Kommentare lesen
Lesezeit: 40 Min.
Von
Inhaltsverzeichnis

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.

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.

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.

Mit einem sachkundigen Blick ins Rechnergehäuse kann man bei PC-Problemen eine ganze Menge Fehlerquellen eliminieren. Damit man alle Einzelteile besser sehen kann, haben wir das Gehäuse hier einmal weggelassen.

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.

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.

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.

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.

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

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.

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.

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

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.

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

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.

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

[1] Schwerpunkt zum Thema Prozessor-Upgrade, c't 10/99, S. 172 ff.

[2] POST- und Beep-Codes des BIOS: www.amibios.com/support (AMI), www.phoenix.com/pcuser (Award und Phoenix)

[3] Linux-Diagnosediskette

[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

[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

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)


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.

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.

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.

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) (bo)