PCFreak Logo (c) Der PCFreak

Archive for Oktober, 2007

Datenrettung mit TestDisk 1

Heute bin ich auf ein weiteres gutes Programm zur Datenrettung gestoßen.

TestDisk wurde dafür konzipiert, verlorene oder versehentlich gelöschte Partitionen wiederherzustellen und nicht mehr bootfähige Festplatten wieder bootfähig zu machen.

Mehr dazu im Wiki von TestDisk. Dort gibt es auch eine deutsche Dokumentation.

Link:
TestDisk
TestDisk (deutsche Doku)

kostenlose Shell accounts und wie man sich das Passwort merken kann! Kommentare deaktiviert für kostenlose Shell accounts und wie man sich das Passwort merken kann!

Heute habe ich mir einen kostenlosen Shell-Account angelegt. Nun für was braucht man sowas. Man kann damit z.B. Verbindungen tunneln, wenn man in einem Netzwerk arbeitet, welches zwar den ausgehenden Port 80 erlaubt aber sonst nichts. Wie das genau geht möchte ich hier aufgrund meiner beruflichen Tätigkeit nicht weiter ausführen.

Kommen wir nun zu den Shell-Accounts. Wo gibts kostenlose Shell-Accounts?
Google: free shell accounts

Ich habe einen Gratisaccount bei visualserver.org und einen für $1 bei silenceisdefeat.org .

So und nun hat man so einen Account und ist unterwegs aber man hat mal wieder das Passwort vergessen. Tja, hier meine Lösung (aus Sicherheitsgründen etwas abgeändert.)

Man legt sich auf irgendeinem Webspace den man hat einen Subfolder an, z.B.
http://mywebspace.com/myshell

Dort plaziert man dann eine Seite, die einen auf die Homepage des Shell-Accounts weiterleitet, z.B.
http://silenceisdefeat.org/~superuser

Dort plaziert man dann ein Ascii Art, z.B. von einem Foto. In diesem Ascii Art plaziert man dann irgendwo mittendrin das Passwort für die Shell und merkt sich die Position des Passworts.

Nun hat man das Passwort – relativ sicher – immer dabei, wenn man Internet hat.

Man surft also zuerst auf die Homepage (z.B. http://mywebspace.com/myshell) dort wird man dann weitergeleitet zur Homepage der Shell (z.B. http://silenceisdefeat.org/~superuser) Dort sieht man dann folgendes (Ausschnitt):

MMMMNmXrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
MMMMMMNmwrrtrrtrrtrrtrrwQm4mmmmmmmmmmmmmmmyZ
 dMMMMMMNAwrrtrrtrrtrrtWMMMMMMMMMMMMMMMMMNI
  `vMMMMMMNAwrrrrrtrrrrWMMMMMMMMMMMMMMMMMMI
+.  ??MMMMMMNkrrtrrrtrrv7777?!!!!!!!!!!!!„
Oz+.  ?7MMMMMMNk

Dann ssh Tunnel zu superuser@silenceisdefeat.org:22 und das Passwort aus dem Ascii Art – Fertig

ssh anywhere, anytime and free!

Denkt Euch ggf. selbst eine Art und Weise aus, wie Ihr Euer Passwort sicher bunkert, am besten ist natürlich, Ihr habt es im Kopf!

Daten von defekter Festplatte lesen (ddrescue) 1

Ausgangslage
80GB Notebook Festplatte braucht ca. 20min um Windows XP zu booten und endet dann in einem Bluescreen. Während des Bootvorgangs sind seltsame Festplattengeräusche zu hören, wenn man mit dem Ohr ans Gerät geht. Eine neue Festplatte wurde bereits angeschafft (120GB)

Auftrag
System soll möglichst 1:1 wiederhergestellt werden, da wichtige Daten auf der Festplatte sind.

Durchführung

  1. Platte in bestmöglichen Ausgangszustand bringen
    Festplatte mit Spinrite in Option 2 überprüft (Dauer 4 Tage). 2 defekte Sektoren konnten wiederhergestellt werden, aber es sind immer noch extrem viele sog. „unrecoverable“ Fehler auf der Festplatte vorhanden. S.M.A.R.T. hat schon die maximale Anzahl von Sektoren mittels Remapping umkonfiguriert. – Wir sind am Limit und haben nicht mehr viel Zeit. Ggf. sollte dieser Schritt übersprungen werden, da dabei die Festplatte endgültig den Geist aufgeben könnte!
  2. Versuch die Festplatte mit Acronis TrueImage zu sichern
    Dieser Versuch schlug fehl, da Acronis mit defekten Festplatten nicht umgehen kann und sofort den Kopiervorgang stoppt.
  3. Versuch Daten mit ddrescue zu kopieren
    Die alte und die neue Festplatte sollten elektrisch und datentechnisch an ein funktionsfähiges System angeschlossen werden. Man kann jedoch auch über Netzwerk etc. wegsichern, je nachdem was einem besser liegt.Booten mit Linux-Live-Cd (am besten sollte ddrescue schon enthalten sein).
    Ich habe das Ganze mit einer Kubuntu Live-CD gemacht und habe ddrescue nach Modifikation der sources.list
    (Universal Repos freischalten) live nachinstalliert.Beide Festplatten (alt und neu) sind am System angeschlossen.

    Die Eingabe von fdisk -l zeigt beide Festplatten im System an.
    Wichtig, die Geräte müssen als Device existieren. Von einer Festplatte, die nicht unter /dev/xxx gelistet ist kann man nichts mehr runterkopieren.

    Nun starten wir den Kopiervorgang mit ddrescue. Wichtig dabei ist, unbedingt ein Logfile anzugeben (welches natürlich idealerweise an einem externen Speicherort abgelegt werden sollte, weil über dieses Logfile jederzeit eine Abbruch/Pausieren des Kopiervorgangs möglich ist und eine Fortsetzung an genau der gestoppten Stelle möglich ist, z.B. notwendig, wenn man die defekte Festplatte immer mal wieder ausbauen und über Nacht in den Kühlschrank stellen muss.

    Hier die Hilfe von ddrescue

    GNU ddrescue – Data recovery tool.
    Copies data from one file or block device to another,trying hard to rescue data in case of read errors.

    Usage: ./ddrescue [options] infile outfile [logfile]
    Options:
    -h, –help display this help and exit
    -V, –version output version information and exit
    -b, –block-size= hardware block size of input device [512]
    -B, –binary-prefixes show binary multipliers in numbers [default SI]
    -c, –cluster-size= hardware blocks to copy at a time [128]
    -C, –complete-only do not read new data beyond logfile limits
    -d, –direct use direct disc access for input file
    -e, –max-errors= maximum number of error areas allowed
    -i, –input-position=

    starting position in input file [0]
    -n, –no-split do not try to split error areas
    -o, –output-position=
    starting position in output file [ipos]
    -q, –quiet quiet operation
    -r, –max-retries= exit after given retries (-1=infinity) [0]
    -s, –max-size= maximum size of data to be copied
    -t, –truncate truncate output file
    -v, –verbose verbose operation
    Numbers may be followed by a multiplier: b = blocks, k = kB = 10^3 = 1000,Ki = KiB = 2^10 = 1024,
    M = 10^6, Mi = 2^20, G = 10^9, Gi = 2^30, etc…Einige neuere Funktionen wie -d stehen erst in neueren Versionen von ddrescue zur Verfügung, wenn nötig eben halt selbst kompilieren.

    Ich habe bewusst -r0 gewählt, da ich ewige Leseversuche vermeiden wollte, damit die defekte Platte weitestgehendst geschont wird. Mit -d kann man den Kernel umgehen und direkt vom Gerät lesen, was u.U. auch bessere Ergebnisse bringt.

    Der Befehl könnte also ungefähr so aussehen:

    ddrescue -r0 -v -d -n /dev/sda /dev/sdb /mnt/usbstick/ddrescue.log

    /dev/sda = Quelle
    /dev/sdb = Ziel (in meinem Fall die neue Disk, könnte aber auch eine Datei sein z.B. target.img)
    /mnt/usbstick/ddrescue.log = Logfile auf externem USB-Stick

    Man kann nun jederzeit mit Ctrl+C den Kopiervorgang abbrechen und mit obigem Befehl wieder fortsetzen.

    Im Nachhinein muss ich sagen ist es besser als Ziel für den Kopiervorgang ein File auf einer anderen Festplatte anzugeben (nicht die neue Platte), damit man auf jedenfall eine Sicherungskopie der maximal lesbaren Daten als Datei hat. !!! Achtung, bitte beachten, die Festplatte auf die man in ein File sichert muss entsprechend große Dateien abkönnen! Da der Kopiervorgang sehr lange dauert kann man ggf. auch zur Laufzeit die Zieldatei komprimieren um Platz zu sparen.

    Nach ca. 72 Stunden war dann der Kopiervorgang abgeschlossen.

    Natürlich habe ich die neue Festplatte nicht sofort ins Notebook eingebaut und gestartet, sondern von der Kopie ein Acronis Image abgezogen.

Dann die Festplatte ins Notebook eingebaut und gebootet – Voila XP startet superschnell und ohne Probleme.

Anschließend ein

chkdsk /f C:

gefolgt von einem Reboot und nach ca. 20 Minuten chkdsk hatte ich ein lauffähiges System.

Ca. 12MB Daten konnten nicht gerettet werden, welche Dateien das auch immer waren.

Ich habe vom System dann die wichtigen Daten kopiert und trotzdem neu installiert, da nicht festgestellt werden konnte, welche Daten am System fehlten.

Ich hoffe diese Anleitung hilft irgendjemandem weiter, der sich ggf. in der gleichen Situation befindet.

Wichtigste Erkenntnis:
Es gibt immer eine Lösung und man muss viel Zeit haben!

geplanter Task startet nicht – scheduled task does not start 1

Ich hatte heute ein Problem, daß bei einem Windows Server 2003 SP1 die geplanten Tasks nicht gestartet wurden.
Ich ging die Standardprozedur durch:

1. Unter welchem User läuft der Task, stimmt das Passwort? – OK
2. Stimmen die Einstellungen des Tasks (Zeitplan etc.)? – OK
3. Existiert das Skript/Programm, welches gestartet werden soll? – OK

Ich konnte mir lange nicht vorstellen, was das Problem ist, nach riesigen Analysen stellte ich dann folgendes fest:

Der Kunde hatte den USV-Dienst „UPS – UPSentry Service“ deaktiviert. Dadurch meinte Windows, der Rechner würde auf Akkubetrieb laufen.
Da bei den geplanten Tasks standardmässig die Haken gesetzt sind:

[x] Task nicht bei Akkubetrieb starten
[x] Task beenden, sobald der Akkubetrieb einsetzt

wurden die Tasks nie ausgeführt.

Temporär habe ich die Haken entfernt um die Tasks wieder zu aktivieren.
Eine Nachfrage, warum er den USV-Dienst deaktiviert hat ergab, daß dieser eine Memory-Leak hat. Demnächst wird die USV-Software aktualisiert und das Memory Leak beseitigt, dann kann wieder „Normalbetrieb“ hergestellt werden.