Mittwoch, 25. September 2019

Windows Datensicherung mit Bordmitteln auf USB Stick

Achtung!
Ich möchte davor warnen, capture-image in einem normalen Windows zu starten!
Bei den Versuchen eine andere Systemplatte einfach mit Hilfe meines Notebooks in ein Wim File zu sichern, habe ich leider die Erfahrung gemacht, dass entweder der Vorgang in vielen Stunden ohne Fortschritt oder nach einem Abbruch die zu sichernde Partition zerstört ist!
Der Befehl "dism /capture-image ..." darf meiner Meinung nach nur unter Windows PE verwendet werden!

Grundlegende Idee

  • Seit der Version 1709 von Windows 10 kann man mit der Datenträgerverwaltung auch auf einem USB Stick mehr als eine Partition erzeugen.
  • Der Dateiversionverlauf sichert einfach, automatisch und benutzerfreundlich die Dateien auf ein externes Laufwerk.
  • Mit dism kann man ein Image des gesamten Systemlaufwerkes auf dem USB Stick (oder auf einem Netzlaufwerk) erzeugen, welches auch noch flexibel handhabbar ist.
  • Mit Windows PE oder dem Windows Setup kann man jederzeit ein Notfall System starten.
Um es simpel zu machen, umfasst meine Idee nur wenige, einfache Schritte:
  1. Bootfähiger USB Stick in zwei Partitionen (1 x FAT32 als Start Partition, 1 x NTFS zur Datensicherung) partitionieren
  2. ISO Image von Windows PE oder Windows öffnen und den Inhalt in die Start Partition kopieren.
  3. Auf der Backup Partition den Ordner wim anlegen. Für späteres Restore ein aktuelles/passendes RecoveryImage Winre.wim dorthin kopieren.
  4. Dateiversionsverlauf mit Ziel auf die Datensicherungspartition einrichten.
  5. Von diesem Stick booten und mit dism ein Image der aktuellen System Partition auf den Stick schreiben. 
Nachtrag 24.1.2020: Ich habe mittlerweile eine Reihe von Scripts erstellt, die fast alles automatisieren. 

USB Stick

Die Größe des USB Sticks muss der zu erwartenden Datenmenge entsprechen. Hat man sein Systemlaufwerk etwas eingeschränkt und es fallen nicht allzu viele Daten an, sollte ein 64 oder 128 GB Stick locker reichen. Man kann selbstverständlich auch eine externen HDD oder SSD verwenden.
Wer ein paar Bilder braucht, kann diese Anleitung verwenden.
  1. Das auf dem USB Stick vorhanden Laufwerk zuerst löschen
  2. Startpartition anlegen und mit FAT32 formatieren. Die Größe richtet sich danach, ob man das Windows Setup (=> 4 GB) verwenden will oder nur Windows PE (=>0,5 GB). Die Partition z.B. als SETUP oder RESTORE benennen.
  3. Datenpartition anlegen und NTFS formatieren. Es wird der restliche Platz als ein Partition verwendet. Die Partition z.B. als BACKUP benennen.
  4. Man sollte der Datenpartition jetzt einen feste Laufwerksbuchstaben z.B. S: zuweisen!

ISO Image

  1. Das passende ISO Image einfach durch Doppelklick öffnen, mit ctrl+a alles markieren und auf die Startpartition des Sticks kopieren. Wie man ein Windows PE ISO bekommt habe ich hier beschrieben. Ein passendes Windows 10 ISO kann man sich mit dem Windows Media Creation Tool direkt bei Microsoft herunterladen.
  2. Um Tipparbeit zu sparen kann man noch ein paar cmd oder txt Dateien mit Scripten oder Codefragmenten auf den Stick legen.

Dateiversionsverlauf

  1. Die Windowstaste drücken und anschließend "Sicherung" eintippen (oder durchklicken: Einstellung/Update+Sicherung/Sicherung).
  2. "Meine Dateien automatisch sichern" aktivieren. Das oben erstellte Laufwerk S: angeben
  3. Bei Bedarf unter weitere Optionen die zu sichernden Ordner verwalten. Per default wird alles aus dem aktuellen User Pfad gesichert.

System Image erstellen

  1. Arbeit beenden und vom Stick booten. Dazu mit gedrückter Shift-Taste einen Neustart ausführen, z.B. mit Windows Taste, klick auf den "Ausschaltknopf", Shift + Klick auf Neustart. Im folgenden Dialog: "Ein Gerät verwenden" -> "EFI USB Device" auswählen. Dieser Dialog ist abhängig von der System Umgebung. Bei einer "Old" BIOS Umgebung muss man beim Rechnerstart das Bootmenü (F12 oder F8 oder ...) aktivieren und den Stick auswählen.
    • Windows PE bootet direkt ins CMD Fenster, bei Windows Setup muss man im Setup Dialog Shift+F10 drücken.
  2. Zur Erleichterung kann man bei Windows PE die deutsche Tastatur einschalten. 
  3. Nach dem man sich die Laufwerksbuchstaben angeschaut hat kann man mit dism (siehe Abschnitt Codezeilen) ein Image auf den USB Stick schreiben. (capture.cmd auf GitHub)

System wieder herstellen

Vom USB Stick booten, die HDD bei Bedarf neu Partitionieren und mit dism das Image wieder herstellen. (restore.cmd auf GitHub)

Ein paar Zeilen Code

Mittlerweile habe ich ein paar Scripte für den Umgang mit WindowsPE und dem USB Stick auf GitHub abgelegt.
Das Script WinPEMount erweitert dabei geführt die Startnet.cmd im boot.wim Image so, dass man ziemlich komfortabel weiter batch Dateien ausführen kann. Mit einer einmaligen Modifikation kann man so flexible Boot Sticks bauen.

Für die Erzeugung der Partitionen auf dem USB Stick braucht man ein Administrator Powershell Fenster (Windows+x)
$url="https://raw.githubusercontent.com/heinz-otto/scripts/master/batch/"
$files="CreatePartitions-USBStick.txt"
foreach($f in $files) {wget -O $f "$url$f"}
gwmi win32_diskdrive | ?{$_.interfacetype -eq "USB"}|select Index,Partitions,Caption
# Jetzt die Datei CreatePartitions-USBStick.txt editieren und die richtige Disk Nummer eintragen
notepad CreatePartitions-USBStick.txt
Pause
diskpart /s CreatePartitions-USBStick.txt
Bei Windows PE die deutsche Tastatur aktivieren:
wpeutil SetKeyboardLayout 0407:00000407
start cmd
Festplatten mit Diskpart anzeigen:
echo list volume|diskpart
(echo sel disk 0 & echo list part)|diskpart
(echo sel disk 0 & echo sel part 2 & echo detail part)|diskpart
Ein Image vom Windows Laufwerk C: auf Laufwerk y:\wim speichern:
dism /capture-image /imagefile:y:\wim\backup.wim /capturedir:c:\ /name:C-WinOS
Die beiden Partitionen auf dem USB Stick anlegen.
list disk
select disk x
clean
rem == 1. Boot partition 512 MB============
create partition primary size=512
format quick fs=fat32 label="BOOT"
assign letter=K
active
rem == 2. Backup partition Rest komplett===
create partition primary
format quick fs=ntfs label="BACKUP"
assign letter=S
remove letter=K

Weitere Gedanken zur Windows Datensicherung

Im normalen Betrieb kann die FileHistory (Dateiversionsverlauf) immer eingeschaltet sein und auf ein Netzlaufwerk (NAS) zeigen.

Dieser kurze Artikel enthält keine Details zu Wiederherstellung. Den Umgang mit einem Windows Image habe ich hier ausführlich beschrieben.

Eine 4 GB Partition (4096 MB beim Erzeugen angegeben) ist für Windows 10 Version 1903 schon sehr knapp - da sind nur noch 96 MB frei.
Man könnte das Laufwerk mit der Startpartition auch unsichtbar machen: Einfach den Laufwerksbuchstaben in der Datenträgerverwaltung entfernen.

Wenn die Windows Installation nicht ganz neu ist, sollte man die Installation vor dem Image von Ballast befreien bzw. Ordner beim Image ausschließen. Um meinen 30 GB großen C:\Windows\Installer Pfad um 20 GB zu erleichtern, habe ich den Patchcleaner gefunden. Die Beschreibung klang nachvollziehbar und das Tool arbeitete sauber.

Die Filehistory hat eine Kommandozeilen Tool mit versteckten Parametern (FhManagew.exe). Damit könnte man die Sicherung auch per Script anstoßen.

Man kann das Image auch noch komfortabler mit dem Script der c't machen.