Windows: Zugriff auf VSS-Snapshots

Ab und an kann es ganz hilfreich sein, wenn man auf Snapshots von Laufwerken zugreifen kann, sei es um schnell eine Datei wiederherzustellen oder den Inhalt von 2 Dateien zu vergleichen. Einen VSS-Snapshot kann man grundsätzlich zugänglich machen, ohne den Snapshot wiederherstellen zu müssen. Es gibt aber zwei verschiedene Wege, die abhängig von den Attributen den VSS-Snapshots sind.

In diesem Beispiel gibt es zwei VSS-Snapshots. Der erste hat unter anderem das Attribut „Client_accessible“, der zweite hat dieses Attribut nicht:

VSS

Snapshots mit dem Attribut Client_accessible werden häufig von Backup Software während der Sicherung erzeugt. Diese Art von Snapshot lässt sich nicht via Diskshadow und dem Befehl „expose“ als Laufwerk mounten. Beim Versuch den Snapshot zu mounten wird eine entsprechende Fehlermeldung erzeugt:

image

Da sich Snapshots mit dem Attribut „Client_Accessible“ nicht als Laufwerk einbinden lassen, muss eine symbolische Verknüpfung erstellt werden. Dies kann mit folgendem Befehl erledigt werden:

mklink /d c:\snapshot <Gerätename für Schattenkopie>\

Wichtig ist der abschließende Backslash „\“ am Ende des Gerätenamens. Der Befehl für den ersten Snapshot aus dem Beispiel würde also wie folgt lauten:

mklink /d c:\snapshot \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy4\

image

Die Angabe „c:\Snapshot“ stellt den Namen dar unter welchem der Snapshot verfügbar gemacht werden soll, es darf kein Verzeichnis mit dem gleichen Namen existieren. Der Snapshot ist dann unter c:\snapshot verfügbar. Das Lesen und kopieren von Dateien ist somit kein Problem.

image

Der zweite Snapshot hat kein „Client_accessible“ Attribut und kann daher direkt via DISKSHADOW gemountet werden.

Der Befehl dazu lautet wie folgt:

expose <Schattenkopiekennung> <Laufwerk>:

In diesem Beispiel ist es also

expose {7c0a3aba-a397-483c-9449-273148811202} s:

image

Der Snapshot ist dann als Laufwerk S: verfügbar:

image

Auf den Snapshot lässt sich nun wie auf ein Laufwerk zugreifen, Dateien kopieren oder vergleichen. Auch das Wiederherstellen einer Datei ist somit möglich.

2 Gedanken zu „Windows: Zugriff auf VSS-Snapshots“

  1. Ein „list shadow all“ in eine scriptdatei.txt geben und dann :
    diskshadow /s scriptdatei.txt > ergebnis.txt
    dann das ergebnis mit notepad nach dem aktuellen datum durchsuchen und die entsprechende ID mounten…
    Fertig.

    Antworten
  2. …nette Idee, aber richtig sinnvoll wäre es, den letzten Snapshot per Powershell herauszufinden und diesen zu mounten. Niemand wird per Hand so eine Kopie einer VSS erstellen wollen.

    Antworten

Schreibe einen Kommentar