Wir sind unabhängig, neutral und finanzieren uns teilweise über Werbung und Partnerprovisionen.
Danke wenn du uns unterstützt. Weitere Infos zum Bedanken findest Du hier. Diese Seite verwendet hierzu Cookies & Tracking-Cookies, weitere Informationen findest du hier. Wenn du diese Seite weiterhin besuchst, erklärst du dich damit einverstanden.

Diese seite ist neutral und unabhängig. Die Finanzierung erfolgt teilweise über Werbung und Partnerprovisionen. Danke wenn Du mich unterstützt.
Diese Seite verwendet Cookies & Tracking-Cookies, weitere Informationen findest Du hier. Wenn du diese Seite weiterhin besuchst, erklärst du dich damit einverstanden.

(x) Hinweise ausblenden/einblenden.
Diese Seite ist neutral und unabhängig.
Alle Anleitungen stehen zu 100 %
kostenlos zur Verfügung.
Die Finanzierung erfolgt teilweise
über Werbung und Partnerprovisionen.
Danke wenn Du mich dabei unterstützt.

Alle Infos zum Bedanken findest Du hier.

Besuche Amazon vor Deinem nächsten
Einkauf über diesen Danke Affiliate Link.


Hier kannst Du mir mit PayPal Danken.
Du kannst den Betrag auch anpassen.

Gefällt Dir meine Anleitung?
Hier kannst Du mich Bewerten.
5-Stars


Danke wenn Du die Werbung beachtest.

____ ____ _ _ _ ____ ___ _ _ ___ ____ ___ _ _ _____ _____ |: _ \ |: _ \|.|( \/ )|:___)/.__)|:\|:| / _ \ |: _ \/.__)|.|_|.||. _ .||_ . _| |:|_) )|: /|:| \::/ |:__) \__.\|:\ :||: _ :||:___/\__.\|: _ :||:|_|:| |:| |____/ |_|\_\|_| \/ |____)(___/|_|\_||_| |_||_| (___/|_| |_||_____| |_|
____ ____ _ _ _ ____ ___ _ _ ___ ____ ___ _ _ _____ _____ |: _ \ |: _ \|.|( \/ )|:___)/.__)|:\|:| / _ \ |: _ \/.__)|.|_|.||. _ .||_ . _| |:|_) )|: /|:| \::/ |:__) \__.\|:\ :||: _ :||:___/\__.\|: _ :||:|_|:| |:| |____/ |_|\_\|_| \/ |____)(___/|_|\_||_| |_||_| (___/|_| |_||_____| |_|

Image backup & restore mit Drivesnapshot.
Windows im Netzwerk sichern & wiederherstellen.
2020-09-11 © ctaas.de, Arno Schröder § Impressum



Nr. Drivesnapshot Backup Handbuch Inhalt:
1 Windows Sicherung mit Drivesnapshot (mit Skript)
2 System Wiederherstellen mit einer Windows DVD 💿
3 mehrere Partitionen wiederherstellen
4 den Fehler: INACCESSIBLE BOOT DEVICE beheben
5 wichtige Kurztipps (differentiell vs. inkrementell)

1. Sichern (backup):


Drivesnapshot (Downloadlink) kann man einfach ohne Installation aus dem Live-System heraus starten. Eine komplette Systemsicherung eines einzelnen ganzen Systems ist so ganz leicht zu bewerkstelligen.
Hat man aber mehrere PCs, die man regelmäßig automatisiert sichern möchte, so sollte man besser ein Skript verwenden.
Ich möchte euch hier eine meiner Varianten vorstellen - eigene Anpassungen sind natürlich problemlos möglich.

Das folgende Script als neue AutoIt-Datei speichern:
_BCK-UP_2019-xx-xx.au3

Das Script kann man dann (sofern AutoIt installiert ist) über einen Doppelklick ausführen,
bzw. mittels rechte Maustaste als ausführbare .exe kompilieren (diese benötigt dann kein AutoIt mehr).

Zur besseren Erkennung der fertigen .exe habe ich einige Icons entworfen.
Hinweis: Das Icon übergibt man dem AutoIt-Compiler am besten, indem man diesen über den Startmenü-Eintrag [Compile Script to .exe (x86)] aufruft.
BCK RDX RDX LAN SRV SRV NAS
Die Icons einfach über die rechte Maustaste speichern. Backup-Icons © ctaas.de, A. Schröder, Kahla.

Drivesnapshot Sicherungsscript für AutoIt (autoitscript.com):
#cs --- -- -- -- -- -- -- -- -- -- -- -- -- --
AutoIt Version: 3.x    | getestet mit: Drivesnapshot Version 1.48
Autor: © A. Schröder   | Version: 2020-09-04

SKRIPT-FUNKTIONEN:
- Alle lokalen Laufwerke (C: bis Z:) sowie ggf. zum booten notwendigen System-Partitionen (wie z. B. 'System-reserviert') werden in einer lokalen Netzwerkfreigabe gesichert.
- Es werden alle vorhandenen SSDs, Festplatten-Laufwerke u. ä. gesichert, andere Laufwerke wie z. B. CD-ROM/DVD/Blu-ray Laufwerke werden automatisch übersprungen.
- Für jede Sicherung wird ein ausführliches Protokoll angelegt.
- Zur besseren Übersicht wird für jede Sicherung ein extra Verzeichnis angelegt, so dass man bei Bedarf auch auf ältere Sicherungen zurückgreifen kann.
- Das Script wurde getestet mit:
      - Windows 10, 8.1, 8, 7, Vista, XP, 2000;
      - Windows Server 2008, 2008 R2; 2012, 2012 R2, 2016, 2019 (auch Datacenter)
- Bei einem Exchange Server 2010 werden die Transaktionsprotokolle/Transaktionslogs nach einer erfolgreichen Sicherung gelöscht.
- Beachtet: Will man das Script für Windows 2000 kompilieren, dann benötigt man die ältere Version 3.3.8.1 von AutoIt (Direktlink).
#ce --- -- -- -- -- -- -- -- -- -- -- -- -- --

; Dieses Script benötigt Admin-Rechte. This script requires full administrative rights.
#RequireAdmin

; Wird benötigt für Datumsfunktionen und zum bestimmen des Hash-Datei Pfades. Required for date and hash functions.
#include <Date.au3>
#include <File.au3>
#include <Array.au3>

; -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
; VARIABLEN DEFINIEREN:
Local $i_Startzeit=_NowCalc() ; Startzeit speichern, um die Dauer der Sicherung zu ermitteln. Save start time and date.
Local $s_Computername=EnvGet("COMPUTERNAME") ; Computername auslesen. Save hostname.

; Hinweis zum Start der Datensicherung. A Note to the users, that a backup starts. Hinweis: Der Unterstrich '_' am Zeilenende kennzeichnet einen Zeilenumbruch des Befehls.
SplashTextOn("BCK-UP © ctaas.de - automatische Datensicherung:", "Im Hintergrund läuft eine Datensicherung. Du kannst während der Sicherung weiter arbeiten, es kann es " _
& "jedoch zu leichten Verzögerungen kommen. Dieser Hinweis beendet sich selbstständig, wenn die Datensicherung abgeschlossen wurde.", 450, 100, -1, -1, 22, "Tahoma", 10)

; -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
; NETZWERK VERBINDEN:
DriveMapDel("y:") ; Ggf. Netzlaufwerk abmelden, falls irgendein anderes Laufwerk bereits gemappt ist. Unmount a possible mounted network share.

; Netzlaufwerk für die Backup-Images mappen. Hier die eigenen Zugangsdaten für die Netzwerkfreigabe eingeben. Map network share for the backups (this data must be modified). <####!
DriveMapAdd("y:", "\\192.168.0.9\share", 0, "domain_oder_hostname\username", "password")
; Wichtig: Den domain (Domänennamen) bzw. Hostnamen (Computernamen) sollte man immer mit angeben.
; Insbesondere bei Freigaben unter Windows 10 ab der Version 20.04 und vergleichbare Serverversionen (erhöhte Sicherheitsanforderungen) kann dies zwingend notwendig sein.

; OPTIONAL/RDX/WECHSELDATENTRÄGER: EXTRA FREIGABE FÜR DIE snapshot.exe/snapshot64.exe:
; Wenn man öfters verschiedene Systeme sichert und zur Sicherung ein Wechseldatenträger-Laufwerk (wie z. B. ein RDX Laufwerk) verwendet,
; dann sollte man den voreingestellten festen Pfad zum Sicherungsprogramm 'y:\snapshot\snapshot.exe' so verändern,
; dass dieser auf eine separate/statische Freigabe verweist. Also z. B. so: '\\Hostname\Freigabe\snapshot\snapshot.exe'.
; So ist dann auch eine einfache und schnelle zentrale Aktualisierung der snapshot.exe/snapshot64.exe möglich.
; Um den Zugriff auf diese UNC-Freigabe zu gewährleisten muss man hier noch die entsprechenden Zugangsdaten eingeben.
; Optional aktivieren: Hier also bei Bedarf die doppelten Semikolon [;;] am Zeilenanfang entfernen und die entsprechenden Logindaten eingeben: <####!

;; #include <WinNet.au3>
;; _WinNet_AddConnection2("", "\\hostname\share", "domain_oder_hostname\username", "password")
; Wichtig! Bitte dabei beachten: Die ggf. zweite Freigabe für die snapshot.exe darf nicht nur Leserechte besitzen.
; Diese Freigabe muss beschreibbar sein, auch wenn man die Images in einer anderen Freigabe abgelegt.

; -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
; OPTIONAL/RDX/WECHSELDATENTRÄGER: ALTE SICHERUNG IMMER LÖSCHEN:
; Verwendet man zum Sichern ein Wechseldatenträger-Laufwerk (wie z. B. ein Tandberg RDX QuickStore), dann sollte man immer vor einer neuen Sicherung, die alte Sicherung von dem Backup-Medium löschen.
; Dies ist unter anderem notwendig um sicherzustellen, dass immer genügend freier Speicherplatz auf dem Wechsel-Speichermedium vorhanden ist.
; Auf dem Backup-Medium (der Cartridge/der Wechselfestplatte) wird dann gem. dem Großvater-Vater-Sohn Generationenprinzip nur eine Sicherung pro Tag gespeichert.
; Man hat also die Wahl zwischen:
; a) Möchte man alte Sicherungen nicht aufheben, dann muss man bei den folgenden Zeilen die doppelten Semikolon [;;] am Zeilenanfang entfernen. Oder...
; b) Möchte man mehrere alte Sicherungen aufheben (z. B. bei Sicherungen auf einem NAS), dann darf man die doppelten Semikolon hier nicht entfernen.

; Optional aktivieren: Prüfen ob eine alte Sicherung existiert. As an option: Check if exists an old backup. Remove the two ;; if u use removable disks (RDX) for backup. <####!
;; If FileExists("y:\Images\" &$s_Computername) Then
     ; Falls ja (falls eine alte Sicherung existiert), dann altes Verzeichnis löschen. If yes, then delete old backup.
;;   DirRemove("y:\Images\" &$s_Computername,1)
;; EndIf

; -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
; VERZEICHNISSE UND LOGFILE FÜR DIE SICHERUNGEN ANLEGEN:
; Prüfen ob ein Verzeichnis mit dem Computername für die Images vorhanden ist. Check if hostname directory exists.
If Not FileExists("y:\Images\" &$s_Computername) Then
  ; Wenn noch kein Verzeichnis vorhanden ist, dann ein neues anlegen. Create new directory.
  DirCreate("y:\Images\" &$s_Computername)
EndIf

; Logfile öffnen, falls noch kein Logfile vorhanden ist wird ein neues angelegt. Open Logfile if exist, or create new one.
$h_file=FileOpen("y:\Images\" &$s_Computername&"\_Logfile_" &$s_Computername&".txt", 1)

; Schreibzugriff prüfen. Check if file opened for writing OK.
If $h_file=-1 Then ; Falls der Schreibzugriff nicht möglich ist...
  DriveMapDel("y:") ; ... das Netzlaufwerk abmelden. Der Fehler tritt z. B. auf wenn kein RDX-Medium eingelegt wurde (neues Medium vergessen) oder wenn das RDX-Medium defekt ist. 
  ; Unmount network share, if no backup RDX media is inserted or if the backup RDX media is defective.
  ;; _WinNet_CancelConnection2("\\hostname\share") ; Die optionale zweite Freigabe für die snapshot.exe beenden ebenso beenden. <####!
  ; Falls der Schreibzugriff nicht möglich ist, eine Fehlermeldung ausgeben. Throw a error message, if write is impossible.
  MsgBox(0, "Fehler:", "NAS/RDX nicht erreichbar."&@crlf&"Automatische Datensicherung fehlgeschlagen."&@crlf&"Bitte verständigen sie ihren Administrator."&@crlf&@crlf&"Dieser Hinweis beendet sich selbstständig in 5 Minuten.", 300)
  ; Diese MessageBox beendet sich nach 5 Minuten (300 Sekunden) selbstständig. Setzt man den Wert auf 0 oder lässt die Zeitangabe komplett weg, dann bleibt die Meldung ohne Timeout dauerhaft stehen (bis man die Meldung mit [OK] schließt).
  Exit 1
EndIf

; Startzeit Protokollieren. Save start time in Logfile.
FileWriteLine($h_file, "---[ " &$s_Computername &": Letzte Ausführung siehe Ende Protokoll ]---" &@CRLF &"Sicherungsstart: " &_Now())

; Neues Verzeichnis zur Sicherung anlegen (@YEAR&@MON&@MDAY = das aktuelle Datum). Create new data backup directory.
DirCreate("y:\Images\" &$s_Computername &"\" &@YEAR&@MON&@MDAY)

; -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
; SCHLEIFE ÜBER ALLE ZU SICHERNDE LAUFWERKE & LAUFWERKSTYP BESTIMMEN:
Local $bck_up_drives="" ; Variable für die zu sichernden Laufwerke. Enthält später Beispielsweise C:+, C:+D: 
Local $i_disk
For $i_disk = Asc("C") To Asc("Z") Step 1 ; For (loop) Schleife über die Laufwerksbuchstaben von c: bis z: (anpassbar).
  Local $s_disk = Chr ($i_disk) ; und aktuellen Laufwerksbuchstaben in der Variable $s_disk speichern. $s_disk enthält dann z. B.: C, D, E ... X, Y, Z.
  ; ergänzende Information: Der ASCII/Windows-1252-Zeichencode vom Zeichen C Entspricht der Zahl 67.
 
  ; Laufwerkstyp abfragen (z. B. 'C:\'). Ist das Laufwerk eine Festplatte? Wenn ja (Fixed) dann sichern, falls nein (weil z. B. DVD-ROM oder Netzlaufwerk) dann überspringen.
  If DriveGetType($s_disk &":\")="Fixed" Then
        $bck_up_drives &= $s_disk & ":+" ; entspricht: $bck_up_drives = $bck_up_drives + $s_disk + ":+". Das gefundene Laufwerk der Variable der zu sichernden Laufwerke hinzufügen.
  EndIf; $bck_up_drives enthält hier Beispielsweise C:+, C:+D:+, C:+D:+E:+, ...
Next

; Das letzte '+' Zeichen muss noch entfernt werden. 'C:+D:+E:+' muss Beispielsweise so gekürzt werden 'C:+D:+E:'.
$bck_up_drives=StringTrimRight ( $bck_up_drives, 1 ) ;  1 Zeichen rechts (right) vom String der Variable entfernen (trim).

Local $s_dif_backup="" ; Variable initialisieren (für das differentielle Backup). Leer ("") bedeutet erst einmal kein differentielles Backup. Hinweis: Diese Definition nicht löschen.

  ; -- -- -- -- -- -- -- -- -- -- -- -- -- --
  ; OPTIONAL: DIFFERENTIELLES BACKUP:
  ; Zum Aktivieren der differentiellen Funktion die Kommentarzeilen [#cs] und [#ce] löschen.
  ; ergänzender Hinweis: Die ggf. weiteren System-Partitionen (wie Beispielsweise HD1-1.sna)  werden nur bei einem Voll-Backup gesichert.
  ; Daher sollte man in regelmäßigen Abständen auch ein Voll-Backup durchführen (z. B. einmal Wöchentlich).
#cs (Kommentar Start) <####!
  ; Prüfen ob eine Hash-Datei vom ersten Laufwerk ('C') vorhanden ist.
   $a_hsh_pfad=_FileListToArrayRec('y:\Images\' &$s_Computername, "*_snapshot_ful_C.hsh",1 , 1 )
    
  ; Ggf. gefundenen Hashdateien sortieren:
  ; Da die Namen das Datum enthalten wird hier auf Grund der absteigenden Sortierung immer das aktuellste Datum als erster Array-Eintrag bereitgestellt.
  _ArraySort($a_hsh_pfad,1)
  ; $a_hsh_pfad[0] enthält dann immer den anteiligen Pfad zu der zuletzt verwendeten voll-Backup .hsh-Datei also z. B. '20191120\PCNAME-191120-drivesnapshot-ful-C.hsh'

  If $a_hsh_pfad="" Then
    ; Wenn keine Hash-Datei (*.hsh) gefunden wurde, den Übergabewert zur differentiellen Sicherung auf leer setzen. Ein neues voll-Backup (ful) wird angelegt.
    FileWriteLine($h_file, "Voll-Backup (ful).") 
    $s_dif_backup="" ; Ist hier eigentlich unnötig, da der Wert oben schon leer definiert wurde. Es wurde zum besseren Verständnis trotzdem nochmal hier eingefügt.
  Else
    ; Und wenn eine Hash-Datei (*.hsh) gefunden wurde, dann den Pfad darauf setzen. Ein neues differentielles Backup (dif) wird angelegt.
    ; $a_hsh_pfad[0] enthält z. B.: '20191120\PCNAME-191120-drivesnapshot-ful-C.hsh'.
    ; Durch den austausch der festen Laufwerksangabe '_C.hsh' durch die Snapshot-Variable '_$disk.hsh', kann snapshot auch alle weiteren Laufwerke D: bis Z: differential mit sichern.
    $a_hsh_pfad[0]=StringReplace ($a_hsh_pfad[0], "_C.hsh", "_$disk.hsh",0,0) ; Laufwerk 'C' (nicht case sensitive) wird durch '$disk' ersetzt.
    ; $a_hsh_pfad[0] enthält nun z. B.: '20191120\PCNAME-191120-drivesnapshot-ful-$disk.hsh'.

    ; Den Pfad zum Hash-File um den Drivesnapshot-Parameter, den Laufwerksbuchstaben, den Sicherungsordner und Computername ergänzen.
    $s_dif_backup="-hy:\Images\" &$s_Computername &"\" &$a_hsh_pfad[0]
     
    ; Im Logfile speichern, auf welches Voll-Backup sich das Dif-Backup bezieht. StringMid ermittelt die ersten 8 Zeichen des Strings, diese enthalten das Datum vom Voll-Backup.
    FileWriteLine($h_file, "Differentielles Backup (dif) zur Sicherung: " &  StringMid($a_hsh_pfad[0],1,8) )
  EndIf
#ce (Kommentar Ende) <####!

; -- -- -- -- -- -- -- -- -- -- -- -- -- --
; LAUFWERK SICHERN:
; Meldung im Tray anzeigen:
TrayTip("BCK-UP © ctaas.de:", "sichere Laufwerk(e) " & $bck_up_drives, 30, 1)

; Start der Sicherung:                        $bck_up_drives = C:+D+E+
$i_error=RunWait("y:\snapshot\snapshot.exe " &$bck_up_drives &" y:\Images\$computername\20$date\$computername_$date_snapshot_$type_$disk.sna --AutoBackupSize:8192 --ALLWriters -Gx -R --LogFile:y:\Images\$computername\20$date\_logfile.txt " &$s_dif_backup)
;            ... "\\hostname\share\snapshot.exe ...   ; Alternative 1: Die snapshot.exe in der zweiten Freigabe ablegen. Der Zugriff auf die snapshot.exe erfolgt hier über UNC-Pfade.
;            ... "c:\Sicherung\snapshot64.exe ...     ; Alternative 2: Die snapshot.exe/snapshot64.exe lokal auf dem zu sichernden System ablegen. Die snapshot64.exe ist nur bei 64-Bit Systemen möglich.

; Errorlevel im Logfile speichern.
FileWriteLine($h_file, "Sicherungsergebnis für das Laufwerk " &$bck_up_drives &" (0=ok alles andere Fehler): " &$i_error )

; -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
; SICHERUNGS ENDE:
; Sicherungsende (Datum & Zeit) speichern und Sicherungsdauer berechnen und speichern. Save end date & time and calculate the duration of the backup.
FileWriteLine($h_file, "Sicherungsende: " &_Now() &@CRLF &"Sicherungsdauer in Minuten: " &_DateDiff('n',$i_Startzeit,_NowCalc() ) &@CRLF)
FileClose($h_file)

DriveMapDel("y:") ; Netzlaufwerk abmelden. Unmount network share.
;; _WinNet_CancelConnection2("\\hostname\share") ; Die optionale zweite Freigabe für die snapshot.exe beenden.

SplashOff() ; Meldungstext ausblenden und beenden. Dissable note for the users and exit.
Exit 0 ; Skript-Ende.


Ergänzende Hinweise und Parametererklärungen zum Script:
[\20$date\] = wird zum Beispiel zum Verzeichnis \20190920\, dies stellt also die Sicherung vom 20.09.2019 dar.

[--AutoBackupSize:8192] = (erst ab snapshot Version 1.43 verfügbar) sorgt dafür, das kleinere System/Boot-Partitionen bis 8192 MB Größe automatisch mit gesichert werden.
Die meist 100 MB große System-Partition 'System-reserved' wird dabei als Image mit dem Namen [HD1-1.sna] mit gesichert (1. Laufwerk, 1. Partition).
Je nach Windows Version existieren ggf. noch weitere System Partitionen wie: 'EFI System', 'Microsoft reserved' oder 'Windows recovery environment'.
All diese Systempartitionen haben in der Regel keinen Laufwerksbuchstaben. Die Speicherung erfolgt hier analog zum Speicherort.
Update 2019-11-08: Da die versteckten Systempartitionen derzeit immer größer wurden. Wurde der Wert beim Parameter --AutoBackupSize auf 8192 MB (8 GB) erhöht.

Will man diese Partition immer sichern, so kann man das Script wie folgt ergänzen:
[snapshot.exe HD1:1 y:\Pfad\HD1-1.sna] (Pfade entsprechend anpassen).
Beachtet dabei aber: Dies sichert immer die 1. Partition vom 1. Laufwerk, falls hier keine 'System Reserved'-Partition vorhanden ist, dann wird Laufwerk c: doppelt gesichert.
Die Funktion '--AutoBackupSize:8192' wie sie hier im Script verwendet wird, ist daher meist völlig ausreichend & vorzuziehen, da so doppelte Sicherungen der 1. Partition entfallen.

[--ALLWriters] = sorgt dafür, dass der Schattenkopie-Service in einem Modus verwendet wird in dem alle Programme explizit über den Backupvorgang benachrichtigt werden.
Ein Hyper-V-Server benachrichtigt alle aktiven virtuellen Systeme über das bevorstehende Backup. Virtuelle Maschinen auf denen kein Integrationsdienste installiert sind, werden zum Erstellen der Schattenkopie kurz angehalten.
Weiterhin löscht ein ggf. vorhandener Exchange-Server nach einem erfolgreichen Backup seine Transaktionsprotokolle. Bitte hier die besonderen Tipps am Ende beachen.

[-Gx] = mit Fortschrittsanzeige. Drivesnapshot wird auch bei Fehlern automatisch beendet. Es wird der entsprechende Errorlevel (return code/exit code) übergeben. Alternativen:
[-G]  = mit Fortschrittsanzeige. Am Ende wird immer auf den Benutzer gewartet.
[-Go] = mit Fortschrittsanzeige. Es wird nur beendet, wenn alles OK war, sonst wird gewartet.
[-Gn] = mit Fortschrittsanzeige. Ein Abbruch über 'Abbort' ist nicht möglich (für automatisierte Client-Backups empfohlen).
[-Gm] = die Fortschrittsanzeige startet minimiert.
Tipp: Man kann auch mehrere Parameter gleichzeitig verwenden:
[-Gx -Gm -Gn] = auch bei ggf. auftretenden Fehlern wird das Backup automatisch beendet, die Backup-Anzeige startet minimiert & das Backup kann vom Anwender nicht beendet werden (ideal für Silent-Backups von Client-PCs).

[-R] = (recycle) leert vor einer Sicherungen immer noch den Papierkorb.

2. Wiederherstellen (restore) mit Setup-DVD:


1. Zuerst startet man das System von einer normalen Windows Setup-DVD bzw. einem USB-Stick. In der Regel gehen alle Windows 7, Windows 8, Windows 10 DVDs.

2. Beim 'Windows Setup' Screen drückt man nun die Tastenkombination Umschalten/Shift + F10. Es öffnet sich eine Eingabeaufforderung.

3. Hat man die gesicherten Images auf einer Netzwerkfreigabe liegen, so muss man nun zunächst die Netzwerkunterstützung im Live-System aktivieren.
Wichtig: Zur Initialisierung des Netzwerks ist ein kabelgebundenes Netzwerk (also kein WLAN) und ein aktiver DHCP-Server (z. B. im Router) notwendig:
wpeutil initializenetwork


4. Nun kann man die Netzwerkfreigabe mounten (die Eingaben entsprechend anpassen):
net use * \\192.168.0.9\freigabe /user:192.168.0.9\user passwd
net use z: \\nas\share /user:domain_hostname\username passwort

Beachtet:
Beim Verbinden der Netzwerkfreigabe sollte man den Domainname (Domänenname) oder Hostnamen (Computername) bzw. die IP-Adresse der Freigabe für den Benutzer immer mit angeben.
Insbesondere bei neueren Windows DVDs ab Windows 10 Version 20.04 (erhöhte Sicherheit) wird die Angabe entsprechend gefordert.
Lässt man hier den Domain oder Hostnamen weg, dann kommt trotz sonst soweit korrekter Zugangsdaten der Fehler:
[Systemfehler 1312 aufgetreten.] bzw.
[Eine angegebene Anmeldesitzung ist nicht vorhanden. Sie wurde gegebenenfalls bereits beendet.]

5. Man wechselt nun auf die Freigabe:
z:

6. Und startet von hier aus Drivesnapshot (welches man dort vorher abgelegt hat, Downloadlink):
snapshot.exe (bei 32-Bit Systemen)
snapshot64.exe (bei 64-Bit Systemen)

Beachtet:
Startet man die falsche Version, so erhält man den Fehler:
[Das zum Unterstützen des Abbildtyps erforderliche Subsystem ist nicht vorhanden.] bzw.
[Die Version von ... ist nicht mit der ausgeführten Windows-Version kompatibel. ... ].

7. Nun kann man die zuvor gesicherten Images wiederherstellen.

8. Nach dem man die Images zurück gesichert hat, bricht man die Installation von Windows einfach mittels Klick auf die [X] immer ab. Das System startet dann nach einer Rückfrage selbstständig neu (die Setup-Medien entsprechend entfernen).

Hier ein Beispiel mit Screenshots als Video:
Hier wird eine Windows 10 Sicherung - von einer Windows 10 x64 DVD aus - auf einem komplett neuem System wiederhergestellt.
Screenshot: Drivesnapshot mit Hilfe einer Windows Setup DVD starten.
Hinweis: Das Video startet alle 30 Sekunden neu.
Weiterhin wurden alle Lizenzinformationen aus Datenschutzgründen von den einzelnen Screenshots entfernt.



Hinweis:
Um auch aktuelle Netzwerkkarten ansprechen zu können, sollte man möglichst eine aktuelle Windows 10 Setup-DVD verwenden, da diese meist aktuellere Treiber enthält (Downloadlink für aktuelle Medien).
Sollte die Treiberunterstützung für die eingebaute Netzwerkkarte trotzdem nicht funktionieren, so kann man eventuell
einen USB-LAN-Adapter verwenden.
Hat man hierzu keine Möglichkeit, so muss man die Images und snapshot-Software auf einer extra Festplatte (z. B. über USB) oder leeren extra Partition separat bereitstellen (z. B. mittels einer Linux-Live-DVD).
Beachtet weiterhin: Von einer Windows 10 Setup DVD kann man jede beliebige Windows Version (wie XP, 7, 8, Server usw. egal ob x86 oder x64 Bit) wiederherstellen.

3. mehrere Partitionen auf einer neuen leeren Festplatte (auf einem neuen System) wiederherstellen:


Will man mehrere Partitionen restaurieren, so sollte man zuerst die erste Partition restaurieren, also die Partition [hd1:1] bzw. [c:] falls keine Systempartition vorhanden war.
Die erste Partition stellt man über den 3. Menüpunkt [Restore complete Disk from Images] wieder her.

Alle weiteren Partitionen stellt man dann über den 2. Menüpunkt [Restore Disk from file] wieder her (der 2. Eintrag wird also immer gewählt, wenn Partitionen schon vorhanden sind).
Dieser Eintrag wird auch dann verwendet, wenn die Partitionstabelle schon vorhanden ist und man nur eine Datenpartition wiederherstellen möchte.

Hinweise:
Wenn beim Rücksichern die Laufwerksbuchstaben nicht übereinstimmen dann wurde mit UEFI gesichert, vom BIOS aber legacy gebootet (bzw. umgekehrt).
In der Regel muss man hier nur das bootverhalten im Bios entsprechend umstellen.

Will man noch weitere Partitionen zurück sichern, so muss man diese erst anlegen und formatieren.
Hierzu kann man auch das Windows-Setup nutzen, in dem man eine 'Benutzerdefinierte:' Installation startet und hier die Partitionen anlegt.
Nachdem man diese noch entsprechend formatiert hat, kann man sofort die zuvor gesicherten Images wiederherstellen.
Dabei einfach in der Partitionierungsübersicht stehen bleiben und ggf. Drivesnapshot neu starten, bzw. mit der
Tastenkombination Alt + Tabulator wieder nach vorn holen.

4. den Fehler:Fehlerbehebung: INACCESSIBLE BOOT DEVICE nach einem restore beheben:


Restauriert man ein zuvor gesichertes Image auf einem artfremden neuen System,
so kommt es beim Systemstart möglicherweise zu einem Bluescreen mit Fehlermeldungen wie [0x0000007b] bzw. [INACCESSIBLE_BOOT_DEVICE].
Dieser Fehler tritt normalerweise nur dann auf, wenn die in der Sicherung vorhandenen bzw. die installierten Festplattentreiber nicht mehr mit der neuen Hardware zusammenpassen.
Lösung bei einem Standard-PC-System:

Bei normalen PC Systemen ändert man im Bios die Einstellungen vom Festplatten-Controller auf die zuletzt verwendete Einstellung.
Also entweder [Legacy Mode] bzw [IDE] oder [RAID] bzw. [AHCI] bzw. [SATA] einstellen.
Im Zweifelsfall kann man auch einfach alle Varianten ausprobieren.

Sollte dies immer noch nicht funktionieren,
so kann man ggf. das Image unter VirtualBox restaurieren (siehe nächsten Kasten) und dort das System mit den richtigen Treibern ergänzen.

Lösung beim Umzug von Systemen auf virtuellen Maschinen (VMs):

Restauriert man ein älteres Standard-PC-System oder eine andere Virtualisierungslösung wie z. B. VMWare vSphere ESXi in VirtualBox,
so kommt es beim Systemstart möglicherweise zu einem Bluescreen, da hier meist nur IDE-Festplattentreiber installiert sind.

Die Lösung ist hier einfach:
Man entfernt unter VirtualBox die restaurierte Festplatte vom vorhandenen SATA-Controller [Controller: SATA] (die Festplatte dabei nicht löschen).
Anschließend fügt man unter VirtualBox einen neuen [IDE-Controller] hinzu und fügt diesem [Controller: IDE] die restaurierte Festplatte wieder hinzu.
Das System sollte dann meist starten.

Wichtig: Man sollte den SATA-Kontroller im System lassen,
denn nach dem man einmalig mit der am IDE-Controller angeschlossenen Festplatte gestartet hat werden auch die Treiber für den SATA-Controller für VirtualBox mit installiert.
Anschließend kann man das System nochmals ausschalten, den IDE-Controller wieder entfernen und die Festplatte wieder mit dem SATA-Controller verbinden.

Windows Intel-IDE Treiber hinzufügen:

Startet das System immer noch nicht? Dann sollte man versuchen dieser Installation einen extra IDE-Treiber hinzuzufügen:
Hierzu startet man am besten wieder wie unter Punkt 2 beschrieben wurde von einer Windows-Setup-DVD.
Drivesnapshot selbst startet man aber mit dem zusätzlichen Parameter [--MergeIDE], also so: [snapshot64.exe --MergeIDE].

Indem sich daraufhin öffnenden Fenster wählt man nun den Pfad zum wiederhergestellten Windows aus und bestätigt diesen mit [OK].
Wenn es geklappt hat, erhält man folgende Meldung [The driver intelide was successfully installed to D:\Windows].

Wichtig: Es werden hier nur IDE-Treiber hinzugefügt. Das System sollte nun im IDE-Modus (also nicht im AHCI-Modus) problemlos starten.

Alternativ kann man versuchen mittels: [snapshot64.exe --AddDriver] einen neuen Treiber hinzuzufügen.
Man hier wird dann nach dem Windows-Pfad und dem entsprechenden Treiber (*.inf und *.sys) gefragt.
Beachtet hier aber: Die Installation mittels '--AddDriver' funktioniert nur, wenn die zum Treiber passende Hardware auch tatsächlich vorhanden ist.
Man kann die Treiber auch wie folgt direkt übergeben: [snapshot64.exe -–AddDriver d:\windows z:\iastor.inf z:\iastor.sys].

5. wichtige Kurztipps:


Wichtig:
Will man mehrere Laufwerke mit dem
Parameter '--AllWriters' sichern, dann bricht die Sicherung ggf. mit der folgenden Fehlermeldung 'Writer: System Writer reports an error. Status = 8 / 0x800423f0' ab.
Hier mal Logfileauszug aus einer Sicherung vom 11.11.2019 (mit dem alten Script):
14:35:01 Start of Snapshot 1.47.18678 [Oct 18 2019] at 11.11.2019 14:35:01 Running on Windows 7 Professional 64-bit Service Pack 1 (7601) 14:35:01 Memory Info: Total: 2047Mb, Free: 853Mb, Pagefile total: 4095Mb, Pagefile free: 2351Mb 14:35:01 Command line: \\kahla-vm\Images\Drivesnapshot\snapshot.exe C: y:\Images\$computername\20$date\$computername-$disk-$date-drivesnapshot-$type.sna -o --AutoBackupSize:512 --ALLWriters -Gx --LogFile:y:\Images\$computername\20$date\_logfile.txt 14:35:03 Disks in backup: 14:35:03 HD1:1 -> y:\Images\PCNAME\20191111\HD1-1.sna 14:35:03 c: -> y:\Images\PCNAME\20191111\PCNAME-C-191111-drivesnapshot-ful.sna 14:35:03 Preparing for backup 14:35:19 Including all available VSS writers 14:35:19 Starting Snapshot creation 14:35:19 Creating shadow set {74b9899b-8f3a-44a5-9287-b5d5348ba04e} 14:35:24 Register shadow copy {361ca0e8-85a0-4584-a7f9-db10cb194d44} 14:35:24 The Volume Snapshot was created successfully 14:35:26 Start backup of HD1:1 -> y:\Images\PCNAME\20191111\HD1-1.sna 14:35:26 free space info: total 102.396KB, 77.644KB free, 24.752KB must be saved 14:35:27 operation aborted 14:35:27 Backup of HD1:1 aborted 14:35:29 Deleting previously generated shadow copy 14:35:29 Unregister shadow copy {361ca0e8-85a0-4584-a7f9-db10cb194d44} 14:35:29 Error occurred - exitcode 1 14:35:29 End of Snapshot 1.47 [Oct 18 2019] at 11.11.2019 14:35:29 Start of Snapshot 1.47.18678 [Oct 18 2019] at 11.11.2019 14:35:29 Running on Windows 7 Professional 64-bit Service Pack 1 (7601) 14:35:29 Memory Info: Total: 2047Mb, Free: 834Mb, Pagefile total: 4095Mb, Pagefile free: 2340Mb 14:35:29 Command line: \\kahla-vm\Images\Drivesnapshot\snapshot.exe D: y:\Images\$computername\20$date\$computername-$disk-$date-drivesnapshot-$type.sna -o --ALLWriters -Gx --LogFile:y:\Images\$computername\20$date\_logfile.txt 14:35:31 Disks in backup: 14:35:31 d: -> y:\Images\PCNAME\20191111\PCNAME-D-191111-drivesnapshot-ful.sna 14:35:31 Preparing for backup 14:35:43 Including all available VSS writers 14:35:43 Starting Snapshot creation 14:35:43 Creating shadow set {3a6e792f-f619-4628-8cd8-4d39e9be202e} 14:35:45 Writer: System Writer reports an error. Status = 8 / 0x800423f0 14:35:45 Can't create VSS Snapshot, using internal backup engine. 14:35:46 Start backup of d: -> y:\Images\PCNAME\20191111\PCNAME-D-191111-drivesnapshot-ful.sna 14:35:46 free space info: total 65.532MB, 50.827MB free, 14.705MB must be saved 14:35:47 operation aborted 14:35:47 Backup of d: aborted 14:35:48 Error occurred - exitcode 1 14:35:48 End of Snapshot 1.47 [Oct 18 2019] at 11.11.2019

Hintergrund: Der Volume Shadow Copy Service (VSS)/System Writer hat in der Regel immer Abhängigkeiten zum Systemlaufwerk C:.
Will man mehrere Laufwerke sichern und verwendet den Parameter '--Allwriters', dann bricht die Sicherung ab da diese nicht Konsistenz wäre.
Man erkennt hier auch, dass der Volume Shadow Copy Service (VSS)/System Writer (gelb hervorgehoben) nicht gleichzeitig für alle Laufwerke gesetzt wird.

Daher muss man die Sicherung so starten, dass alle Laufwerke gleichzeitig in den Volume Shadow Copy Service/System Writer Modus versetzt werden (hier grün hervorgehoben).
Snapshot startet man daher so 'snapshot.exe C:+D: x:\Sicherungspfad\$disk --AllWriters'.
Man erkennt am folgenden Logfile, dass hier zuerst alle (3) Laufwerke in den VSS Zustand versetzt werden ('shadow set', 'shadow copy').
Dadurch ist sichergestellt, dass wirklich alle Daten, einschließlich der Änderungen vom laufenden System mit gesichert werden.
Hier ein Logfileauszug von einer Sicherung vom 05.12.2019 desselben Systems (mit dem neuen Script):
02:30:24 Start of Snapshot 1.47.18678 [Oct 18 2019] at 05.12.2019 02:30:24 Running on Windows 7 Professional 64-bit Service Pack 1 (7601) 02:30:24 Memory Info: Total: 2047Mb, Free: 1366Mb, Pagefile total: 4095Mb, Pagefile free: 2745Mb 02:30:24 Command line: \\kahla-vm\images\Snapshot\snapshot.exe C:+D: y:\Images\$computername\20$date\$computername_$date_snapshot_$type_$disk.sna --AutoBackupSize:8192 --ALLWriters -Gx -R --LogFile:y:\Images\$computername\20$date\_logfile.txt 02:30:26 clearing Recycle Bin on drive C: - 0 Files, 0 Bytes 02:30:26 clearing Recycle Bin on drive D: - 0 Files, 0 Bytes 02:30:26 Disks in backup: 02:30:26 HD1:1 -> y:\Images\PCNAME\20191205\HD1-1.sna 02:30:26 C: -> y:\Images\PCNAME\20191205\PCNAME_191205_snapshot_ful_C.sna 02:30:26 D: -> y:\Images\PCNAME\20191205\PCNAME_191205_snapshot_ful_D.sna 02:30:27 Preparing for backup 02:30:44 Including all available VSS writers 02:30:45 Starting Snapshot creation 02:30:45 Creating shadow set {2d428253-3758-492a-b8ef-1252e363ab00} 02:30:51 Register shadow copy {38448496-b26b-4c04-9229-533bb6a5879a} 02:30:51 Register shadow copy {7119682b-2ee5-476b-9da3-176df1daf1b5} 02:30:51 The Volume Snapshot was created successfully 02:30:53 Start backup of HD1:1 -> y:\Images\PCNAME\20191205\HD1-1.sna 02:30:53 Start backup of HD1:1 -> y:\Images\PCNAME\20191205\HD1-1.sna 02:30:53 free space info: total 102.396KB, 77.644KB free, 24.752KB must be saved 02:30:55 HD1:1 24.752KB in use - stored in 9.172KB - 0:02 minutes 02:30:55 Success 02:30:55 Start VSS backup of C: -> y:\Images\PCNAME\20191205\PCNAME_191205_snapshot_ful_C.sna 02:30:56 free space info: total 49.049MB, 24.527MB free, 19.437MB must be saved 02:39:48 C: 24.522MB in use - stored in 9.063MB - 8:53 minutes 02:39:48 Success 02:39:50 Start VSS backup of D: -> y:\Images\PCNAME\20191205\PCNAME_191205_snapshot_ful_D.sna 02:39:50 free space info: total 65.532MB, 50.828MB free, 12.048MB must be saved 02:45:44 D: 14.704MB in use - stored in 7.308MB - 5:56 minutes 02:45:44 Success 02:45:46 Deleting previously generated shadow copy 02:45:46 Unregister shadow copy {38448496-b26b-4c04-9229-533bb6a5879a} 02:45:46 Unregister shadow copy {7119682b-2ee5-476b-9da3-176df1daf1b5} 02:45:46 Snapshot finished successfully 02:45:46 End of Snapshot 1.47 [Oct 18 2019] at 05.12.2019


Wichtiger Hinweis: Das oben vorgestellte Script wurde entsprechend angepasst.
Wer noch eine alte Version von diesem Sicherungsscript einsetzt, der sollte diese entsprechend aktualisieren.
Insbesondere betroffen sind Systeme mit mehreren Laufwerken mit Datenbanken wie z. B. Exchange, MySQL, Microsoft SQL Server, Oracle, Advantage Database Server, PostgreSQL, JBoss Application Server, Apache Tomcat usw.
Liegt eine Datenbank nicht mit den Transaktionsprotokollen zusammen auf ein und demselben Laufwerk, dann muss man unbedingt alle zu sichernden Laufwerke in einer Zeile (C:+D:+E: ...) übergeben.
Denn nur dann passen bei einer Wiederherstellung die Transaktionsprotokolle mit der Datenbank zusammen.

snapshot.exe -R = (recycle) leert vor einer Sicherungen immer noch den Papierkorb.

snapshot.exe -o = Es werden keine Hashdateien erstellt (so kann man Speicherplatz sparen). Hashdateien werden nur bei der Erstellung von differenziellen Images benötigt.
Fehlende Hashdateien (.hsh) kann man bei Bedarf auch mittels
[snapshot.exe Image.sna -hImage.hsh]
jederzeit nachträglich erzeugen.

snapshot.exe -T Image.sna = Image überprüfen.

snapshot.exe --exclude:"*.tmp,\Windows\Temp" = Die hier angegebenen Dateien und Ordner werden nicht mit gesichert.
Beachtet dabei: Nach einem restore muss man einmalig die [SnapshotDeleteAfterRestore.BAT] aus dem jeweiligen root-Verzeichnis ausführen.

snapshot.exe -PW=pA$5wörd = Die Sicherung mit einem Passwort verschlüsseln.

snapshot.exe --show bzw.
snapshot.exe --showlist = Informationen über alle Laufwerke und Partitionen ausgeben.


Drivesnapshot sichert übrigens keine Dateien, sondern alle vom System belegte Sektoren. Dadurch ist Drivesnapshot relativ unabhängig vom verwendeten Betriebssystem und Dateisystem.

Bei einem normalen voll-Backup ($type = ful) wird in der Regel für jeden zu sichernden 4 kByte Sektor (Festplatten-Block) eine 128 Bit Prüfsumme errechnet und in der dazugehörigen Hash-Datei (*.hsh) gespeichert.

Bei einem differentiellen-Backup ($type = dif) wird jeder zu sichernde Sektor mit der in der Hash-Datei gespeicherten Prüfsumme vom voll-Backup verglichen.
Ist die Prüfsumme zu einem Sektor unverändert, dann wird dieser nicht gesichert.
Nur wenn die Prüfsumme zu einem Sektor verändert ist, dann wird dieser mit gesichert.
Bei einem differentiellen-Backup werden also nur die Sektoren gesichert, die sich zum letzten voll-Backup verändert haben.

Nicht verwechseln - differentiell vs. inkrementell:
Ein differentielles-Backup bezieht sich immer auf ein normales voll-Backup, dieses speichert nur die Änderungen in Bezug auf das entsprechende voll-Backup.
Für die Wiederherstellung eines differentiellen-Backups benötigt man daher nur ein voll-Backup und ein einzelnes davon abgeleitetes differentielles-Backup. Auf Grund des einfachen Aufbaus ist die Geschwindigkeit beim Restore entsprechend hoch.

Differentielle-Backups bauen nicht aufeinander auf und sind auch nicht untereinander bzw. voneinander abhängig - sie sind also nicht inkrementell.
So das man hier auch jederzeit beliebig, nicht mehr benötigte, differentielle-Backups einfach löschen kann.
Man muss bei differentiellen-Backups also nur einmalig ein voll-Backup erstellen und dies entsprechend sicher aufbewahren.

Zur Erstellung eines differentiellen-Backups wird übrigens nur die Hash-Datei (*.hsh) vom voll-Backup benötigt.
Wird irgendwann das differentielle-Backup zu groß, so muss man ein neues voll-Backup anlegen, oder man erzeugt mittels Drivesnapshot ein neues.
Drivesnapshot kann aus einem alten voll-Backup und einem aktuellen differentiellen-Backup auch ein neues voll-Backup generieren. Gerade letzteres bietet sich an wenn man Sicherungen über langsame Verbindungen abspeichert.

Warum bietet Drivesnapshot keine
inkrementelle-Backups an?:
Bei einem inkrementellen Backup würde man zwar immer nur die zum letzten Backup gemachte Änderungen sichern. Die Datensicherung wäre sehr schnell und die Backups wären kleiner.
Aber die Ausfallrate auf Grund der zahlreichen inkrementellen Dateien wäre viel höher. Weiterhin würde durch die Vielzahl der inkrementellen-Dateien die Übersicht und die Restore Geschwindigkeit deutlich leiden.
Auch kann man bei einer inkrementellen-Datensicherung, meist nicht oder nur schwer einzelne Datensicherungen löschen. Auf Grund dieser Tatsachen bietet Drivesnapshot nur differentielle-Backups an.

Alternativ:
Falls euch Drivesnapshot nicht zusagt, dann solltet ihr einen Blick die folgende Lösung werfen.

❑  Abschließende Hinweise:


Die Nutzung der Anleitung erfolgt auf eigene Gefahr, für jegliche Schäden wird keine Garantie/Haftung übernommen.
IP-Adressen, E-Mailadressen, Namen u. ä. wurden für die Dokumentation geändert, hacken ist also zwecklos.
Die Dokumentation entstand aus verschiedenen Tests, sowie produktiven Installationen. Diese Anleitung stellt somit eine Zusammenfassung wichtiger und empfohlener Schritte dar.
Bevor sie eventuell Fragen stellen bitte ich sie die Dokumentation komplett zu lesen. Hinweise auf Fehler, Anregungen, Danksagungen oder ähnliches sind immer willkommen.

Design:
© ctaas.de, A. Schröder, Kahla [Impressum]