USB Tastatur versagt plötzlich unter Windows?


AVAILABLE IN GERMAN ONLY...

- USB-Tastatur funktioniert im BIOS, aber nicht mehr sobald Windows (XP) geladen wird?
- Gerade eben ging alles noch, plötzlich ist kein Tippern mehr möglich?
- Ihr kommt nicht am Login-Dialog vorbei?
- Ihr habt das ganze Internet abgegoogelt, nichts funktionierte?
- Die letzten Optionen scheinen

  • Backup aufspielen
  • Neuinstallation (*graus*)

Da seid ihr nicht alleine, aber es gibt noch Hoffnung, falls die Maus weiterhin funktioniert...


Es begann harmlos...

WIN-L gedrückt um mich auszuloggen. Hoppla, keine Reaktion?
Plötzlich machte die Tastatur, die noch wenige Sekunden zuvor lief, keinen Mucks mehr.
Blöd. Aber die war ja eh alt...

Mhh, zwei andere Tastaturen funktionieren auch nicht? Was jetzt? USB Port hinüber?

Na ja, Windoof mal neu starten, ist ja ohnehin nach jeder vierten bis fünften Mausbewegung erforderlich. Prima, BIOS Passwortabfrage geht!

Tja, und dann war er da, der Anmeldebildschirm...

Man schaut schon ein bißchen dämlich aus der Wäsche, wenn man das 87. Mal die Tastatur ab- und wieder angestöpselt hat, der Rechner gefühlte 20 Mal im abgesicherten Modus gestartet wurde, sich Wiederherstellungspunkte als reine Makulatur erweisen oder man einfach wie der Ochs vorm Berg - oder der Reparaturkonsole sitzt.

Ach, hätte man doch noch einen PS/2 Anschluß, wäre doch der Remote-Desktop Zugang aktiviert, könnte doch nur irgendwie die Bildschirmtastatur aktiviert werden.

Wenn man doch nur am Anmeldebildschirm vorbeikommen könnte, ja, dann hätte man wenigstens die Option mit der (noch funktionierenden) Maus irgendetwas zu retten...

Mhh, automatisches Login? Moment mal...


Die Lösung

Nach rund 20 Stunden der Herumfriemelei hatte ich mich innerlich schon fast mit dem Einspielen eines Backups, was mich neun Tage zurückgebombt hätte oder dem Anwenden der Windows-CD "Systemwiederherstellung" abgefunden.

Aber so leicht läßt man sich nicht ins Bockshorn jagen...
Automatisches Login, ja?

Die Lösung war schnell ergoogelt (wenn man die 20 vorherigen Stunden nicht mitzählt), lediglich das Einfügen von ein paar Schlüsseln


  DefaultUserName = UserName
  DefaultPassword = UserPassword
  AutoAdminLogon = 1
						
in der Registry, unter


  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
						
sollte reichen. Schön, und wie geht das ohne Remote-Registry Dienst?

Schon oft gehört, aber bislang nie benutzt:

Bart's PE-Builder

Runterladen, Installieren, Ausführen, Brennen, Booten und folgenden Anweisungen folgen:

Mittels GO -> Run "regedit" starten.
Achtung: Nicht Herumfingern, das ist die Registry des PE-Systems, nicht die des zu rettenden Systems!

Jetzt den Eintrag


  HKEY_LOCAL_MACHINE 
						
hervorheben und unter "Datei" die Option "Struktur importieren" anwählen.

Im geöffneten Dateidialog klickt man sich bis


  c:\WINDOWS\SYSTEM32\CONFIG
						
durch und wählt die (Registrierungs-) Datei "Software" (ohne Endung):


  software
						

Sollten im Verzeichnis "C:\WINDOWS" keine Dateien oder Ordner sichtbar sein, einfach im Eingabefeld des Dateinamens


  *.*
						
eintippern und Return drücken.

Nach Anwählen der Software-Registrieungsdatei öffnet sich ein Dialog, der einem Schlüsselnamen verlangt.
Einfach


  ZZZ
						
oder etwas anderes, eindeutiges eintippern und - schwupps - erscheint der komplette Software-Registry-Baum des C-Laufwerks innerhalb der PE-Builder Einträge.

Durchklicken bis


  HKEY_LOCAL_MACHINE\ZZZ\Microsoft\Windows NT\CurrentVersion\Winlogon
						
und folgende Einträge erstellen oder ändern:


  DefaultUserName = UserName
  DefaultPassword = UserPassword
  AutoAdminLogon = 1
						

"DefaultUserName" steht üblicherweise schon richtig. Das ist der Login-Name, den Windoof für uns im Anmeldedialog automatisch ausfüllt.

Aber Achtung: Der Account muß bereits existieren und die Kombination Username/Passwort richtig sein!

Nachdem die Einträge gemacht sind, den "ZZZ" Zweig anwählen und unter "Datei" die Option "Struktur löschen" wählen ("Struktur löschen"! NICHTS ANDERES wo irgendwo "löschen" stehen mag!).

Registrierungseditor schließen, Stoßgebet und System neu booten...


Nachdem das Problem auf meinem Rechner behoben war, habe ich noch ein paar simulierte Ausfälle durchgespielt.
In allen Fällen begann Windows, kurz nach Starten des Systems, mit dem Installieren der Treiber für die USB Root-HUBs. Da sämtliche benötigten Dateien ja bereits irgendwo in den Tiefen des Windoof-Dateisystems abgelegt waren und somit kein manuelles Anwählen von Verzeichnissen (Maus/Tastatur) erforderlich ist, kann das Reparieren des Systems sogar ohne Maus funkionieren.

Wenn nichts passiert, hat man immerhin noch die letzte Chance den USB Modus (high, legacy, 1.0/2.0, oder ähnlich) im BIOS zu verändern. In vier von fünf simulierten Fällen begann Windoof danach mit der (Re-) Installation der Treiber und Maus sowie Tastatur wurden reaktiviert.


Und jetzt erst mal durchatmen und unverzüglich Remote-Desktop aktivieren... ;-)


Für Lesefaule
















Backup (optional, aber anzuraten)

Wer (nicht ganz unberechtigt) ein bißchen Bammel vor den oben genannten (oder anderen) Rettungsmaßnahmen hat, sollte jetzt das Nötigste sichern...

Es gibt bestimmt bessere oder professionellere Wege in dieser Situation ein Backup anzufertigen, aber auf die Schnelle behilft man sich mit Einfacherem:

  • Linux Live CD (Knoppix)
  • USB-Festplatte oder NFS-Server
Nachdem Knoppix hochgelaufen ist, erst einmal die zu rettende Windoof Partition, mit nur-Lesen Option, einhängen.

Wissen sollte man allerdings schon, WO die zu rettenden Daten zu finden sind.

Auf einem moderneren Standardsystem, mit nur einem Betriebssystem und S-ATA (oder SCSI) Platten, wäre /dev/sda1, die erste Partition ("1") auf der ersten Platte ("a"), die erste Wahl.
Dementsprechend /dev/sdb1, für die erste Partition der zweiten Platte ("b") oder /dev/sdc4, für die vierte Partition ("4") der dritten Platte ("c").

Auch wenn heutzutage viele Linux Distributionen, auch für IDE Adapter, auschließlich /dev/sd... benutzen, können bei einem richtigen IDE-Oldie (oder einer anderen Live-Distribution als Knoppix) die Festplatten unter /dev/hd... zu finden sein.
Hier gelten, wie oben, die gleichen Nameskonventionen: /dev/hd<x><y>, mit x = a..d für die erste bis vierte Platte, und y = 1..4, für die erste bis vierte Partition.

Damit sich das Suchen in Grenzen hält, falls man wirklich nicht die geringste Ahnung hat, wo die Platte zu finden ist, sollte man vorab, soweit vorhanden, sämtliche USB-Sticks oder andere Flash-Laufwerke, die nicht benötigt werden, abstöpseln. Diese erscheinen nämlich ebenso unter /dev/sd... und können einiges durcheinanderwirbeln.

Eine Übersicht aller verfügbaren Laufwerke kann folgendermaßen angezeigt werden:


  knoppix@Microknoppix:~$ fdisk -l
						

Für das XP-Standardsystem (erste Platte, erste Partition), hängt man das Dateisystem wie folgt ein:


  knoppix@Microknoppix:~$ sudo mount -ro /dev/sda1 /media/sda1
						
Falls keine Fehlermeldung erscheint, steht der Inhalt der Platte jetzt unter dem Verzeichnis "/media/sda1" zur Verfügung. Knoppix war bereits so nett und hat für uns bereits sämtliche Einhängepunkte vorbereitet.

INSERT IMAGE, RIGHT HERE

ACHTUNG: Der Parameter "-ro" (read-only) sollte nie, niemals und nimmer vergessen werden.
Ein einziger, kleiner Vertipper reicht aus um alles zu zerstören...

Tippfaule bemühen an dieser Stelle den "Midnight Commander",


  knoppix@Microknoppix:~$ mc
						
die drittbeste Erfindung seit Norton Commander, oder dem, uneingeschränkt zu empfehlenden, Windoof-Pendant Total Commander (früher auch "Windows Commander", bis man die Ghislers zwang das W-Wort zu entfernen).

Als nächstes benötigen wir noch ein Sicherungsziel.
Stöpselt man jetzt eine USB-Festplatte an, kann man mit


  knoppix@Microknoppix:~$ dmesg
						
sehen, als welches Gerät sie unter Linux zu Verfügung steht, oder man schaut sich, den von Knoppix erstellten, geänderten Dateibaum in /media an:


  knoppix@Microknoppix:~$ cd /media
  knoppix@Microknoppix:/media$ ls -l
  insgesamt 0
  drw........................... sda1
  drw........................... sda2
  drw........................... sda3
  drw........................... sdb1
  drw........................... sr0
						
In diesem Fall ist /dev/sdb1 die externe USB-Festplatte.
Einhängen, wie schon oben beschrieben, aber ohne "-ro" flag:


  knoppix@Microknoppix:~$ sudo mount /dev/sdb1 /media/sdb1
						
Wer NFS (Network File System) benutzt, braucht "nur" die IP-Adresse des Servers und das Export-Verzeichnis anzugeben:


  knoppix@Microknoppix:~$ sudo mount 192.168.1.89:/volume1/Whatever /mnt-user
						
Weil das hier kein Linux Kurs ist und mir wahrscheinlich, nach über 20 Jahren Erfahrung mit Un*x Derivaten, einige Sachen zu selbstverständlich erscheinen, hier das, was Tante Google sagt.

Hat man sich 20-30 Mal versichert, daß die zu LESENDEN Daten auf, z.B.


  /media/sda1
						
sind und wirklich HIERHIN geschrieben werden soll


  /mnt-user
						
Dann reicht ein einziges


  sudo cp -r /media/sda1/* /mnt-user
						
um die komplette Platte, allerdings mit geänderten Daten (*1*) und Attributen, zu sichern.
Das mag zunächst rudimentär erscheinen, bietet im Gegensatz zu "cpio", "tar" oder gar komplett proprietären Lösungen entscheidende Vorteile:
  • Jede Datei die kopiert ist, IST kopiert und somit gesichert.
  • Das Backup kann (ohne Software) auf jedem beliebigen Rechner verarbeitet werden.
  • Wenn ein einzelnes Bit/Byte kippt, betrifft das EINE Datei und nicht das ganze Archiv.
  • Direkter Zugriff auf einzelne Dateien.
  • Man zeige mir den, der 100GB++ TAR(G/B-ZIP)/CPIO fehlerfrei zurückspielt ;)

Nach ein paar Stunden muß der Kram nur noch ausgehängt werden:


  knoppix@Microknoppix:~$ sudo umount /mnt-user
  knoppix@Microknoppix:~$ sudo umount /media/sda1
						



===
(*1*) Da das regelmäßig zu absonderlichen Verwirrungen führt:
Daten == Datumsangaben. Klar? ;-)




ASkr 09/2011: initial public release