Die Firma Microsoft hat die Veröffentlichung eines Tools angekündigt, das die Funktionalität des Windows Subsystem for Linux (WSL) unterstützt, mit dem sich Linux-Anwendungen unter Windows ausführen lassen. Jetzt kann jeder Interessierte WSL aus dem Quellcode kompilieren und aktiv an der Entwicklung mitarbeiten. Darüber hinaus hat Microsoft begonnen, Fehlerbehebungen und neue Funktionen aus der Community für WSL zu akzeptieren. Der Code wurde unter der MIT-Lizenz veröffentlicht. Für Entwickler, die an dem Projekt mitwirken möchten, wurde die Website wsl.dev ins Leben gerufen.
WSL bietet eine virtuelle Maschine mit einem vollwertigen Linux-Kernel (basierend auf der Version 6.6), in der Linux-Distributionen betrieben werden können. Der Kernel enthält WSL-spezifische Änderungen, wie Optimierungen zur Verringerung der Startzeit und des Speicherverbrauchs, die Möglichkeit, von Linux-Prozessen freigegebene Windows-Speicherkapazitäten zurückzugeben, sowie Einstellungen zur Deaktivierung unnötiger Treiber und Subsysteme. Das System wird in einem separaten virtuellen Festplattenspeicher (VHD) mit dem Dateisystem ext4 und einem virtuellen Netzwerkadapter installiert.
Die WSL-Komponenten, die mit dem Linux-Kernel und dem grafischen Stack wslg verbunden sind, wurden ursprünglich offen entwickelt, um GUI-Anwendungen basierend auf Wayland und X11 auszuführen. Alle dazugehörigen Tools blieben jedoch proprietär. Nun wurden folgende Komponenten als offen übertragen:
- Die Befehlszeilen-Tools wsl.exe, wslconfig.exe und wslg.exe, die für die Interaktion mit WSL verwendet werden.
- Der Dienst wslservice.exe, der zum Starten der virtuellen Maschine, der Aktivierung der Linux-Umgebung und zum Einbinden von Dateisystemen verwendet wird.
- Hintergrundprozesse, die im Linux-Umfeld zum Zugriff auf die WSL-Funktionalität gestartet werden. Zum Beispiel der Prozess init für die anfängliche Initialisierung, gns für die Netzwerkkonfiguration und localhost für die Portweiterleitung.
- Der Prozess plan9 mit der Implementierung Server Plan9, das in WSL verwendet wird, um den Zugriff auf Linux-Dateien aus Windows zu ermöglichen.

Bleiben Teil von Windows und sind derzeit nicht offen:
- Der Kernel-Treiber Lxcore.sys, der zum Ausführen von ELF-Dateien über die Kompatibilitätsschicht verwendet wird.
- Der Treiber P9rdr.sys und die Bibliothek p9np.dll, die den Zugriff auf das Dateisystem "\\wsl.localhost" bei Anfragen von Windows zu Linux umleiten.
Gleichzeitig hat Microsoft den Quellcode des Konsolen-Texteditors Edit unter der MIT-Lizenz veröffentlicht. Dieser Editor wurde in der Programmiersprache Rust entwickelt und ist für eine standardmäßige Bereitstellung in 64-Bit-Versionen von Windows vorgesehen. In den kommenden Monaten wird der Editor im Rahmen der Windows Insider Program-Bauten zur Verfügung stehen, bevor er in die reguläre Lieferung von Windows 11 aufgenommen wird.
Im Editor wurde versucht, eine moderne Benutzeroberfläche im Stil von VS Code umzusetzen. Ziel ist es, eine Schnittstelle zu bieten, die verständlich und einfach zu verwenden ist, auch für Benutzer ohne Erfahrung im Terminal. Der Editor ist kompakt und benötigt lediglich 250 kB Speicherplatz. Zu den Funktionen gehören ein Menüsystem, Steuerung durch Tastenkombinationen oder Maus, Unterstützung von Tabs und die gleichzeitige Bearbeitung mehrerer Dateien, sowie Such- und Ersetzungsfunktionen und ein automatischer Zeilenumbruch.

Zusätzlich kann erwähnt werden, dass im Mai-Update von Windows ein Fehler behoben wurde, der das Booten einiger Linux-Systeme in Dual-Boot-Konfigurationen, bei denen Windows und Linux auf einem Computer verwendet werden, verhinderte. Das Problem trat im August letzten Jahres auf und wurde erst jetzt behoben (zuvor erforderte die Behebung das manuelle Entfernen von SBAT-Daten, die in UEFI installiert waren). Das Kernproblem war, dass Microsoft die Möglichkeit einschränken wollte, den Secure Boot-Modus mit anfälligen GRUB-Versionen auf Computern zu umgehen, die nur Windows verwenden, dabei jedoch die Besonderheiten nicht berücksichtigte. Infolgedessen führte die Änderung zu einem Boot-Problem für Benutzer von Dual-Boot-Systemen, die Linux-Distributionen mit nicht aktualisierten SBAT-Einstellungen und GRUB-Bootloader verwendeten.
Quelle: opennet.ru
