Backup mit WIMage

Sturz, Diebstahl, Hardwaredefekt, Crpyto-Trojaner, es gibt immer eine Ursache für einen Datenverlust aber es gibt keine Entschuldigung auf ein Backup zu verzichten. Die Frage ist nur wie

Einleitung

Der normale Anwender weiß ja gar nicht genau, was er sichern sollte und wie das dann geht.

Früher gab es das "NTBackup" zur Sicherung von Clients und Server aber das Restore eines kompletten Systems war nicht gerade Endbenutzerfreundlich.

Das Windows 7 Image Backup, welches selbst unter Windows 10 noch vorhanden ist, konnte des kompletten PC so sicher, dass man ihn auch wieder quasi als Image zurückholen konnte. Allerdings muss der Anwender schon noch wissen, wie er einen defekten PC z.B. mit einer Windows CD, so er denn eine hat, startet und dann das Restore durchführt.

Ich nutze sogar mehrere Strategien, z.B. sichere ich meinen Notebook regelmäßig auf ein NAS, so dass ich davon wieder herstellen kann. Zudem nutze ich die Windows Versionsverwaltung, um geänderte Dokumente quasi in Echtzeit auf einen Storage zu kopieren und dann synchronisiere ich meine Dateien über OneDrive mit der Cloud. Bei einem neuen PC gilt es eben nicht nur das Betriebssystem, die Programme und die Daten wieder bereit zu stellen, sondern auch umfangreiche Anpassungen, Zertifikate etc. mitzunehmen.

Für viele Privatanwender dürfte neben einem Abgleich der Dokumente mit OneDrive, iCloud, Dropbox, OwnCloud, NextCloud auch ein komplettes Backup einmal im Monat auf eine flotte USB-Festplatte die beste Option sein.

Das geht per Bordmittel oder auch mit anderen Tools wie z.B. Drivesnapshot, Veeam Endpoint Backup FREE oder Tools der verschiedenen NAS-Hersteller (Synology, QNAP u.a.) um ein Imagebackup als Sicherung anzulegen.

Aber auch Windows selbst hat eine Imaging-Lösung eingebaut, mit der Sie eine Windows Installation als WIM-Datei auf einen Datenträger bringen können und dann nur noch einen Windows CD, USB-Stick o.ä. brauchen, um den damaligen Stand einfach zurückzuholen. Ich beschreibe hier exemplarisch meine Erfahrungen mit dem Skripten, die in der Computer-Zeitschrift c't unter dem Namen "WIMage" bereitgestellt werden. Sie nutzen die Funktion mit dem Programm DISM.EXE quasi ein komplettes Dateibasiertes Image des PC in eine WIM-Datei zu schreiben und im Falle eines Restore diese Datei einfach als Quelle für eine "Neuinstallation" zu nutzen. Windows 10 installiert sich nämlich auch nicht mehr Dateiweise sondern indem ein Image angewendet und nach dem Start dann angepasst wird. Es gibt natürlich auch andere OpenSoure-Skripte, die ebenfalls mit DISM und der Windows Image Technik arbeiten.

Das Skript WImage zeigt, was heute allein mit Windows Bordmitteln schon möglich ist aber ich denke nicht, dass es "massentauglich" ist. Es ist aber ein Weckruf, dass Backup einfach sein kann aber eben auch genutzt werden muss. Ich bin dabei eher ein Freund der kostenfreien Version eeam Endpoint Backup FREE oder auch der günstigen "Drivesnapshot"-Version. Aber egal, wie Sie ihre Daten sichern. Prüfen Sie auch eine Wiederherstellung und stellen Sie sicher, dass ein Backup auch regelmäßig fehlerfrei ausgeführt wird

Privatanwender sind vielleicht gar nicht mal so schlecht dran, ihre Daten und Dokumente einfach im OneDrive abzulegen und damit das Thema "Backup" zu entschärfen. Im Fehlerfall können Sie dann mit einen neuen oder neu installierten Computer und den Applikationen einfach einfach wieder starten. Aber denken Sie dabei an Programme, die ihre Daten leider nicht im OneDrive ablegen, z.B. Buchhaltungsprogramme wie LexWare, VR Networld etc., die gerne die Daten auf "All Users" oder "ProgramData" ablegen und auch keine "Datensicherung" in ihr OneDrive machen.

Randbedingungen

Es härt sich alles gut an aber es gibt auch Einschränkungen:

  • Komplettes Image als Backup
    Eine gut Idee, allerdings dauert es aufgrund der Datenmenge recht lange. Wir sprechen hier schon von Stunden. Und es ist immer ein volles Backup. Per Schattenkopien könnte man sicher auch die Änderungen vom vorherigen Stand erkennen aber DISM liest jede Datei einzelen und nicht die Festplatte als Blöcke
  • Sichert nur Systemdatenträger
    Das ist ideal, wenn Sie auch nur eine Festplatte mit einer Partition haben. Wer Daten auf mehrere Partitionen oder Festplatten verteilt, muss die anderen Bereich anders sichern
  • Performance
    Aufgrund der Datenmenge dauert so eine Sicherung lange. Es werden die Dateien sequentiell lokal gelesen und dann in die WIM-Datei im Ziel geschrieben. Auch eine 3,5" 1,5TB externe USB 2.0-Festplatte ist nicht wirklich schnell und mehr als 10-20MByte/Sek sind da meist nicht drin. Wer also 1 TB sichert, muss mit 14-27 Stunden! rechnen. Das lohnt sich also schon USB 3.0 oder schneller. Selbst wer nur 200 GB zu sicheren hat, wird 3-6 Stunden auf den Abschluss warten. Nur gut, dass Sie dabei weiter arbeiten können.
    leider kaknn man nicht einzelne Verzeichnisse, z.B. per OneDrive eh in die Cloud "gesicherte Daten" ausschließen.

Genau diese Arbeiten können aber interessant für eine effektivere Aufteilung sein. Wenn Sie konsequent z.B. Betriebssystem/Programme und Dateien auf verschiedene Partitionen oder Festplatten aufteilen, dann kann das Backup sehr viel schneller erfolgen. Allerdings ist in der Regel auch ihr "Benutzerprofil" auf der Systemplatte und das lässt sich auch nicht so einfach verlagern. Sie können aber zumindest Bilder, Videos, Filme, ISO-Dateien  und andere "Massendaten" vielleicht woanders hin auslagern. Die Sicherung mit WIMage ist also durchaus interessant, kostenfrei und relativ einfach einzusetzen, solange die Datenmenge überschaubar ist. Ich selbst mit einer 1TB Disk im Laptop nutze WImage aber nicht mehr, da mir die "Delta-Sicherung" fehlt. Schauen Sie sich vielleicht mal die beiden Produkte an

Vorbereitung

Vor dem Start müssen Sie unbedingt den Zieldatenträger, also ein USB-Stick oder eine passende Festplatte vorbereiten, damit im Notfall davon gebootet werden kann. Dabei hilft ihnen Windows. Wer auf Wimage aufsetzt, ist dabei gut beraten die Artikel der c't zu lesen, da hier alles umfangreich beschrieben ist. Hier also nur eine Stichwortsammlung.

  • Wiederherstellungslaufwerk vorbereiten
    Schließen Sie den gewünschten USB-Datenträger an und bereiten Sie als Wiederherstellungslaufwerk vor, indem Sie im Startmenü nach "Wiederherstellung" suchen und in dem Programm die Festplatte vorbereiten

    Das Setup löscht den Datenträger und legt eine bootfähige Partition mit ca. 32 GB für eine spätere Wiederherstellung an und sichert die erforderlichen Systemdateien dort drauf
  • Freier Platz als Volume definieren
    Im Bereich hinter den 32GB des Datenträgers legen Sie mit dem Festplattenmanager eine weiteres Volume an, formatieren es per NTFS und weisen einen Laufwerksbuchstaben und ein Label zu. Der Bereich wird später die Sicherung erhalten
  • Windows ISO Inhalt kopieren
    Dann öffnen Sie eine vorhandene Windows 10 ISO-Datei mit der richtigen Version (32 oder 64bit) und extrahieren alle Dateien und Ordner (Boot, EFI, Source, Support etc.) in diesen zweiten großen Bereich. Wenn Sie kein ISO-File haben, können Sie dies mit dem Windows Media Creator herunterladen.
  • Ct Wimage-Paket auspacken
    Nun fehlt noch das zur Version (32 oder 64 Bit) passende Paket von Wimage, welches ebenfalls in diese große Partition entpackt wird
  • BAT-Skript "ctwimage2-bootmaker64.bat" als Admin starten
    Ich starte dazu einem CMD.EXE als Administrator und da drin dann das BATCH-Skript. Es ist nur einmalig auszuführen
  • Backup-Script "ctwimag2-64.bat" als Admin starten
    Dieses Skript macht dann das eigentliche Backup.

Einen klassischen "Installer" gibt es also nicht

Backup mit ctwimag2-64.bat

Wenn Sie das Skript gestartet haben, dann sieht es irgendwann so während der Laufzeit aus:

Das Hauptprogramm ist DISM.EXE, welches quasi den Schnappschuss in die WIM-Datei einpackst.

Performance

Schnell ist das alles nicht und ich habe daher etwas hinter die Kulissen geschaut. DISM scheint nicht gerade "optimiert" zu sein. Es liest die Daten dateiweise von der Quelle, aber dann schreibt es zumindest bei mir viele TEMP-Dateien in das Ziellaufwerk:

Auch ist mir aufgefallen, dass natürlich beim dateiweisen Lesen auch der Virenscanner sich jede Datei noch einmal anschaut. Das kostet aber keine Disk-IOs, denn die Datei ist dann ja schon im Cache aber die CPU-Last ist natürlich höher.

Dass in meine Beispiel die Zielfestplatte der Engpass ist, zeigt schon der Taskmanager

Die Festplatte 0, zugegeben eine SSD, ist die Quelle und mit 1% deutlich unterfordert während die 1,5 TB SATA-Festplatte als Ziel und per USB 2.0-Anbindung auf 99% "Disktime" unterwegs ist. Auch im Perfmon ist das zu sehen:

Die hier momentan ausgewiesenen 432 IOP/Sek ist schon eine stattliche Zahl für eine einzelne SATA-Disk. Aber eben nicht schnell genug für ein schnelles Backup und erst recht für ein Restore.

Große Dateien

Bei mir gibt es immer mal wieder "Probleme" mit sehr großen Dateien, die vom Virenscanner "Defender for Endpoint" etwas länger gescannt werden. Insbesondere wenn sie die Funktion "Turn on block at first sight" aktiviert haben, sendet der Scanner einen Hashwert über die Datei zu Microsoft zur Verifizierung. Das gilt leider auch für Dateien, die auf der VSS-Kopie mit DISM auf die Festplatte geschrieben werden.

  • Option1: Sie machen vorher einen "Full Scan" auf Viren
    und hoffen, dass damit die neuen Dateien auch schon mal gemeldet werden.
  • Option2: Sie nutzen ein PowerShell, um die Datei "anzulesen"
    und hoffen damit die ScanFunktion anzutriggern
Get-ChildItem -Recurse -File | foreach {
   write-host "." -nonewline
   $buffer = New-Object Byte[] 100
   $reader = [System.IO.File]::OpenRead($_.fullname)
   $bytesRead = $reader.Read($buffer, 0, $buffer.Length)
}

Meistens hat sich dann der Problem zumindest reduziert.

Weitere Links