Win2Go Komponenten

Vortex Acherontic 319 Wörter 2 Minuten win2go windows wim wimlib hivex dbus python dasbus bcd

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.

Wimlib - Webseite

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.

dasbus - Gihub

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.

hivex GitHub