Skip to content
SecooliooPublic

About

Windows-PCs neu aufsetzen, ohne vorher stundenlang Daten zusammenzusuchen: sichern, aufräumen, zurückholen – von einem USB-Stick

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Hoferium

Windows-PCs neu aufsetzen, ohne vorher stundenlang Daten zusammenzusuchen.

Version Windows Python Lizenz


Vor jeder Neuinstallation dieselbe Sammelei: Lesezeichen, WLAN-Passwörter, der Windows-Schlüssel, die Liste der installierten Programme. Hoferium erledigt das in einem Durchgang, hilft beim Aufräumen und spielt die Daten hinterher wieder zurück.

Das Programm liegt auf einem USB-Stick und richtet sich beim ersten Start selbst ein.

Startseite mit Systemübersicht und Windows-Schlüssel

Funktionen

Bereich Was es tut
Datensicherung Browser-Profile (Chrome, Edge, Firefox, Brave, Vivaldi, Opera, Chromium, Yandex – weitere werden automatisch erkannt), Lesezeichen als importierbare HTML, WLAN-Profile samt Passwörtern, Windows-Schlüssel, Programmliste, Treiber, Kurznotizen, Thunderbird und Outlook-.pst, persönliche Ordner sowie hosts, Drucker, Netzlaufwerke und Dienste
Zurückholen Spielt eine Sicherung wieder ein: WLAN-Netze, Firefox- und Thunderbird-Profil, Kurznotizen, Outlook-Dateien, hosts, persönliche Ordner, Treiber und Programme über winget import
Software Installer von den offiziellen Quellen laden oder direkt per winget einspielen; fehlt winget, richtet Hoferium es selbst ein. Die Programmliste wird beim Start aus diesem Repository aufgefrischt
Deinstallieren Win32- und Store-Programme mit Suchfeld auflisten und entfernen, auf Wunsch samt Datei- und Registry-Resten
Debloat Vorinstallierte Windows-Apps und Herstellerzugaben entfernen – als Ein-Klick-Lauf oder gezielt ausgewählt, Edge optional
Tweaks 42 umkehrbare Einstellungen zu Privatsphäre, Anmeldung, Explorer, Taskleiste, Tempo, Updates und Gaming – jede mit Angabe, ob danach ein Neustart nötig ist
Cleaner Temp-Dateien (Benutzer und System), Update-Zwischenspeicher, Prefetch, Miniaturansichten und Papierkorb – mit Größenaufstellung vor dem Löschen
Werkzeuge Startet WinUtil, O&O ShutUp10++ und drei Sysinternals-Programme aus den Originalquellen
Vom Stick booten Startet den Rechner neu in die Startoptionen mit Geräteauswahl – oder ins UEFI-Setup

Benutzung

  1. Diesen Ordner auf einen USB-Stick kopieren.
  2. hoferium.bat doppelklicken und die Nachfrage nach Administratorrechten bestätigen. Ohne diese Rechte startet das Programm nicht.
  3. Beim ersten Start richtet sich die Umgebung selbst ein. Fehlt Python, wird es installiert; danach werden die Pakete aus requirements.txt geholt. Das dauert einige Minuten und braucht eine Internetverbindung.
Auswahl der zu sichernden Bestandteile Debloat mit Ein-Klick-Lauf und Einzelauswahl

Wo die Daten landen

Auf dem Stick, neben hoferium.bat:

Hoferium-Sicherungen/
  Sicherung_<PC>_<JJJJ-MM-TT_HH-MM-SS>/  eine je Durchgang
    01_System … 10_EMail                 die gesicherten Bestandteile
    NOTFALL-ZURUECKHOLEN.bat             WLAN und hosts ohne Python und ohne Netz
    WIEDERHERSTELLEN.txt                 Anleitung für den Fall von Hand
    ZUSAMMENFASSUNG.txt                  was geklappt hat und was nicht
    PROTOKOLL.txt                        der vollständige Lauf, Zeile für Zeile
    sicherung.json                       dieselbe Bilanz, maschinenlesbar
Installer/                               heruntergeladene Installationsdateien

Der Sammelordner und das Namensmuster sind fest – daran erkennt das Programm seine Sicherungen beim Zurückholen wieder. Ein umbenannter Ordner wird nicht mehr gefunden. Das Ziel selbst lässt sich in der Oberfläche umstellen.

ZUSAMMENFASSUNG.txt unterscheidet drei Zustände je Schritt: [OK], [FEHL] und [TEILW]. Der mittlere Fall ist der wichtigste – er heißt, dass der Schritt gelaufen ist, aber etwas nicht mitgenommen hat, etwa weil Chrome noch offen war. Darunter steht jeweils, was genau fehlt. Dieselben Angaben stehen in sicherung.json; daraus weiß Hoferium beim Zurückholen, welcher Bestandteil damals unvollständig blieb, und sagt es vorher.

Vor dem ersten Kopiervorgang prüft Hoferium, ob am Ziel genug Platz frei ist, und warnt, wenn der Datenträger mit FAT32 formatiert ist – dort passt keine Datei über 4 GB hinein, was eine Outlook-.pst regelmäßig sprengt.

Auf dem Rechner, unter %LOCALAPPDATA%\Hoferium\:

venv/          die Python-Umgebung
hoferium.log   Protokoll aller Läufe
crash.log      nur nach einem Startfehler
backups/       Registry-Sicherungen, verschobene Ordner, Stand vor einem Import
tools/         portable Fremdwerkzeuge

Zurückholen auf dem neuen System

Nach der Neuinstallation Hoferium vom selben Stick starten und auf Zurückholen gehen. Das Programm sucht die Sicherungen selbst, erkennt am Rechnernamen die zu diesem Gerät passende und wählt sie vor. Bestandteile, die in der gewählten Sicherung fehlen, werden ausgegraut.

Gefundene Sicherungen mit Auswahl der Bestandteile

Ohne Zutun laufen: WLAN-Netze (netsh), Firefox- und Thunderbird-Profil, Kurznotizen, Outlook-Dateien, hosts, persönliche Ordner, Treiber (pnputil) und das Nachinstallieren der Programme (winget import).

Die Lesezeichen der Chromium-Browser brauchen zwei Klicks von Hand – dafür gibt es keine Schnittstelle. Hoferium öffnet den Ordner mit den fertigen HTML-Dateien und nennt den Weg.

Bevor ein vorhandenes Profil überschrieben wird, sichert das Programm den aktuellen Stand nach %LOCALAPPDATA%\Hoferium\backups\vor_import_<Zeit>. Scheitert diese Sicherheitskopie, wird nichts überschrieben – der Schritt bricht lieber ab, als den vorhandenen Stand ungesichert zu ersetzen.

Läuft Firefox, Thunderbird oder Outlook noch, überspringt Hoferium den betreffenden Schritt und sagt, welches Programm zu schließen ist. Das ist kein übertriebener Schutz: Ein laufendes Programm hält sein Profil offen und schreibt beim Beenden seinen eigenen Stand darüber – die Wiederherstellung wäre danach still wieder weg, gemeldet als „erledigt".

Ohne Netz, ohne Python

In jedem Sicherungsordner liegt NOTFALL-ZURUECKHOLEN.bat. Sie fordert selbst Administratorrechte an und macht genau drei Dinge: alle WLAN-Profile einspielen, die hosts-Datei zurückkopieren und die Ordner mit den Lesezeichen-HTML-Dateien und den Outlook-Dateien öffnen.

Der Grund ist ein Henne-Ei-Problem. Der normale Weg über hoferium.bat braucht beim ersten Start eine Internetverbindung, um Python und die Oberfläche einzurichten. Fehlt nach der Neuinstallation der WLAN-Treiber, kommt man ohne die gesicherten Zugangsdaten nicht ins Netz – und die liegen in der Sicherung. Die Batch-Datei löst genau diesen Fall, mit netsh und sonst nichts.

Browser-Passwörter

Hier verläuft eine technische Grenze, die man kennen sollte:

  • Firefox legt seine Passwörter im Profil ab (logins.json, key4.db). Das Profil wird gesichert und lässt sich zurückspielen – die Passwörter sind danach wieder da.
  • Chrome, Edge, Brave, Opera, Vivaldi verschlüsseln ihre Passwörter mit dem Windows-Benutzerkonto (DPAPI). Nach einer Neuinstallation existiert dieses Konto nicht mehr; die Daten sind dann nicht wiederherstellbar – auch nicht aus einer vollständigen Kopie des Profils.

Deshalb gibt es auf der Seite Datensicherung einen Assistenten, der die Passwortverwaltung des jeweiligen Browsers öffnet, solange das alte System noch läuft. Der Export dauert zwei Klicks; die CSV-Datei gehört mit auf den Stick und sollte nach dem Import wieder gelöscht werden.

Hoferium entschlüsselt keine Passwörter und liest keine Anmeldedaten aus.

Anmeldung ohne Passwort

Auf der Seite Tweaks richtet „Ohne Kennwort anmelden" die automatische Anmeldung vollständig ein: Benutzer und Kennwort eingeben, fertig – Windows startet danach direkt auf den Desktop.

Dabei wird zuerst der Hello-Zwang abgeschaltet – solange Windows „nur Windows Hello-Anmeldung zulassen" erzwingt (Standard auf Windows 11 mit Microsoft-Konto), ignoriert es die automatische Anmeldung stillschweigend. Danach wird das Kennwort über die LSA verschlüsselt hinterlegt, so wie es auch Microsofts eigenes Werkzeug Autologon macht. Der verbreitete Weg über AutoAdminLogon legt es stattdessen im Klartext in der Registry ab, wo es jeder Leseberechtigte abholen kann – diesen Weg geht Hoferium nicht. Das Kennwort wandert über die Standardeingabe, steht also auch nie in einer Befehlszeile, und wird nirgends protokolliert.

Vor dem Speichern prüft Hoferium das Kennwort gegen Windows selbst. Stimmt es nicht, wird nichts geändert – sonst fiele der Tippfehler erst beim nächsten Start auf, mit dem Rechner am Anmeldebildschirm. Abschalten löscht das Kennwort wieder aus der LSA und stellt die Hello-Einstellung auf den Wert zurück, den sie vor dem Einrichten hatte.

Daneben stehen als Tweaks: keine Kennwortabfrage nach dem Ruhezustand, Sperrbildschirm überspringen und Anmeldung ohne Strg+Alt+Entf.

All das bedeutet, dass jeder mit Zugang zum Gerät hineinkommt – auf einem Notebook entsprechend abwägen. Rückgängig geht es über Abschalten.

Meldet Windows nach dem Neustart trotzdem eine Kennwortabfrage, zeigt „Warum geht es nicht?" den Ist-Zustand: ob der Hello-Zwang noch steht, ob AutoAdminLogon gesetzt ist, ob ein Microsoft-Konto oder eine Hello-PIN im Weg ist.

Was bei den Tweaks geprüft wurde

Jeder Eintrag wurde gegen die dokumentierte Windows-Realität abgeglichen. Was dabei auffiel, ist behoben: Schalter, die Microsoft inzwischen wirkungslos gemacht oder deren Funktion entfernt wurde, sind draußen; versionsabhängige werden auf Systemen, wo sie nichts bewirken, ausgegraut statt einen Erfolg vorzutäuschen. Beim Zurücksetzen wird der Wert nun gelöscht, statt einen Gegenwert zu schreiben – sonst bliebe die Einstellungen-App als „von Ihrer Organisation verwaltet" gesperrt. Jeder Tweak sagt außerdem, ob danach der Explorer, eine Neuanmeldung oder ein Neustart nötig ist.

Wo ein Registry-Wert allein nicht reicht, steht das dabei, statt einen Erfolg zu behaupten: „Ruhezustand abschalten" etwa entfernt C:\hiberfil.sys nicht – dafür braucht es powercfg /hibernate off, und genau das sagt der Hinweis.

Was es bewusst nicht tut

  • Kein Systemabbild. Gesichert werden Daten und Einstellungen, keine Partitionen und kein installiertes Windows.
  • Chromium-Profile lassen sich nur sichern, nicht zurückspielen – siehe oben. Beim Zurückholen kennt das Programm bei Browsern nur Firefox und die Lesezeichen-HTML.
  • Die Sicherung ist nicht verschlüsselt. WLAN-Passwörter stehen im Klartext, die Browser-Profile liegen vollständig darin. Wer den Stick hat, hat die Daten – entsprechend aufbewahren.
  • Persönliche Dateien werden standardmäßig nur inventarisiert. Das Mitkopieren muss angehakt werden, weil es sehr groß werden kann.
  • Outlook: nur .pst. Zwischenspeicher (.ost) und Kontoeinstellungen bleiben außen vor.
  • Auto-Debloat fasst selbst installierte Programme nicht an. Entfernt werden Windows-Apps und Herstellerzugaben; die Liste steht offen in nucleus/uninstaller.py. Die Edge-Entfernung ist ausdrücklich ein Versuch – Microsoft unterbindet sie teilweise.
  • Der Ein-Klick-Lauf lässt aus, was anderes mitreißt. Die Xbox-Pakete hängen an der Spieleanmeldung und am Protokollhandler für die Spielleiste, „Mail & Kalender" hält Konten und Nachrichten, die keine Sicherung erfasst. Beides bleibt in der Einzelauswahl anhakbar, läuft aber nicht mehr ungefragt mit.
  • Deep-Uninstall lässt im Zweifel Reste stehen. Getroffen wird nur, was exakt zum Programmnamen passt und höchstens zwei Ebenen unter einem bekannten Ordner liegt; Sammelordner sind gesperrt. Lieber ein Rest zu viel als ein fremdes Verzeichnis zu wenig.
  • Es läuft immer nur eine Aufgabe. Eine Warteschlange gibt es nicht.
  • Ohne Administratorrechte entfallen Treiber-Export, WLAN-Import, hosts-Wiederherstellung und Treiber-Installation. Das wird gemeldet, nicht stillschweigend übergangen.
  • Windows-only. Unter Linux oder macOS startet die Oberfläche zwar, aber alle Systemaktionen laufen ins Leere.

Sicherheitsnetz

Die eingreifenden Funktionen sind so gebaut, dass sich Fehlgriffe zurückholen lassen:

  • Vor Registry-Änderungen wird der betroffene Zweig als .reg gesichert. Schlägt die Sicherung fehl, wird nicht gelöscht.
  • Vor Debloat und Deinstallation wird ein Wiederherstellungspunkt angelegt – sofern der Systemschutz aktiv ist. Ist er es nicht, sagt das Programm das, statt einen Punkt vorzutäuschen.
  • Beim Entfernen von Resten werden Ordner verschoben, nicht gelöscht.
  • Tweaks lassen sich einzeln zurücksetzen.
  • Vor jedem Import wird der bisherige Stand weggesichert.

Zwei Dinge sind endgültig: Der Cleaner löscht wirklich, und das Leeren des Papierkorbs ist nicht umkehrbar. Beides fragt vorher nach, und der Papierkorb ist bewusst nicht vorausgewählt.

Ein Klick auf Abbrechen beendet den Lauf nach dem laufenden Schritt – ein Kopier- oder Installationsvorgang wird nicht mittendrin unterbrochen. Ein zweiter Klick innerhalb von zwei Sekunden erzwingt den Stopp und beendet auch laufende Fremdprogramme.

Tweaks nach Kategorien geordnet Cleaner mit Größenaufstellung

Wenn winget fehlt

winget (der App-Installer) ist auf Windows 11 vorhanden, auf älteren Windows-10-Ständen oft nicht. Hoferium richtet es dann selbst ein – die Seite Software holen zeigt den Zustand an und bietet einen Knopf dafür; beim Klick auf Direkt installieren wird vorher nachgefragt.

Die Einrichtung läuft in Stufen, von der zuverlässigsten zur letzten Möglichkeit, und prüft nach jeder, ob winget nun antwortet:

  1. Das offizielle PowerShell-Modul Microsoft.WinGet.Client mit Repair-WinGetPackageManager – der von Microsoft vorgesehene Weg, der fehlende Bestandteile selbst nachzieht.
  2. Direktinstallation der Pakete von Microsoft (aka.ms/getwinget samt Laufzeitbibliotheken). Die Oberflächen-Bibliothek wird über die Release-Liste ihres Projekts gesucht, damit keine Versionsnummer fest verdrahtet ist.
  3. Klappt beides nicht, öffnet sich der Microsoft Store zum Nachholen von Hand – dann bleibt weiterhin Installer speichern als Weg.

Dasselbe greift beim Zurückholen, wenn Programme über winget import nachinstalliert werden sollen.

Neustart zum Installieren

Unten in der Seitenleiste liegt „Vom Stick booten", von jeder Seite aus erreichbar. Der Rechner startet damit neu und landet wahlweise in den Windows-Startoptionen unter Ein Gerät verwenden – dort steht der Windows-Stick in der Liste – oder direkt im UEFI-Setup. Läuft der Rechner nicht im UEFI-Modus, wird der zweite Weg gar nicht erst angeboten.

Vorher wird nachgefragt, und es wird gewarnt, falls in dieser Sitzung noch keine Sicherung lief. Nach dem Auslösen bleiben 15 Sekunden, den Neustart per Knopfdruck abzublasen.

Aktualisierung

Beim Start prüft Hoferium im Hintergrund, ob hier eine neuere Fassung liegt. Antwortet das Netz nicht, wird die Prüfung nach einer Minute stillschweigend übersprungen – der Start hängt nie daran.

Ein Update spielt den Repository-Stand vollständig ein, statt einzelne Dateien zu tauschen. Dadurch überstehen auch Strukturänderungen ein Update: Wird ein Ordner umbenannt oder eine Datei entfernt, verschwindet der alte Stand mit, ohne Reste zu hinterlassen. Anschließend startet sich das Programm selbst neu.

  • Unangetastet bleiben Hoferium-Sicherungen/, lose Sicherung_*-Ordner, Installer/ und *.log. Eine mitgelieferte update.json kann die Liste erweitern.
  • Der ersetzte Stand wandert nach _vorherige_version/. Dort liegt immer nur die zuletzt ersetzte Fassung – beim nächsten Update wird sie überschrieben.
  • Das neue Archiv wird nach _neue_version/ auf denselben Datenträger entpackt und von dort umbenannt statt kopiert. Ein Umbenennen dauert Millisekunden; in genau dieser Spanne läge sonst ein Stick ohne Starter vor, wenn der Strom ausfällt. Der Ordner verschwindet nach dem Update wieder.
  • Vor dem Einspielen wird geprüft, ob das Archiv überhaupt ein startfähiges Programm enthält, ob es die Größe eines Programmarchivs hat und ob es überhaupt ein Archiv ist – ein Hotspot-Anmeldeportal liefert sonst seine eigene HTML-Seite, und die käme ungeprüft in den Programmordner.
  • Ist die Verbindung nicht vertrauenswürdig, bricht das Update ab. Nur die reine Versionsabfrage darf notfalls über eine ungeprüfte Verbindung laufen – sie liest eine Zahl, während das Archiv anschließend mit Administratorrechten ausgeführt wird.
  • Schlägt das Einspielen mittendrin fehl, wird der vorherige Stand zurückgeholt. Bleibt dabei etwas liegen, nennt Hoferium die betroffenen Namen, statt einen halben Rollback als erledigt zu melden.
  • Der Starter merkt sich, für welche Version die Umgebung eingerichtet wurde, und zieht nach einem Update die Pakete aus requirements.txt nach. Erst wenn das geklappt hat, gilt die Umgebung als fertig.

Aufbau

Sichtbar sind auf dem Stick nur zwei Dinge:

hoferium.bat        ← starten
LIESMICH.txt        ← Kurzanleitung

Alles Übrige wird bei jedem Start ausgeblendet (attrib +h):

nucleus/            Programmcode
  __main__.py       Einstiegspunkt, fängt Startfehler ab
  __init__.py       Versionsnummer
  ui.py             Oberfläche, Animationen, Seiten
  backup.py         Datensicherung
  restore.py        Zurückholen
  autologon.py      automatische Anmeldung (LSA, ohne Klartext-Kennwort)
  sysinfo.py        Systemübersicht der Startseite
  downloader.py     Software-Beschaffung
  uninstaller.py    Deinstallation und Debloat
  tweaks.py         Einstellungen, Cleaner, Fremdwerkzeuge
  registry.py       installierte Programme auslesen
  winutils.py       Windows-Hilfsfunktionen
  updater.py        Versionsprüfung und Update
  config.py         Pfade, Farben, Banner
  context.py        Verbindung zwischen Hintergrundarbeit und Oberfläche
  assets/           Programmsymbol
apps.json           Softwareliste – wird hier im Repository gepflegt
requirements.txt    benötigte Python-Pakete
VERSION             Versionsstand für die Update-Prüfung
docs/               Bildmaterial für diese Seite
tools/check_docs.py prüft, ob diese Seite noch zum Code passt

Mitarbeiten

Wer etwas ändert, sollte vorher

python3 tools/check_docs.py

laufen lassen. Das Skript vergleicht Doku und Code – Versionsnummern an allen drei Stellen, die genannten Anzahlen (Tweaks, Werkzeuge), die Modulliste, eingebundene Bilder, die Update-Schutzliste und die Zeilenenden der Windows-Dateien. Es meldet jede Abweichung und endet mit Rückgabewert 1, solange etwas nicht stimmt.

Das Ausblenden betrifft nur die Anzeige im Explorer. Die Dateien funktionieren unverändert, und git arbeitet normal weiter. Wieder einblenden:

attrib -h nucleus apps.json VERSION README.md LICENSE docs .git

Voraussetzungen

  • Windows 10 oder 11.
  • Administratorrechte – der Starter fordert sie per UAC an. Wird der Dialog abgelehnt, startet das Programm nicht.
  • Internet für die Ersteinrichtung, die Update-Prüfung und das Beschaffen von Software. Die Datensicherung selbst funktioniert offline.
  • Fehlt Python, installiert der Starter es systemweit (per winget oder über den offiziellen Installer). Die Oberfläche nutzt customtkinter in einer eigenen Umgebung unter %LOCALAPPDATA%\Hoferium\venv. Beides bleibt nach dem Beenden auf dem Rechner zurück und lässt sich dort von Hand entfernen.

Lizenz

MIT

About

Windows-PCs neu aufsetzen, ohne vorher stundenlang Daten zusammenzusuchen: sichern, aufräumen, zurückholen – von einem USB-Stick

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages