Netzwerkverbindungen trennen bei Systemfehler 1219

By dose | August 6, 2009
Under: Uncategorized
Comments: No Comments »

Unter Windows kommt es ja öfters vor, dass man mal schnell über UNC-Pfad auf einen Server zugreift. Da erscheint dann ein Dialog, in welchem man Benutzername und Kennwort angeben soll, um sich am Server zu authentifizieren.

Nun kann es vorkommen, dass, sofern man sich mit einem gültigen Benutzernamen angemeldet hat, man sich auf dem Server mit einem anderen Benutzernamen anmelden will aber Windows zeigt natürlich den Dialog zur Eingabe von Benutzername und Kennwort nicht mehr an, da man sich ja schon mit einem gültigen Konto angemeldet hat.

Nachdem man über einen UNC-Pfad operiert hat gibt es auch keine zugewiesenen Laufwerksbuchstaben für Netzlaufwerke, die man trennen könnte und so endet dann jeder Verscuh, sich mit einem anderen Bentuzernamen anzumelden mit Systemfehler 1219: “Mehrfache Verbindungen zu einem Server oder einer freigegebenen Ressource von demselben Benutzer unter Verwendung mehrerer Benutzernamen sind nicht zulässig.”

Die Lösung ist eigentlich naheliegend, trotzdem habe ich für meinen Teil etwas gebraucht um draufzukommen, nachdem ja kein LAufwerksbuchstabe zugeordnet war. Am Commandprompt:

net use

Das zeigt mal alle Verbindungen an, auch welche ohne Laufwerksbuchstabe nur mit UNC-Pfad (Steht in der Spalte Remote). Für jede Verbindung dann einfach ausführen:

net use [UNC-Pfad] /delete

und schon kann man sich mit dem Server wieder neu verbinden.

Windows XP in Terminalserver verwandeln

By dose | May 5, 2009
Under: Uncategorized
Comments: No Comments »

Bin neulich zufällig über folgenden Link gestolpert. Ist zwar nicht wirklich legal, aber eine interessante Möglichkeit:

http://deepxw.blogspot.com/2009/04/universal-termsrvdll-patch.html

Damit kann man die Remotedesktop-Funktionen von Windows XP besser nutzen. Und so gaaanz illegal ist es ja nun auch nicht, denn Microsoft hat in der frühen Beta von Windows XP SP2 die Beschränkung auf eine Verbindung schonmal aufgehoben gehabt. Aber das ist eine andere Geschichte…

Überschreitung der Maximalen Pfadlänge und Explorer

By dose | April 28, 2009
Under: technical stuff
Comments: No Comments »

Heute hatte ich bei einem Kunden einen interessanten Fall:
Dieser hatte in seinem “Eigene Bilder” Verzeichnis in verschiedneen Unterverzeichnissen Bilddateien abgespeichert.

In einigen Unterordnern wurde bei Bildern kein Vorschaubild angezeigt. Weiters gab es keine Möglichkeit, die Datei umzubenennen (Beep bei F2), auch kopieren, ausschneiden, verschieben usw. war nicht möglich. Im Kontextmenü fehlte ebenfalls der Menüpunkt “Eigenschaften”. Öffnen der Datei war natürlich auch nicht möglich, weder mit Doppelklick noch mit “öffnen”.
In der Eingabeaufforderung wurde die Datei mit dem dir Kommando angezeigt, bei attrib jedoch nicht. cacls * stoppte bei der ersten problematischen Datei mit einer Fehlermeldung.
Versuchte man im “Öffnen”-Dialog einer Applikation, die Datei zu öffnen, so wurde vermeldet, dass diese nicht gefunden werden kann.

Ein chkdsk lieferte keine Probleme im Dateisystem.
Beim Vergleich der funktionierenden und nicht funktionierenden Dateien fiel mir auf, dass nur Dateien mit relativ langen Dateinamen betroffen waren. Der Ordner, in dem die Dateien gespeichert waren, hatte ebenfalls einen relativ langen Nnamen. Als Programmierer fiel mir aufgrund dieser Gemeinsamkeiten dann irgendwann die MAX_PATH Konstante ein. Die gibt die maximale Länge eines Verzeichniseintrags, aber gleichzeitig auch die Maximallänge eines Pfades an! Nimmt man nun den tatsächlichen Pfad zum Eigene Dateien Verzeichnis und die Ordnernamen zusammen, so wurde die maximale Pfadlänge überschritten und damit funktionierte das Ganze dann nicht mehr, was zu den merkwürdigen Symptomen führte. Die Probe aufs Exempel: Kürzung des Ordnernamens (Dateiname kann ja nicht editiert werden bei Überschreitung): Siehe da, plötzlich konnte man die Dateien wieder verwenden.

Also: Falls die oben genannten Symtome auftreten, einfach mal die Pfadlänge prüfen.

Outlook Express von totem System migrieren

By dose | April 25, 2009
Under: Uncategorized, technical stuff
Comments: No Comments »

Es ist ja hinlänglich bekannt, wie man Outlook Express-Daten migriert: Einfach aus dem “Dokumente und Einstellungen\[User]\Lokale Einstellungen\Anwendungsdaten\Identities” Ordner die .dbx Fiels kopieren.

Dadurch werden jedoch die Einstellungen nicht übertragen. Um diese ebenfalls zu übertragen kann man sich das Feature zum Laden von Strukturen des Windows Registry Editors zunutze machen.

Folgende Vorgehensweise bietet sich daher an:

1) Kopieren des Ordners Dokumente und Einstellungen\[User]\Lokale Einstellungen\Anwendungsdaten\Identities in denselben Ordner der neuen Installation

2) Kopieren des Adressbuchs aus Dokumente und Einstellungen\[User]\Lokale Einstellungen\Anwendungsdaten\Microsoft\Address Book in das neue Verzeichnis.

3) Laden der alten Registry-Struktur im Registry-Editor. Hierzu geht man auf den Schlüssel HKEY_USERS, dann im Menü Datei auf Struktur laden… und gibt als Strukturname z.B. “alt” ein.

4) Exportieren folgender Schlüssel unterhalb des “Alt”-Zweigs in eine .reg Datei:

HKEY_CURRENT_USER\Identities
HKEY_CURRENT_USER\Software\Microsoft\Internet Account Manager

5) Schlüssel “Alt” mittels Datei/Struktur entfernen… wieder entladen.

6) Die exportierten .reg files editieren und den Pfad von HKEY_USERS\alt auf HKEY_CURRENT_USER ändern.

7) .reg Dateien importieren

8 ) Outlook Express starten und die Passwörter für die Accounts neu eingeben.

Könnte man eventuell acuh mit einem Programm automatisieren, aber händisch ist es auch nicht soviel Arbeit.

site update

By newq | April 7, 2009
Under: Uncategorized
Comments: No Comments »

hardwarefetish.com wurde mit heute auf wordpress umgestellt.

daher: rss feed läuft nun über feedburner und befindet sich hier: hardwarefetish.com/feed.

neues design und evtl. ein paar komfortable features folgen demnächst, die alten inhalte werden nach möglichkeit in den nächsten tagen wieder hergestellt.

danke für die aufmerksamkeit.

Debian Server ueber NEtzwerk auf neuen RAID1-Server migrieren

By dose | February 16, 2009
Under: Uncategorized, technical stuff
Comments: 1 Comment »

Am Wochenende hatte ich die Aufgabe, einen bestehenden Server auf einen neuen Rechner migrieren. Der neue Rechner
hat 2 Festplatten drin, die man als Software-RAID1 gespiegelt im Verbund betreiben kann.
Im Internet habe ich einige Anleitungen gefunden, wie man ein laufendes System zu einem RAID-1 Verbund konvertiert, aber der Aufwand ist in diesem Fall ja nicht nötig, da man ja übers Netzwerk auf ein komplett neues System migrieren kann.
Ich habe micht daher etwas herumgespielt und diese Anleitung entwickelt.
Vielleicht kann ja mal jemand was damit anfangen.

Erzeugung von core dump erzwingen trotz eigenem SIGSEGV handler

By dose | February 11, 2009
Under: Uncategorized, technical stuff
Comments: 4 Comments »

Ein Problem mit Programmen ist, dass diese immer mal wieder abstürzen. Der Kunde mault, der Entwickler ist ratlos wie es dazu gekommen ist. Um post-mortem noch etwas über den Crash der Applikation feststellen zu können, gibt es unter *nix coredump-files.
Nun kann man mit ulimit -c unlimited die Erstellung dieser coredump zwar einschalten, aber das nützt nix, wenn man einen eigenen Signal handler für SIGSEGV hat, in dem man z.B. einen Stacktrace generieren und in ein Logfile zur Schnellanalyse schreiben kann.
Zufällig bin ich auf einen Mailinglisteneintrag gestoßen, wo erklärt wird, wie man den Signalhandler so setzt, dass trotzdem noch ein Stacktrace generiert wird. Prinzipiell muss man mit sigaction mithilfe des Flags SA_RESETHAND einstellen, dass der Signal-handler selbst auch wieder ein signal absetzen darf und im Signal-handler dann mit raise das Signal nochmals senden, sodass der Kernel den Coredump produziert.

Ich habe den Code noch etwas erweitert, um z.B. die Erstellung eines Coredumps trotz ulimit -c 0 zu ermöglichen
und in meinem Signal handler gibt’s einen Stracktrace auf stderr.
Den Beispielcode findet man hier

Das weitere Debuggen des coredumps sollte dann ohnehin bekannt sein:
gdb [executable] [coredump]
thread apply all bt

Defekte Windows XP Registry wiederherstellen

By dose | January 28, 2009
Under: Uncategorized, technical stuff
Comments: No Comments »

Nachdem ich heute mal wieder einen Fall hatte, bei dem die Windows XP Registry-Datei (konkret der SYSTEM hive) im Eimer war, bin ich auf diesen Link gestoßen, wo erklärt wird, wie man mithilfe von Systemweiderherstellungspunkten die Registry-Datei wiederherstellen kann.
Konkret geht’s relativ einfach: Mit Bart PE booten, im “System Volume Information” Ordner den neuesten Systemwiederherstellungspunkt (RP* Verzeichnis mit der höchsten Nummer) suchen und die jeweilige Registry-Datei in %systemroot%\system32\repair\ zurückkopieren.
Das Mapping der Files steht ebenfalls beschrieben:


copy c:\windows\tmp\_registry_machine_software c:\windows\system32\config\software
copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system
copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam
copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security
copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default

c:\windows\tmp natürlich durch den jeweiligen RP-Ordner ersetzen.

SIL3112 SATA-Controller des P4G8X Mainboards für Platten >750GB (z.B. 1TB) einrichten

By dose | January 7, 2009
Under: Uncategorized, technical stuff
Comments: 3 Comments »

Habe gestern ein P4G8X Mainboard geschenkt bekommen und wollte den neuen Rechner auch gleich entsprechend “würdigen”, indem ich ihm eine 1TB SATA-Platte verpasse.
Also schnell mal eine 1TB Platte gekauft, reingesteckt und…. …ernüchterung. Der SATA Controller bleibt beim Erkennen der Platte hängen. Na Prima! Also mal auf der Mainboard-Herstellerseite nach einem BIOS-Update suchen.. Fehlanzeige, das neueste BIOS ist von 2003. Was also tun?
Glücklicherweise bin ich dann auf folgenden Thread gestoßen: http://forums.seagate.com/stx/board/message?board.id=ata_drives&thread.id=970&view=by_date_ascending&page=1.
Dort wird erklärt, dass man mit MMTOOL das neue Controllerbios in das BIOS-Image hineinpatchen kann.
Mit dem dort vorgeschlagenen MMTOOL geht’s aber nur für AMI-BIOS wies scheint, also nichts für mein Board mit AWARD-BIOS. Jedoch habe ich bei meiner Recherche dann folgendes nützliche Tool entdeckt: AWDBEDIT.
Folgende Schritte habe ich durchgeführt, um mir ein BIOS mit aktuellem SATA-Controllerbios zu erzeugen:

1) Aktuelle BIOS-Version vom Hersteller laden.
2) Wie im Thread oben angegeben Aktuelles SATA-ControllerBIOS laden.
3) AWDBEDIT laden
4) Alles In ein Verzeichnis auf der Platte laden.
5) AWDBEDIT hatte bei mir einen Bug und hat die Plugins nicht im Unterordner gefunden, habe daher die Files aus dem Plugins-Ordner ins Programmverzeichnis (also eine Verzeichnisebene höher) kopiert.
6) In AWDBEDIT die 1006G.awd geöffnet
7) Die Fehlermeldung, dass das kein gültiges BIOS-Image ist ignoriert und mit “JA” trotzdem das Laden bestätigt.
8) In der Kategorie Font ROMs den FONT0 ROM ausgewählt. Dort müsste die rom\storage\4224.bin drin sein.
9) Actions / Replace File..
10) 4284.bin aus dem zuvor entpackten Controllerbios eingefügt und dann unter Filename rom\storage\4284.bin genannt.
11) File / Save
12) Neues gepatches File geflasht.

Viell. kann den Tip ja auch mal wer brauchen.

Prompt in Midnight commander unter SuSe

By dose | December 11, 2008
Under: Uncategorized, technical stuff
Comments: No Comments »

Was mir unter SuSe hier in der Firma immer schon am Nerv ging:
Das Prompt in der Kommandozeile veränderte sich nie je nach Verzeichnis, in welchem man gerade war.
Folglich muss man dann immer pwd eingeben, um sicherzugehen, in welchem Pfad man ist.
Die Ursache ist das PROMPT_COMMAND in /etc/profile, welches nicht sehr mc-Kompatibel ist.
Lösung: einfach durch folgendes austauschen:

PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'