Wir sind unabhängig, neutral und finanzieren uns teilweise über Werbung und Partnerprovisionen.
Danke wenn Sie uns unterstützen. Diese Seite verwendet hierzu Cookies & Tracking-Cookies. Wenn Sie diese Seite weiterhin besuchen, erklären Sie sich damit einverstanden. (Danke!)

Wir sind unabhängig, neutral und finanzieren uns teilweise über Werbung und Partnerprovisionen. Danke wenn Sie uns unterstützen.
Diese Seite verwendet hierzu Cookies & Tracking-Cookies. Wenn Sie diese Seite weiterhin besuchen, erklären Sie sich damit einverstanden.

ntfs backup & restore

Windows von einem Debian/Ubuntu
Live-System aus im Netzwerk als Image sichern.

2017-03-14 © ctaas.de, A. Schröder [Impressum]


Um ein Windows System mit ntfs-Dateisystem unter Linux zu sichern kann man folgende Sicherungs- und Wiederherstellungs-Scripte verwenden.
Es wird dabei der Bootsektor, die Partitionierungstabelle und der komplette Inhalt der angegebenen Partition gesichert bzw. wieder hergestellt (es werden dabei nur die belegten Sektoren gesichert). Die Sicherung wird dabei in einer Netzwerkfreigabe in einem Image gespeichert. Bei der Sicherung wird neben dem Laufwerk c: auch die von neueren Windows Versionen angelegte meist versteckte System-Partition mit gesichert. Hat man nur ein Laufwerk c:, so wird hiermit das komplette System gesichert.
Das Script startet man von einer beliebigen Live-DVD (empfohlen wird Xubuntu). Fehlende Programme werden aus dem Internet nachgeladen.
Benötigt man ein Live-System auf einem USB-Stick, so sollte man sich das Programm Rufus mal ansehen.
Durch den einfachen Scriptaufbau bleibt man relativ unabhängig vom verwendeten System.
Einzelne Dateien lassen sich aus einem Image wiederherstellen.
FAT32 und exFAT Partitionen können hiermit auch gesichert werden.

Zur eigentlichen Sicherung wird dd und partclone sowie der Packer xz verwendet. Die mit xz gepackten Sicherungen sind dabei oft kleiner als vergleichbare Lösungen (meist wurde eine Platzersparnis von ca. 20% ermittelt).
Dual-Boot-Systeme und weitere Datenträger werden hier nicht beachtet. Man kann das hier vorgestellte Script aber leicht für eigene Zwecke anpassen und so noch weitere Laufwerke mit sichern.

Wichtig!:
Das zu sichernde Windows-System sollte sich möglichst nicht im Hybridmodus (Schnellstart-Modus) oder Ruhezustand befinden.
Man sollte Windows daher zuvor vollständig herunter fahren, hierzu hält man die Shift-Taste während dem herunterfahren fest.
Alternativ kann man die verschiedenen Schnellstartfunktionen auch per Registry-Key dauerhaft deaktivieren (letzteres wird bei häufigem gebrauch empfohlen).

1. Sichern (backup):


nano backup.sh

Hier folgendes einfügen (Copy & Paste):
#!/bin/sh
## Windows von einem Linux-Live-System aus, in einer Netzwerkfreigabe sichern:
##
## Das NTFS/FAT32/exFAT-Dateisystem wird voll unterstützt. Die Sicherung muss von einem
## Live-System (USB/CD/DVD) aus erfolgen, da nur so alles 100% gesichert werden kann.
## Eine ausführliche Parameterbeschreibung findet man unter: http://ctaas.de/linux-install.htm
## 2017 © Computertechnik Schröder, Arno Schröder, Kahla

## BACKUP - Die folgenden Angaben muss man anpassen:
serverip=192.168.0.100 # IP-Adresse des Servers auf dem gesichert wird.
freigabe=post          # Freigabe auf dem Sicherungsserver.
username=admin         # Benutzername für den Login auf dem Sicherungsserver.
passwort=Qbttxpsu      # Passwort zum Login auf dem Sicherungsserver.
srv_name=ServerName    # Sicherungsserver PC-Name (Server-Hostname).

bck_name=$(hostname)   # Computername des zu sichernden PCs (ändern).

# Sicherungsdatum automatisch ermitteln:
datum=$(date +"%Y-%m-%d")

## Netzwerk verbinden:
# Verzeichnis zum einhängen anlegen:
mkdir /mnt/netzwerk
# notwendige Pakete installieren:
apt-get install cifs-utils -y
# Die Netzwerkfreigabe einhängen (mounten):
mount -t cifs //$serverip/$freigabe /mnt/netzwerk/ -orw,user=$username,password=$passwort,domain=$srv_name

# Sicherungsverzeichnis anlegen:
mkdir /mnt/netzwerk/Backup/$bck_name/ -p

## Die eigentliche Sicherung starten:
# 1. Sichert nur den MBR (GRUB 2 Bootloader):
dd if=/dev/sda of=/mnt/netzwerk/Backup/$bck_name/$datum.mbr_grub_only.img bs=446 count=1

# if Abfrage ob GPT oder MBR Laufwerk:
if sgdisk -p /dev/sda | grep "Found invalid GPT and valid MBR"
 then
 # 2a. wenn kein GPT gefunden wurde, dann MBR-Partitionstabellen sichern.
 dd if=/dev/sda of=/mnt/netzwerk/Backup/$bck_name/$datum.sda.full_mbrgrub_2048.img bs=512 count=2048
 # sfdisk -d /dev/sdb > /mnt/netzwerk/Backup/$bck_name/$datum.sdb.mbr-part-table.mpt # weitere Datenträger...

 else
 # 2b. sonst GPT-Partitionstabellen (GUID-Partition-Table) sichern,
 # (neue Datenträger gemäß der EFI-Spezifikation - insbesondere alle Datenträger über 2 TB):
 sgdisk -b /mnt/netzwerk/Backup/$bck_name/$datum.sda.gpt-table.gpt /dev/sda
 # sgdisk -b /mnt/netzwerk/Backup/$bck_name/$datum.sdb.gpt-table.gpt /dev/sdb # weitere Datenträger...
fi

# 3. partclone Sicherungsprogramm installieren:
apt-get install partclone -y

# Kurz warten und eventuell vorhandene (durchs automount) geöffnete Fenster wieder schließen & Bildschirm-Energiesparmodus ausschalten:
echo 30 Sekunden warten ...; sleep 30; killall Thunar; xset s off -dpms

# alle zu sichernde Laufwerke aushängen:
umount /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 # Hier erweiterbar...

# 4. Inhalt der entsprechenden Partitionen (alle Programme, Daten, usw.) in einem partclone Archiv gepackt sichern (je nach System hier anpassen):
partclone.ntfs  -L /mnt/netzwerk/Backup/$bck_name/$datum.sda1.log.txt -c -s /dev/sda1 -o -|xz -9e  >/mnt/netzwerk/Backup/$bck_name/$datum.sda1.ntfs-ptcl-img.xz
partclone.ntfs  -L /mnt/netzwerk/Backup/$bck_name/$datum.sda2.log.txt -c -s /dev/sda2 -o -|xz -1   >/mnt/netzwerk/Backup/$bck_name/$datum.sda2.ntfs-ptcl-img.xz
# partclone.ntfs  -L /mnt/netzwerk/Backup/$bck_name/$datum.sda3.log.txt -cs /dev/sda3 -o -|xz -1   >/mnt/netzwerk/Backup/$bck_name/$datum.sda3.ntfs-ptcl-img.xz
# partclone.ntfs  -L /mnt/netzwerk/Backup/$bck_name/$datum.sda4.log.txt -cs /dev/sda4 -o -|xz -1   >/mnt/netzwerk/Backup/$bck_name/$datum.sda4.ntfs-ptcl-img.xz
# partclone.ntfs  -L /mnt/netzwerk/Backup/$bck_name/$datum.sda2.log.txt -cs /dev/sda2 -o -|gzip -1 >/mnt/netzwerk/Backup/$bck_name/$datum.sda2.ntfs-ptcl-img.gz # NTFS mit gzip.
# partclone.fat32 -L /mnt/netzwerk/Backup/$bck_name/$datum.sda2.log.txt -cs /dev/sda2 -o -|gzip -1 >/mnt/netzwerk/Backup/$bck_name/$datum.sda2.fat32-ptcl-img.gz # FAT32 mit gzip.
# partclone.fat32 -L /mnt/netzwerk/Backup/$bck_name/$datum.sda2.log.txt -cs /dev/sda2 -o -|xz -9 >/mnt/netzwerk/Backup/$bck_name/$datum.sda2.fat32-ptcl-img.xz # EFI System mit FAT32.
# partclone.exfat -L /mnt/netzwerk/Backup/$bck_name/$datum.sda5.log.txt -cs /dev/sda5 -o -|xz -1 >/mnt/netzwerk/Backup/$bck_name/$datum.sda5.exfat-ptcl-img.xz # für exFAT Partitionen.
# dd status=progress bs=1M                                               if=/dev/sda3     |xz -9 >/mnt/netzwerk/Backup/$bck_name/$datum.sda3.dd-img.xz # Microsoft reserved, UEFI/GPT.

# Parameterbeschreibung:
# [-L] = Logfilepfad, hier wird auf den Pfad auf die zuvor gemappte Netzwerkfreigabe verwiesen.
# [-c] = (clone), ein Image erstellen.
# [-s] = (source), welche Quellpartition soll gesichert werden?
# [-o -] = (output), das Ziel wird über die Standardausgabe [-], über die Pipe [|], an den Packer xz weitergeleitet.
# [-1] = Angabe der Kompressionsstärke für xz (0-9e ist möglich). Stufe 9e (extreme) bedeutet hier die maximale Komprimierung, die Sicherungsdauer
#        erhöht sich dabei deutlich. Im täglichen produktiven Betrieb wird die Stufe 1 empfohlen (optimale Kompression bei noch akzeptabler Laufzeit)
.

# optionale partclone Parameter:
# [-R] = (rescue) bei Lesefehlern fortsetzen (sollte man nur bei offensichtlich defekten Medien verwenden).
# [-i] = Sichern und 'crc check error' ignorieren (sollte man nur bei offensichtlich defekten Medien verwenden).
# [-I] = Sichern und 'filesystem check' ignorieren (sollte man nur bei offensichtlich defekten Medien verwenden).

# 5. optional: SHA256-Prüfsummen zur aktuellen Sicherung erzeugen, um später die Integrität der Archive zu testen zu können:
echo ✱✱✱ Backup abgeschlossen. Erzeuge nur noch SHA-256 Checksummen.; cd /mnt/netzwerk/Backup/$bck_name; sha256sum $datum.* >$datum.checksum.txt.sha

Das Script ausführbar machen und starten:
chmod +x backup.sh
sudo ./backup.sh

2. Wiederherstellen (restore):


nano restore.sh

Hier folgendes einfügen (Copy & Paste):
#!/bin/sh
## Windows von einem Linux-Live-System heraus, aus einer Netzwerkfreigabe wiederherstellen:
##
## Das NTFS/FAT32/exFAT-Dateisystem wird voll unterstützt. Die Rücksicherung muss von einem
## Live-System (USB/CD/DVD) aus erfolgen, da nur so alles zu 100% wieder hergestellt werden kann.
## Eine ausführliche Parameterbeschreibung findet man unter: http://ctaas.de/linux-install.htm
## 2017 © Computertechnik Schröder, Arno Schröder, Kahla

## RESTORE - Die folgenden Angaben muss man anpassen:
serverip=192.168.0.100 # IP-Adresse, des Servers (wo die Sicherungen liegen).
freigabe=post          # Freigabe auf dem Sicherungsserver.
username=admin         # Benutzername für den Login auf dem Sicherungsserver.
passwort=Qbttxpsu      # Passwort zum Login auf dem Sicherungsserver.
srv_name=ServerName    # Sicherungsserver PC-Name (Server-Hostname).

bck_name=BackupName    # Computername der Sicherung die wieder hergestellt werden soll.
bck_date=2017-03-14    # Die Sicherung vom angegebenen Datum soll wieder hergestellt werden.

## Vorbereitungen:
# swapping deaktivieren - es kann sonst passieren das, das Live-System
# die swap-Partition verwendet und so ein Rücksichern verhindert.
swapoff -a; umount -a 2>>e

## Netzwerk verbinden:
# Verzeichnis zum einhängen anlegen:
mkdir /mnt/netzwerk
# notwendige Pakete installieren:
apt-get install cifs-utils -y
# Die Netzwerkfreigabe einhängen (mounten):
mount -t cifs //$serverip/$freigabe /mnt/netzwerk/ -orw,user=$username,password=$passwort,domain=$srv_name

## Die eigentliche Wiederherstellung starten:
# 1. Den MBR (GRUB 2 Bootloader) wieder herstellen:
dd if=/mnt/netzwerk/Backup/$bck_name/$bck_date.mbr_grub_only.img of=/dev/sda bs=446 count=1

# 2a. Die MBR-Partitionstabelle zurücksichern (wenn vorhanden) ...
dd if=/mnt/netzwerk/Backup/$bck_name/$bck_date.sda.full_mbrgrub_2048.img of=/dev/sda bs=512 count=2048 2>>e
# sfdisk /dev/sdb < /mnt/netzwerk/Backup/$bck_name/$bck_date.sdb.mbr-part-table.mpt # weitere Datenträger...

# 2b. ... oder (load backup) die GPT Partitionstabelle wieder herstellen (wenn vorhanden):
sgdisk -l /mnt/netzwerk/Backup/$bck_name/$bck_date.sda.gpt-table.gpt /dev/sda 2>>e
# sgdisk -l /mnt/netzwerk/Backup/$bck_name/$bck_date.sdb.gpt-table.gpt /dev/sdb 2>>e # weitere Datenträger...

# 2c. die geänderte Partitionstabelle neu einlesen (dem System bekannt machen):
sleep 15; hdparm -z /dev/sda 2>>e; sfdisk -R /dev/sda 2>>e # 1. für Ubuntu, 2. für Debian

# 3. partclone Sicherungsprogramm installieren:
apt-get install partclone -y

# Kurz warten und eventuell vorhandene (durchs automount) geöffnete Fenster wieder schließen & Bildschirm-Energiesparmodus ausschalten:
echo 30 Sekunden warten ...; sleep 30; killall Thunar; xset s off -dpms

# alle betreffenden Laufwerke aushängen:
umount /dev/sda1 /dev/sda2 /dev/sda3 /dev/sda4 # Hier erweiterbar...

# 4. Systempartition und Laufwerk c: aus dem Image entpacken und wieder herstellen (je nach System hier anpassen):
xz -d -c /mnt/netzwerk/Backup/$bck_name/$bck_date.sda1.ntfs-ptcl-img.xz      | partclone.ntfs -r -s -   -o /dev/sda1
xz -d -c /mnt/netzwerk/Backup/$bck_name/$bck_date.sda2.ntfs-ptcl-img.xz      | partclone.ntfs -r -s -   -o /dev/sda2
# xz -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda3.ntfs-ptcl-img.xz      | partclone.ntfs   -rs -   -o /dev/sda3
# xz -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda4.ntfs-ptcl-img.xz      | partclone.ntfs   -rs -   -o /dev/sda4
# gunzip -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda2.ntfs-ptcl-img.gz  | partclone.ntfs   -rs -   -o /dev/sda2 # alternativ mit gzip.
# gunzip -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda2.fat32-ptcl-img.gz | partclone.fat32  -rs -   -o /dev/sda2 # FAT32 mit gzip.
# xz -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda2.fat32-ptcl-img.xz     | partclone.fat32  -rs -   -o /dev/sda2 # EFI System mit FAT32.
# xz -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda5.exfat-ptcl-img.xz     | partclone.ntfs   -rs -   -o /dev/sda5 # wenn exFAT Partition.
# xz -dc /mnt/netzwerk/Backup/$bck_name/$bck_date.sda3.dd-img.xz             | dd status=progress bs=1M of=/dev/sda3 # Microsoft reserved, UEFI/GPT.

# Parameterbeschreibung:
# [-d] = deflate, die gesicherte Archivdatei wieder entpacken.
# [-c] = (clone), die entpackten Daten, über die Pipe [|], an die Standardausgabe weiterleiten und die Archivdatei nicht löschen.
# [-r] = (restore), das Image wieder herstellen.
# [-s -] = (source), die Quelle für die Wiederherstellung kommt aus der Pipe [|], über die umgeleitete Standardausgabe, daher das [-].
# [-o] = (output), bestimmt das Ziel des Images, hier muss man die entsprechende Zielpartition angeben.

# optionale partclone Parameter:
# [-C] = (no check), Archiv manuell auf einer kleineren Partition wieder herstellen - Zielgröße und freien Speicherplatz nicht prüfen.

Das Script ausführbar machen und starten:
chmod +x restore.sh
sudo ./restore.sh

3. einzelne Dateien wiederherstellen (optional):


partclone stellt derzeit keine Möglichkeit bereit einzelne Dateien wiederherzustellen.
Um trotzdem einzelne Dateien wiederzustellen muss man etwas tricksen, man erstellt hier einfach ein RAW-Image welches man mounten kann. Dies benötigt jedoch meist reichlich Speicherplatz. Ausschlaggebend für den Platz ist dabei nicht der Inhalt der gesicherten Partition, sondern die ursprüngliche Partitionsgröße (die exakte Größe steht unter [Device size:] in der log-Datei).
Um hier möglichst flexibel zu bleiben, wird bei diesem Skript die Sicherung einfach temporär in der Netzwerkfreigabe, wo auch die Sicherungen liegen komplett entpackt und gemountet.
Eigene Anpassungen sind natürlich möglich:
nano data.sh

Hier folgendes einfügen (Copy & Paste):
#!/bin/sh
## Einzelne Dateien aus einer Sicherung über eine Netzwerkfreigabe wiederherstellen:
## 2017 © Computertechnik Schröder, Arno Schröder, Kahla

## DATEN - Die folgenden Angaben muss man anpassen:
serverip=192.168.0.100 # IP-Adresse, des Servers (wo die Sicherungen liegen).
freigabe=post          # Freigabe auf dem Sicherungsserver.
username=admin         # Benutzername für den Login auf dem Sicherungsserver.
passwort=Qbttxpsu      # Passwort zum Login auf dem Sicherungsserver.
srv_name=ServerName    # Sicherungsserver PC-Name (Server-Hostname).

bck_name=BackupName    # Computername der Sicherung.
bck_date=2017-03-14    # Die Sicherung vom angegebenen Datum soll verwendet werden.
dsk_part=sda2          # Welche Partition ist betroffen (wo liegen die Daten)?

## Netzwerk verbinden:
# Verzeichnis zum einhängen anlegen (fürs Netzwerk mount und das RAW-Image):
mkdir /mnt/netzwerk /mnt/raw
# notwendige Pakete installieren:
apt-get install cifs-utils -y
# Die Netzwerkfreigabe einhängen (mounten):
mount -t cifs //$serverip/$freigabe /mnt/netzwerk/ -orw,user=$username,password=$passwort,domain=$srv_name

# eine ggf. gemountete Freigabe aushängen (notwendig falls man mehrere Sicherungen durchsuchen will) & Bildschirm-Energiesparmodus ausschalten:
umount /mnt/raw 2>>/dev/null; xset s off -dpms

## Vorbereitungen, Sicherungs-Image entpacken und RAW-Image herstellen:
# 1. partclone Sicherungsprogramm installieren und exfat Unterstützung vorbereiten:
apt-get install partclone exfat-utils -y

# 2. In das Backupverzeichnis wechseln:
cd /mnt/netzwerk/Backup/$bck_name

# 3. Das Archiv entpacken und in ein RAW-Image umwandeln. Wichtig: hier nur einen Eintrag aktivieren!:
xz       -dc $bck_date.$dsk_part.ntfs-ptcl-img.xz  | partclone.ntfs  -rWs - -O $dsk_part.RAW.img # NTFS im xz-Archiv.
# gunzip -dc $bck_date.$dsk_part.ntfs-ptcl-img.gz  | partclone.ntfs  -rWs - -O $dsk_part.RAW.img # NTFS im gzip-Archiv.
# xz     -dc $bck_date.$dsk_part.fat32-ptcl-img.xz | partclone.fat32 -rWs - -O $dsk_part.RAW.img # FAT32 im xz-Archiv.
# gunzip -dc $bck_date.$dsk_part.fat32-ptcl-img.gz | partclone.fat32 -rWs - -O $dsk_part.RAW.img # FAT32 im gzip-Archiv.
# xz     -dc $bck_date.$dsk_part.exfat-ptcl-img.xz | partclone.exfat -rWs - -O $dsk_part.RAW.img # exFAT im xz-Archiv.
# gunzip -dc $bck_date.$dsk_part.exfat-ptcl-img.gz | partclone.exfat -rWs - -O $dsk_part.RAW.img # exFAT im gzip-Archiv.

# Parameterbeschreibung:
# [-dc] = Archivdatei entpacken (deflate), die Daten (clone) über die Standardausgabe/die Pipe [|] weiterleiten und die Archivdatei nicht löschen.
# [-r] = (restore), das Image wieder herstellen.
# [-W] = ist die Kurzform für [--restore_raw_file]. Das Archiv in ein fürs loop-Device kompatibles RAW-Image umwandeln.
# [-s -] = (source), die Quelle für die Wiederherstellung kommt aus der Pipe [|], über die umgeleitete Standardausgabe, daher das [-].
# [-o] = (output), bestimmt das Ziel des Images. Achtung: Das Image benötigt so viel Platz wie bei einer kompletten Wiederherstellung!

# 4. das erzeugte RAW-Image kann man nun so temporär mounten:
ntfs-3g -o loop $dsk_part.RAW.img /mnt/raw/ # für NTFS Images.
mount   -o loop $dsk_part.RAW.img /mnt/raw/ # für alle anderen Dateisysteme. Spezielle kann man wie folgt angeben [mount -t ntfs ...].

# 5. Aus dem Verzeichnis '/mnt/raw' kann man sich nun alle benötigten Daten herauskopieren.
Thunar /mnt/raw &
# Wichtig:
# Da das in der Netzwerkfreigabe temporär abgelegte xxxx.RAW.image Image sehr viel Speicherplatz benötigt,
# sollte man dieses wenn man mit dem kopieren fertig ist wieder löschen.

Das Script ausführbar machen und starten:
chmod +x data.sh
sudo ./data.sh

4. Sonstiges:


Hier noch einige ergänzende Tipps:
xz -tv Archiv.xz # xz-Archiv überprüfen (test/verbose).
xz -dkv Archiv.xz # (deflate) entpackt das xz-Archiv ins aktuelle Verzeichnis. Das original Archiv wird dabei nicht gelöscht (keep & verbose).

gunzip -tv Archiv.gz # gzip-Archiv überprüfen (test/verbose).
gunzip -dkv Archiv.gz # (deflate) entpackt das gzip-Archiv ins aktuelle Verzeichnis. Das original Archiv wird dabei nicht gelöscht (keep & verbose).

partclone.ntfs --help # kurze Hilfe anzeigen.
partclone.ntfs -b -s /dev/sda1 -o /dev/sdb1 # Einzelne Partitionen direkt 1:1 kopieren (ohne Image). Kopiert /dev/sda1 auf /dev/sdb1.

man partclone # (manpage) ausführliche Hilfe für partclone anzeigen.
man xz # (manpage) ausführliche Hilfe für den LZMA Packer xz anzeigen.

xscreensaver-command -exit # Optional: Den XScreensaver ausschalten (z. B. Debian Live-DVD).

partclone.restore # ist deprecated (veraltet) und sollte man nicht mehr verwenden (nur als Hinweis).
                  # Ein Restore erfolgt neuerdings immer über das entsprechende Sicherungsprogamm selbst.


Windows Registry Tweak (für Windows):
unter Windows eine .reg-Datei mit folgendem Inhalt erstellen & per Doppelklick in die Registry importieren:
Windows Registry Editor Version 5.00
; Erhält man man beim monten von Windows-Freigaben den Fehler:
; [mount error(121): Remote I/O error], bzw. [Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)].
; So muss man auf dem Windows System die folgenden Registry-Keys verändern, dann tritt der Fehler nicht mehr auf.
; Nach dem importieren, bzw. dem verändern der Schlüssel, muss man das Windows System einmalig neu starten.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"LargeSystemCache"=dword:00000001

; Standard: "LargeSystemCache"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters]
"Size"=dword:00000003

; Standard: "Size"=dword:00000001

❑  Abschließende Hinweise:


Das Skript wurde insbesondere für neuere Windows Versionen mit NTFS-Dateisystem erstellt und getestet (unter anderem mit Windows 7 und Windows 10).
FAT32 und exFAT Partitionen kann man mit partclone auch sichern, das Script ist hierfür ebenso geeignet (ein Beispiel findet man oben), es wird hier nur partclone.fat32 bzw. partclone.exfat anstatt partclone.ntfs verwendet (der Rest bleibt unverändert).
Die 'Microsoft reserved' Partition enthält kein Dateisystem, die Sicherung erfolgt hier daher mittels dd.
Setzt man noch zusätzlich andere Dateisysteme wie z. B. ext4, xfs usw. ein, so muss man das Skript hier entsprechend selbst ergänzen (Tipp).

Je nach Windows Version existieren ggf. verschiedene zusätzliche System Partitionen wie:
'System-reserviert' ist eine NTFS Partition und enthält neben dem Bootloader noch weitere Funktionen. Unter anderem ist die Partition notwendig, um von BitLocker verschlüsselten Laufwerke zu starten.
'EFI System' enthält den Bootloader und notwendige UEFI-Treiber sowie weitere Dateien die zum Booten benötigt werden. Achtung: Meist eine FAT32 Partition - die Sicherung erfolgt daher über 'partclone.fat32'.
'Microsoft reserved' bzw. die MSR-Partition wird bei UEFI-Systemen bzw. bei GPT-Partitionierung verwendet. Die Partition enthält Informationen, die sich auf andere Systempartitionen beziehen.
Achtung: Die Partition enthält kein Dateisystem - Sicherung daher über 'dd'. Wichtig: Diese Partition wird in der Datenträgerverwaltung unter Windows nicht angezeigt.
'Windows recovery environment' kurz Windows RE oder auch Wiederherstellungspartition ist eine NTFS Partition.
Will man diese mit sichern, so muss man diese im Sicherungsskript entsprechend hinzufügen.

Eine Größenänderung von Partitionen oder eine Umwandlung der Partitionierungsart (z. B. von GPT auf MBR oder von MBR auf GPT) ist nicht vorgesehen. Derartige Anpassungen muss man im Nachgang mit systemeigenen Werkzeugen oder z. B. mit GParted realisieren.
Auf ein aufteilen der Images in mehrere Teile mittels 'split' wurde verzichtet - wer mag kann dies aber selbst ergänzen.
Windows Software-Raid Installationen und verschlüsselte Systeme werden nicht unterstützt (wurde nicht getestet).
Durch die Sicherung werden keinerlei Transaktionslogfiles (Exchange/SQL-Datenbank) oder ähnliches gelöscht.
Die Wiederherstellung klappt auch auf einer neuen leeren Festplatte oder einem neuem kompatiblen System, da sowohl der Bootsektor, die Partitionstabelle sowie alle Daten wieder restauriert werden. Achtung: Bei einer Wiederherstellung werden alle zuvor vorhandene Daten überschrieben, also gelöscht.
Der LZMA Packer xz komprimiert selbst auf der kleinsten Stufe besser als gzip oder bzip2 mit der höchsten Stufe.
Man sollte die Kompressionssärke daher nur verändern, wenn man ein sehr leistungsfähiges System zum sichern hat, oder zwingend sehr kleine Images benötigt. Multicore-Systeme haben übrigens keinen großen Vorteil, da nur ein Datenstrom zum Packen generiert wird, xz nutzt also nur 1-Core. Will man die Kompression beschleunigen, so sollte man gzip auf Stufe 1 verwenden (ein Beispiel findet man oben), die Images werden dann aber mindestens 20% größer.

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 unter Xubuntu 16.10 & Debian 8.7, 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:
© 2017 ctaas.de, Arno Schröder, Kahla (Impressum)