Wer kennt ihn nicht, den Fall X: Computer defekt, Windows zerschossen und Datensicherung nicht vorhanden. Was tun?! Festplatte ausbauen, an einen anderen PC hängen und einfach die Dateien und Ordner umkopieren.

Denkste!

In der Microsoft-Welt macht einem das NTFS-Dateisystem erstmal einen Strich durch die Rechnung. Zuerst muss man die Berechtigungen ändern, damit man an die Daten herankommt.

In dem konkreten Fall ging es um eine Windows XP Home-Installation die sich Zusammen mit dem Mainboard verabschiedet hat. Durch einen Hardware-Defekt stürzte der PC immer öfter ab und dabei wurde das Dateisystem beschädigt. Datenverlust inklusive, aber dazu später mehr.

Da die bestehende Installation durch verschiedene De-/Installationen von Anwendungen sowieso schon angeknackst war und diverse Malware in der Vergangenheit auch schon ihr Unwesen trieb, war nun “Alles-neu-Machen” angesagt.

So bestand der erste Schritt darin die Festplatte auszubauen und an einen anderen PC zu hängen. Naja, PC trifft es in dem Fall nicht ganz, da es ein Entry-Level-Server ist, der bei mir unterm Tisch steht und da wiederum die Trial-Version von Windows Server 2008 R2 installiert ist.

Nachdem das Dateisystem soweit wie möglich repariert war ging es darum, die relevanten Dateien aus dem Benutzerprofil zu kopieren und hier haperts dann mit den Berechtigungen. Natürlich kann man das Ganze auch über den Explorer machen, allerdings bin ich diesmal den Weg über die Eingabeaufforderung bzw. ein Skript gegangen. Schon alleine deswegen, das direkt nach dem Ändern der Berechtigungen die Daten kopiert werden können. Der Vorteil liegt darin, das nun beide Vorgänge in einem Zug durchlaufen.

Hier nun das Skript:


@echo off

rem Konfiguration

set source=”F:\Dokumente und Einstellungen\Benutzername\Eigene Dateien”

set destination=”D:\Backup\Benutzername\Eigene Dateien”

rem Berechtigungen aendern

icacls %source% /t /grant Administrator:(F)

rem Besitz uebernehmen

icacls %source% /t /setowner Administrator

rem Daten kopieren

robocopy %source% %destination% /MIR /R:0 /W:0 /NP /LOG:report.txt


Ein paar kleine Anmerkungen und Erklärungen

Mit der Variablen source wird die Quelle der Daten und mit destination das Ziel, also wohin kopiert werden soll, konfiguriert.

Bei icacls kann man Berechtigungen ändern und den Besitz übernehmen leider nicht in einem Schritt durchführen. Im Grunde ist die Besitz-Übernahme nur das i-Tüpferchen und kann (vermutlich) auch weggelassen werden.

icacls ist ab Windows Server 2003 SP2 als Bordmittel vorhanden. Dies gilt auch für Windows Vista und 7.

Wie man sieht, wird dem Administrator Vollzugriff gewährt und als Besitzer eingetragen.

Das Protokoll von Robocopy sollte man auf Fehler hin überprüfen. In meinem Fall fanden sich ein paar “Zugriff verweigert”-Meldungen. Diese Meldungen kamen dadurch zustande, das die Dateien und Ordner die versucht wurden zu kopieren, trotz repariertem Dateisystem defekt waren. Wie Eingangs erwähnt: Datenverlust inklusive.