Aufräumarbeiten... alter Text im nächsten Post.
SaveReg, Version 3.2
savereg3.zip als Anhang, Registry speichern/wiederherstellen:
Benutzung: savereg option Dateiname
option:
s (save / sichern),
r (restore / rücksichern), d (dialog, nur in Verbindung mit r, optional),
c (correct / korrigieren, optional),
x (reverse order / Reihenfolge umdrehen, optional)
h (hive based operation preferred / Hive basierende operation bevorzugt)
l (log / Logfile mitschreiben "\SaveReg.log")
f (flash / Logfile auf Flash Disk -sofern sie gefunden wird- schreiben, nur in Verbindung mit l)
Im Prinzip versucht das Programm anhand der Sicherung zu erkennen, welche Art von "Restore" angebracht ist. Eine Änderung der Aufrufparameter ist nicht nötig.
Hinweis zum Hive-basierten Registry: Die Werte unter HKCU sind an den jeweiligen User gebunden (falls es Geräte geben sollte, die verschiedene Profile ermöglichen).
Der Parameter h ist bei der Rücksicherung überflüssig, da anhand der Sicherungsdatei entschieden wird, welche Routine für die Rücksicherung einzusetzen ist. Beim Sichern der Registry ist es so, daß sinnigerweise undokumentiert (zumindest habe ich dazu nichts gelesen) die RegCopyFile Methode auch bei hive-basierten Geräten funktioniert und bereits System-Hive UND User-Hive in eine Datei sichert. Sollte dies mißlingen, oder der Parameter h gesetzt sein, wird direkt mit RegSaveKey gearbeitet.
Es wird jeweils die gesamte Registry (System und User Einstellungen) gesichert/wiederhergestellt.
Beispiele:
savereg s \Storage Card\Backup\reg.rbk
Standard, um eine Sicherung zu erstellen (save)
savereg rd \Storage Card\Backup\reg.rbk
Standard, um eine Sicherung wiederherzustellen (restore mit anschließender Aufforderung zum Soft-Reset)
savereg r \Storage Card\Backup\reg.rbk
(der zwingend nötige Soft-Reset muß/kann von einem Programm/Skript/User vorgenommen werden)
savereg c \Storage Card\Backup\reg.rbk
ermöglicht eine anschließende Analyse mit fdf2reg.pl, ohne der Registry zu schaden (nur für RAM-basierendes Registry)
savereg rxd \Storage Card\Backup\reg.rbk
das weiter unten beschriebene Problem der MS-eigenen Routinen wird ausgetrickst indem die Abfolge der Registry-Einträge umgekehrt wird (nur für RAM-basierendes Registry)
Nach der Wiederherstellung ist ein SOFTRESET nötig, um die Werte zu übernehmen, dieser wird im Dialog (Parameter "d") vorgeschlagen.
Kurze Erklärung zu den Parametern c und x (haben bei hive-basierten Geräten keine Auswirkung):
Wird mit c und/oder x kein r oder s Parameter kombiniert, wird versucht die angegebene Datei (Dateiname) zu bearbeiten, diese wird dann überschrieben.
Korrigieren c:
- die High-Bytes zu recordsize, recordtype, hive, valuetype und keylength werden auf 0 gesetzt (es sind nur Werte < 255 zulässig)
- Bei Keynamen werden keylength und recordsize berichtigt (anhand des Stringende '\0')
(danach sollte die Datei problemlos von fdf2reg.pl verarbeitet werden)
Reihenfolge umdrehen:
Die verwendete Methode von MS führt zu einem umgedrehten physikalischen Reihenfolge der Registry, in Ausnahmefällen kann das zu Problemen führen.
Der Parameter x dreht jetzt die Reihenfolge um. Allerdings ist das Ergebnis noch nicht dasselbe wie nach zweimaligem SAVE/RESTORE - falls es noch immer zu Problemen kommt, bitte melden.
Wird der Parameter x sowohl beim Sichern als auch beim Rücksichern verwendet, sollte er seine Funktion neutralisieren, ist also wenig sinnvoll und sollte nur entweder/oder verwendet werden. Auch der Parameter c ist nur einmal (also entweder beim Sichern ODER Rücksichern) sinnvoll.
Den Parameter x mag ich nicht "automatisieren", da er ja nur für "nachlässig gestrickte" RAM-Registries nötig ist, und doch die Registry-Datei gnadenlos durcheinandergewirbelt wird. Darum wird das nur gemacht, wenn ausdrücklich gewünscht - wobei es nicht schadet.
Hier noch etwas Hintergrundwissen zu der benutzten Methode RegCopyFile und RegRestoreFile und zum Problem Registry Key Order Reversed.
Die hive-basierende Methode benutzt RegSaveKey und RegRestoreKey.
Historie:
V3.2:
- Fehlerbereinigte Version, funktioniert auch wenn kein Hardreset vorausging
- (f) Logfile wird auf Flash Disk geschrieben
V3:
- (h) hive-basierende Methode integriert (automatisch)
- (l) mitschreiben eines Logfile (optional)
V2:
- (c) korrigieren (optional)
- (x) umkehren der Reihenfolge (optional)
V1:
- (s) speichern
- (r) wiederherstellen
- (d) dialog soft-reset (optional)