Win2Go Komponenten
Win2Go setzt auf den folgenden Tools und Bibliotheken:
Wimlib
Bei einer Windowsinstallation ist ISO nicht das einzige Abbildformat mit dem umgegangen werden muss. Daher liefert Win2Go zusätzlich wimlib mit aus diverse Windows Editionen zu analysieren und auf den USB Datenträger zu extrahieren. Alle Editionen von Windows die auf im ISO Abbild enthalten sind, liegen in einem install.wim Archiv vor.
Um alle verfügbaren Editionen anzeigen und extrahieren zu können liefert Win2Go wimlib mit aus.
dasbus
Ist eine Python DBus Abstraktion, die von Win2Go verwendet wir, um mit UDisks2 in Kontakt zu treten. Da Win2Go auch das Windows ISO Image einhängt, muss die ISO Datei an UDisks2 weitergegeben werden. Die dafür verwendete DBus Schnittstelle benötigt einen sogenannten Unix File Descriptor der die ISO Datei im Dateisystem referenziert.
Auch wenn es viele DBus Abstraktionen für Python gibt, ist dasbus eine der wenigen (oder gar die einzige) die auch File Descriptors unterstützt. Viele andere Python DBus Schnittstellen unterstützen das nicht, nicht einmal pydbus, welches sogar direkt von DBus selbst erwähnt wird.
Daher setzen wir auf dasbus.
Hivex
Wer mit Windows zu tun hat, muss ab und an auch mal mit Windows Registrydateien hantieren. Hierfür verwendet Win2Go hivex.
Derzeit verwenden wir es nur um die BCD Datei vorzubereiten, die ein fester Bestandteil des Windows Bootprozesses darstellt. Die BCD Datei teilt dem Windwos Bootloader mit, wo Windows tatsächlich installiert ist um dann schließlich das Betriebssystem zu starten.
In kommenden Veröffentlichungen planen wir hivex auch dazu zu verwenden diverse Windows 11 Hardwaretest zu deaktivieren, um eine noch portable Windows Installation zu ermöglichen.
Win2Go benutzt eine vorgefertigte boot.reg Datei die einige nicht Windows Registry konforme Platzhalter enthält um den Bootloader auf zusetzten. Anschließend sammeln wir alle benötigten Systeminformationen, ersetzen diese in der boot.reg Datei und fusionieren diese dann mit der BCD Datei. Diese wird dann auf die Windows Startpartition kopiert.