Microsoft bietet für aktuelle Windows-10-Versionen die Einrichtung eines Linux-Subsystems an: Dadurch landet wahlweise ein OpenSuse- oder Ubuntu-System auf Ihrer Windows-Installation. Wir verraten, was Sie damit anfangen können.
Wer Linux-Tools unter Windows verwenden wollte, hatte bisher zwei Möglichkeiten: ein vollständiges Linux in einer virtuellen Maschine (z. B. mit VirtualBox oder VMware) installieren oder Cygwin nachinstallieren, das auf Windows portierte Fassungen vieler beliebter Linux-Anwendungen enthält. Beide Varianten haben wir schon öfter in Workshops beschrieben [1,2].
Seit dem Windows Creators Update für Windows 10 bietet Microsoft auch direkten Support für Linux-Anwendungen – um ihn zu nutzen, müssen Sie nur das neue Linux-Subsystem aktivieren und über den Microsoft Store wahlweise Ubuntu oder OpenSuse installieren. Für 32-Bit-Installationen von Windows ist das Subsystem übrigens nicht verfügbar; es muss ein 64-Bit-Windows sein, und die später installierten Linux-Versionen sind auch 64-bittig. Laut einem Blog-Post vom Mai 2017 arbeitet das Team auch an Support für die Fedora-Distribution; bisher ist im Microsoft Store aber keine Fedora-App verfügbar.
Windows Creators Update
Um das neue Subsystem nutzen zu können, brauchen Sie das Windows 10 Creators Update – auf älteren Windows-10-Versionen lässt sich zwar aus dem Microsoft Store ein Linux-System herunterladen, es funktioniert dann aber nicht. Prüfen Sie zunächst, ob Sie bereits mit der aktuellen Version arbeiten: Dazu drücken Sie [Windows], geben winver ein und bestätigen mit der Eingabetaste. Es erscheint der kleine Dialog aus Abbildung 1, der die Versionsnummer verrät. Ist Ihre Windows-Version ausreichend aktuell (ab Version 1709), können Sie direkt zum Abschnitt Linux-Subsystem aktivieren springen.

Abbildung 1: Das Tool “winver” zeigt die Versionsnummer an, hier 1709 (Creators Update, Build 16299.98).
Arbeiten Sie noch mit einer älteren Version, öffnen Sie die Systemeinstellungen und wechseln dort zum Bereich Windows Update. Dort sollte der Hinweis “Gute Neuigkeiten! Das Windows 10 Creators Update ist unterwegs …” erscheinen. Klicken Sie auf Ja, was muss ich tun, dann öffnet sich die Windows-10-Download-Seite von Microsoft [3]. Klicken Sie dort auf Jetzt aktualisieren und laden Sie den Updater (Windows10Upgrade9252.exe) herunter, den Sie schließlich ausführen. Zum Testzeitpunkt bot der Updater eine Aktualisierung auf Build 16299 an, wofür Sie einige Minuten Installationszeit einkalkulieren müssen. (Bei unserem Test in einer Windows-VM mit Version 1607, Build 14393.1884 dauerte das Update ca. eine halbe Stunde.)
Alternativ (oder wenn Ihnen das Creators Update nicht angeboten wird) richten Sie die Teilnahme am Windows-Insider-Programm ein (siehe Kasten Windows-Insider-Programm).
Prüfen Sie abschließend mit winver (siehe oben), dass Sie jetzt mindestens mit Version 1709 arbeiten. Falls Ihnen das Update nicht gelungen ist, können Sie nicht fortfahren.
Windows-Insider-Programm
Die aktuelle Windows-Version erhalten Sie eventuell nur, wenn Sie sich für die Teilnahme am Windows-Insider-Programm registrieren. Dazu öffnen Sie die Windows-Einstellungen, darin den Eintrag Update und Sicherheit und klicken dann links unten auf Windows-Insider-Programm.
Wenn Sie eine Schaltfläche Erste Schritte sehen, klicken Sie diese an. Ein Dialog fragt dann nach, ob Sie Insider sind. Klicken Sie dort auf Anmelden. Geben Sie Ihre Zugangsdaten (eines Microsoft-Kontos, das kann z. B. ein Hotmail-Account sein) ein. Windows schlägt vor, diese Zugangsdaten in Zukunft auch für die Windows-Anmeldung zu verwenden – wenn Sie das nicht wollen, klicken Sie auf Nur bei dieser App anmelden.
Nach einigen Sekunden sollte unter der Überschrift Windows-Insider-Konto der Name Ihres Microsoft-Kontos erscheinen (Abbildung 2).
Wechseln Sie zu einem anderen Reiter und dann zurück zu Windows-Insider-Programm; klicken Sie erneut auf Erste Schritte. Jetzt erscheint ein Hinweis (Treten Sie dem Windows-Insider-Programm bei), auf den Sie mit einem Klick auf Registrieren reagieren. Es öffnet sich dann die Insider-Programm-Webseite [4], auf der Sie auf Persönliches Konto registrieren klicken und sich erneut mit Ihrem Microsoft-Konto anmelden. Akzeptieren Sie dann die Programmbedingungen.
Wechseln Sie jetzt zum Reiter Windows Update – das System sucht dann nach Aktualisierungen. Bei unserem (nur in einer virtuellen Maschine betriebenen) Testsystem dauerte diese Suche sehr lang. Danach sollte Ihnen ein Update angeboten werden.
Linux-Subsystem aktivieren
Um das für Windows 10 verfügbare Linux-Subsystem zu aktivieren, gehen Sie folgendermaßen vor (getestet unter Windows-Version 1709, Build 16299.98):
- Öffnen Sie das Startmenü, geben Sie den Suchbegriff Windows-Features ein, und klicken Sie den Treffer Windows-Features aktivieren oder deaktivieren an. Es öffnet sich dann ein neues Fenster, das eine Liste verfügbarer Features anzeigt – weit unten in der Liste aktivieren Sie den Eintrag Windows-Subsystem für Linux (Abbildung 3). Nach dem Bestätigen der Änderung ist ein Rechnerneustart nötig – klicken Sie darum im Dialog auf Jetzt neu starten.
- Öffnen Sie den Microsoft Store und suchen Sie nach Ubuntu oder OpenSuse – Sie können alternativ auch über die Store-Links [5,6] aus einem Browser heraus direkt die richtige App im Store öffnen, das Store-Programm wird dann vom Browser gestartet.
- Klicken Sie auf der Seite mit der App-Beschreibung auf Teilnehmen.
Das Store-Programm startet den Download und richtet das gewählte Linux-System ein. Sie können übrigens auch Ubuntu und OpenSuse parallel installieren.
Nach Abschluss des Downloads klicken Sie (noch im Microsoft Store) auf Starten. Es öffnet sich dann ein Terminalfenster, das nur den Text Installing, this may take a few minutes anzeigt und keine Bedienung erlaubt. Nach Ablauf dieser Wartezeit werden Sie aufgefordert, ein Linux-Benutzerkonto einzurichten: Geben Sie dazu den Benutzernamen und zweimal (blind) ein Passwort ein (Abbildung 4). Bei einer OpenSuse-Einrichtung erscheint danach noch die Frage, ob Sie dasselbe Passwort auch für den Administrator root verwenden wollen. (Unter Ubuntu wird wie üblich kein Root-Passwort gesetzt; dort verwenden Sie sudo, um Befehle mit Root-Rechten auszuführen.) Beachten Sie, dass diese Benutzerkonten und Passwörter nichts mit den unter Windows verwendeten Accounts zu tun haben; insbesondere ändern Sie mit der Eingabe in diesem Fenster nicht das Anmeldepasswort Ihrer Windows-Installation.
Nach der Account-Erstellung erscheint ein Shell-Prompt, und Sie können die neue Linux-Installation nutzen (Abbildung 5). Im oberen Fenster läuft die Ubuntu-Bash, und die Farben (schwarz auf hellgelb) haben wir über einen Rechtsklick in die Titelleiste, Auswahl des Menüpunkts Eigenschaften und Anpassungen im Reiter Farben gewählt – standardmäßig sieht das Terminalfenster wie ein Windows-Shell-Fenster aus: Die Abbildung zeigt unten das OpenSuse-Bash-Fenster im Standard-Look.

Abbildung 4: Nach der Installation von OpenSuse oder Ubuntu aus dem Microsoft Store richten Sie ein Benutzerkonto ein. Bei OpenSuse setzen Sie auch ein Root-Passwort.

Abbildung 5: Auf diesem Windows-Rechner wurden Ubuntu und OpenSuse installiert; standardmäßig präsentiert sich die Shell in Weiß auf Schwarz.
Wie die Aufrufe von uname verraten, läuft in beiden Linux-Systemen ein 64-Bit-Kernel mit Versionsnummer 4.4.0-43-Microsoft. Das Ubuntu-System ist auf dem Stand der Distributionsversion 16.04.3 LTS, von OpenSuse landet die aktuellere Version Leap 42.3 auf dem Windows-PC.
Auch bei Integration in Windows will eine Linux-Distribution regelmäßig auf den aktuellen Stand gebracht werden – haben Sie sich für OpenSuse entschieden, erledigen Sie das mit sudo zypper up; für Ubuntu geben Sie sudo apt update und sudo apt upgrade ein und akzeptieren jeweils die vorgeschlagenen Aktualisierungen.
Technischer Hintergrund
Die Linux-Systeme laufen unter Windows nicht in virtuellen Maschinen – das können Sie leicht überprüfen, indem Sie ein paar Linux-Prozesse starten und dann einen Blick in den Windows-Task-Manager werfen: Jeder der Linux-Prozesse taucht dort separat auf (Abbildung 6), und Sie können aus dem Windows-Task-Manager heraus z. B. einzelne Linux-Prozesse abschießen.

Abbildung 6: Der Windows-Task-Manager zeigt jeden Linux-Prozess separat an – die aus Linux-Sicht vergebenen Prozess-IDs sind aber unabhängig von den Windows-Prozess-IDs.
Die Abbildung zeigt ergänzend auch die in einem zweiten Linux-Terminalfenster mit ps angeforderte Prozessliste aus Linux-Sicht: Die Linux-Prozess-IDs stehen in keinem Zusammenhang zu den Windows-Prozess-IDs.
Über das Windows-Subsystem für Linux (WSL) führt Windows direkt Linux-Anwendungen (im 64-Bit-ELF-Format) aus, das sind die unveränderten Programmdateien, die auch bei einer regulären Linux-Installation auf der Platte landen. So zeigt auch ein Blick in die Repository-Konfiguration von Ubuntu bzw. OpenSuse, dass die Paketverwalter (APT oder Zypper) auf die normalen Paketquellen zugreifen: Es sind keine Spezial-Repositorys für die Installation unter Windows nötig.
Für Kenner der Materie: Die Herausforderung beim Ausführen von Programmen für fremde Betriebssysteme ist immer die Behandlung der so genannten System Calls: Die erlauben es Anwendungsprogrammen (Prozessen), Systemdienste, wie z. B. das Öffnen von Dateien und den Zugriff auf Hardware, vom Betriebssystem bearbeiten zu lassen. Bei WSL haben die Microsoft-Entwickler das so gelöst, dass Linux-Programme einen normalen System Call durchführen. Der Windows-System-Call-Handler stellt dann fest, dass der aufrufende Prozess kein Windows-Programm ist, und reicht den Aufruf an ein spezielles Modul weiter, das für die Bearbeitung von Linux-System-Calls zuständig ist. In einem schon Mitte 2016 veröffentlichten, englischsprachigen Video [7] sagte einer der WSL-Entwickler, dass zu diesem Zeitpunkt ca. 150–200 der über 300 unter Linux verfügbaren System Calls unterstützt wurden.
Dateisystem
Jede Linux-Installation über WSL legt eine eigene Verzeichnisstruktur an, die sich dem Linux-System als Root-Datenträger präsentiert. Daneben sind aber auch alle Windows-“Laufwerke” (also C:, D: usw.) unter Linux verfügbar: Sie sind über die Mountpoints /mnt/C, /mnt/D etc. erreichbar.
Für den bei der Einrichtung konfigurierten Standardbenutzer legt das Linux-System (wie gewohnt) ein Home-Verzeichnis /home/benutzer an, das mit dem Windows-Home-Verzeichnis nichts zu tun hat – um aus Linux-Programmen heraus komfortabel auf die Windows-Ordner zugreifen zu können, ist es hilfreich, mit
cd; ln -s /mnt/c/Users/username winhome
einen symbolischen Link winhome anzulegen, der aus dem Linux-Home-Verzeichnis heraus auf das Windows-Home zeigt.
Das Windows-Home-Verzeichnis direkt auch für den Linux-Benutzer als Home-Verzeichnis zu verwenden, wäre keine gute Idee, denn für Dateien in Windows-Ordnern lassen sich keine (Linux-) Zugriffsrechte einstellen.
Grafische Anwendungen
Der Einsatz grafischer Anwendungen ist nicht vorgesehen, weil die Linux-Unterstützung vor allem für Software-Entwickler und Administratoren gedacht ist, die auch mit reinen Textmodusanwendungen gut zurecht kommen. Die X-Server-Pakete, die unter einem direkt auf dem PC installierten Linux als Grundlage für alle grafischen Oberflächen dienen, sind unter Windows nicht verwendbar, es gibt aber schon seit vielen Jahren alternative X-Server für Windows, darunter freie (und kostenlose) Programme wie Xming [8] und Cygwin/X [9], aber auch kommerzielle Pakete wie Exceed von OpenText (ehemals Hummingbird) [10].
Um grafische Linux-Anwendungen zu nutzen, installieren Sie zunächst einen X-Server für Windows. Falls Sie sich für Xming entscheiden, achten Sie auf die richtige Downloadquelle – auf der offiziellen Herstellerseite [11] ist u. a. die aktuelle Version 7.7.0.24 erhältlich, die aber unter einer nicht-freien Lizenz angeboten wird. Zudem wird der Zugang dazu erst nach einer Spende (in beliebiger Höhe) via PayPal freigeschaltet. Im Bereich Public Domain Releases finden sich aber auch Links zur Sourceforge-Download-Seite, auf der Sie die frei verwendbare Version 6.9.0.31 finden. Der nur 2 MByte große Installer ist schnell heruntergeladen und genauso schnell mit seiner Einrichtungsarbeit fertig. Ein Klick auf das auf dem Desktop platzierte Xming-Icon startet den X-Server, von dessen Arbeit Sie zunächst aber nichts bemerken.
Für erste Tests können Sie das Terminalprogramm xterm unter Ubuntu oder OpenSuse nachinstallieren – das gelingt mit sudo apt install xterm bzw. sudo zypper in xterm.
Die Einrichtung des Pakets samt Abhängigkeiten läuft, wie von OpenSuse oder Ubuntu gewohnt; ein Start des frisch installierten Programms xterm schlägt aber mit der Fehlermeldung Can’t open display: DISPLAY is not set fehl. Um das Problem dauerhaft zu beheben, führen Sie folgenden Befehl aus:
echo "export DISPLAY=:0" >> ~/.bashrc
(Das doppelte Größerzeichen “>>” ist korrekt – ersetzen Sie es nicht aus Versehen durch ein einzelnes “>”.) Schließen Sie dann das Bash-Fenster und öffnen Sie es (über den Eintrag openSUSE Leap 42 oder Ubuntu im Windows-Startmenü) neu. Wenn Sie jetzt xterm eingeben, sollte sich ein Terminalfenster öffnen.
Eine brauchbare Anwendung, die eine überschaubare Menge an benötigten Paketen nachzieht, ist der Editor Gedit, den Sie über sudo apt install gedit (Ubuntu) bzw. sudo zypper in gedit einrichten. Abbildung 7 zeigt das Gedit-Fenster und zusätzlich dreimal den beliebten Dateimanager Midnight Commander (mc) im Standard-Terminalprogramm von Windows sowie in von Xming dargestellten xterm– und gnome-terminal-Fenstern.

Abbildung 7: Der Gnome-Editor Gedit und Midnight Commander in drei Terminals: von oben nach unten das Windows-Terminalprogramm, xterm und Gnome-Terminal.
Im Test lief Xming allerdings nicht immer fehlerfrei, so war es z. B. nicht möglich, die Größe des titelzeilenlosen Gedit-Fensters anzupassen, und einmal stürzte Xming sogar ab; wer mit grafischen Programmen arbeiten will, sollte darum auch Alternativen ausprobieren.
SSH-Server
Sich per SSH (Secure Shell) auf einem Windows-Rechner einzuloggen, kann für Linux-Anwender eine interessante Idee sein, denn über ssh und das zugehörige Kopierprogramm scp (Secure Copy) lassen sich schnell Befehle auf einer entfernten Maschine absetzen, Dateien suchen und hin und her kopieren [12]. Eine Voraussetzung dafür ist, dass die Windows-Firewall Verbindungsversuche am SSH-Port (TCP-Port 22) zulässt. Das stellen Sie folgendermaßen ein:
- Im Startmenü suchen Sie nach Firewall und klicken auf den Treffer Firewall-Status überprüfen (Systemsteuerung). Damit öffnen Sie die Einstellungen der Windows Defender Firewall.
- Links klicken Sie auf Erweiterte Einstellungen, dann erscheint das Fenster Windows Defender Firewall mit erweiterter Ansicht.
- Hier klicken Sie auf Eingehende Regeln und dann in der rechten Spalte auf Neue Regel.
- Wählen Sie als Regeltyp den Port und klicken Sie auf Weiter. Im Feld Bestimmte lokale Ports tragen Sie 22 ein und klicken auf Weiter.
- In den folgenden zwei Dialogen übernehmen Sie per Klick auf Weiter die Vorgaben Verbindung zulassen sowie die Regelanwendung in allen vorgeschlagenen Fällen. Als letzten Schritt vergeben Sie noch einen Namen (z. B. SSH-Server) und schließen die Einrichtung via Fertig stellen ab.
In der Liste der Regeln sollte jetzt ein neuer Eintrag mit dem von Ihnen gewählten Namen auftauchen (Abbildung 8); Sie können das Fenster jetzt mit [Alt]+[F4] schließen. Was noch fehlt, sind die Installation und die Konfiguration des SSH-Servers.
Unter OpenSuse gelang es im Test nicht, den SSH-Server zu starten; mit einer Ubuntu-Installation geht es folgendermaßen: Mit sudo su werden Sie in der Shell zum (Linux-) Administrator root. Dann geben Sie die folgenden Befehle ein:
cd /etc/ssh ssh-keygen -t dsa
(Das Tool fragt nach dem Namen für eine zu erzeugende Schlüsseldatei – geben Sie dann /etc/ssh/ssh_host_dsa_key ein.)
Bearbeiten Sie in einem Editor die Datei /etc/ssh/sshd_config und ändern Sie die Zeile PasswortAuthentication no in PasswortAuthentication yes, um Logins mit Benutzername und Passwort zuzulassen. Mit
service ssh start
starten Sie schließlich den SSH-Server und können sich nun von anderen Maschinen im lokalen Netz aus auf der Windows-Maschine anmelden. Wie üblich ist beim ersten Verbindungsaufbau der öffentliche Schlüssel des Servers zu akzeptieren (Abbildung 9); bei unseren Tests gab es beim ersten Login zudem eine Warnmeldung über fehlende Unterstützung für die deutsche Lokalisierung.
Durch Eingabe von cmd.exe können Sie sogar die Standard-Windows-Shell aufrufen und über die SSH-Verbindung bedienen.

Abbildung 9: Läuft der Linux-eigene SSH-Server unter Windows, steht einem Login übers Netz nichts mehr im Weg.
Leider hängt der SSH-Server-Prozess (wie auch alle weiteren Linux-Anwendungen) am ersten geöffneten Terminalfenster: Wenn man es schließt, werden auch alle übrigen Linux-Prozesse beendet – darunter auch der SSH-Server und alle aktiven Verbindungen. Nach jedem Neustart des Linux-Subsystems ist erneut sudo service ssh start einzugeben, um den SSH-Server zu reaktivieren. Im Test wechselte Windows zudem bei einer bestehenden SSH-Verbindung in den Standby-Modus, weil es keine Aktivität über Tastatur oder Maus bemerkte; das mögen SSH-Clients nicht und schließen dann die Verbindung.
Fazit
Wer in erster Linie Windows verwendet, aber gelegentlich Tools aus der Linux-Welt benötigt, für den bietet das neue Linux-Subsystem den Vorteil, dass es sehr komfortabel und schnell über den Microsoft Store installierbar ist (eine aktuelle Windows-Version vorausgesetzt) – ohne vorherige Installation und Konfiguration von Virtualisierungssoftware. Einmal eingerichtet, landen zusätzliche Softwarepakete aus den Standard-Repositorys via APT oder Zypper genauso fix auf der Platte wie bei einer regulären Ubuntu- oder OpenSuse-Installation. Das ist insgesamt praktischer als die (bewährte) Nutzung der Cygwin-Tools. Cygwin bietet auf der anderen Seite mit Cygwin/X einen X-Server, der besser mit den übrigen Cygwin-Programmen kombinierbar ist. Microsofts Linux-Integration ist vor allem dann nützlich, wenn Sie überwiegend mit Textmodusanwendungen arbeiten möchten.
An das Wort “Microsoft” als Teil der von uname angezeigten Linux-Kernel-Versionsnummer müssen sich eingefleischte Linux-Anwender erst gewöhnen: Die Windows-Firma hat vom Linux-is-a-cancer-Zitat des Ex-CEO Steve Ballmer [13] im Juni 2001 bis zum heutigen Stand mit Linux-Subsystem und Support für Linux-VMs und -Container im hauseigenen Virtualisierer Hyper-V einen interessanten Weg beschritten.
Infos
-
Artikel zu Linux in einer VM unter Windows: Hans-Georg Eßer, “Virtuelle Maschinen”, EasyLinux 05/17-07/17, S. 30 ff.
-
Cygwin-Artikel: Hans-Georg Eßer, “Linux-Tools für Windows”, EasyLinux 02/2013, S. 48 ff., http://linux-community.de/28511
-
Windows-10-Download: http://microsoft.com/de-de/software-download/windows10
-
Windows-Insider-Programm: http://insider.windows.com/de-de
-
Ubuntu im Microsoft Store: https://www.microsoft.com/store/p/ubuntu/9nblggh4msv6
-
OpenSuse im Microsoft Store: https://www.microsoft.com/store/apps/9njvjts82tjx
-
Video über die Umsetzung von Linux-System-Calls: https://blogs.msdn.microsoft.com/wsl/2016/06/08/wsl-system-calls/
-
Cygwin/X: http://x.cygwin.com/
-
OpenText Exceed: https://www.opentext.com/what-we-do/products/specialty-technologies/connectivity/exceed
-
Xming (Herstellerseite): http://www.straightrunning.com/XmingNotes/
-
SSH-Artikel: Harald Zisler, “Sicherer Transfer”, LinuxUser 11/2017, S. 74 ff., http://linux-community.de/39062
-
The Register, “Ballmer: Linux is a cancer”, Juni 2001, https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/



