Windows 10/11/IoT Core auf dem Raspberry Pi 4: Was geht 2022, was nicht? Eine Übersicht für die dauerhafte/produktive Nutzung von Windows auf dem Pi

Als Video ansehen
Bereitgestellt über YouTube

Windows 10/11/IoT Core auf dem Raspberry Pi 4: Was geht 2022, was nicht? Eine Übersicht für die dauerhafte/produktive Nutzung von Windows auf dem Pi

Es gibt mittlerweile in verschiedenen Quellen einige Anleitungen und Beiträge, die zeigen, wie man Windows auf dem Raspberry Pi installiert. Mit mal mehr mal weniger Aufwand bekommt man ein grundsätzlich lauffähiges Windows. Was dort aber fehlt oder unvollständig ist, sind die Hintergründe: Was geht unter welchen Umständen? Werden diese Installationen von Microsoft unterstützt? Ist das überhaupt legal?

Im heutigen Beitrag beantworten wir Fragen, die man sich wohl stellten würde oder müsste, wenn man Windows für ein ernstes Projekt auf dem Raspberry Pi betreiben möchte – also mehr als nur eine Testinstallation, um nur zu schauen, ob ein Windows darauf irgendwie startet.

Gibt es Windows für den Raspberry Pi?

Fangen wir mit dem an, was die meisten vermutlich nicht meinen, wenn sie von Windows auf dem Raspberry Pi sprechen: Windows 10 IoT. Das ist eine spezielle Version für kleine, eingebettete Geräte – wie beispielsweise den Pi – oder auch Geldautomaten, Anzeigetafeln und mehr. Vor Windows 10 hieß diese Edition „Windows Embedded“, man wollte aber offensichtlich das Buzzword „Internet of Things“ (Internet der Dinge) in den Name integrieren.

Von Windows IoT gibt es zwei Versionen: Nur Windows 10 IoT Core unterstützt x86/x84 und ARM. Dafür hat man keine Windows-Shell und kann nur eine UWP-Anwendung im Vordergrund laufen lassen. Ein paar weitere Funktionen sind eingeschränkt, etwa der Beitritt zu Active Directory Domänen. Windows 10 IoT Enterprise bietet funktionell mehr, unterstützt aber kein ARM und läuft daher nicht auf dem Pi. Alle Unterschiede sind hier in der Microsoft-Dokumentation aufgelistet.

Somit kommt nur Windows 10 IoT Core in Frage. Dies benötigt mindestens 512 MB Arbeitsspeicher, wie in einer offiziellen Microsoft-Präsentation gezeigt. Auf dem Raspberry Pi können maximal 1 GB Arbeitsspeicher verwendet werden.

Windows IoT Core bietet mangels Shell keine Desktop-Umgebung, wie ihr es von einem Desktop-PC mit Windows kennt. Stattdessen kann dort nur eine Anwendung geöffnet werden, die für die Universelle Windows-Plattform (kurz UWP) entwickelt wurde, ein Beispiel:

DeviceInfoPage-Screenshot.jpg
UWP-Beispielanwendung von Microsoft für den Raspberry Pi

Nein, ich habe nicht unachtsam einen veralteten Screenshot genommen: Obwohl der Raspberry Pi 4 bereits Mitte 2019 erschien, wird er von Windows 10 IoT-Core nicht unterstützt. Nur 2 und 3B. Alle anderen Versionen wie etwa der 2018 erschienene 3B+ befindet sich in einer nicht unterstützten Vorschauversion. Und auch der 2016 erschienene Pi 2B Revision 1. ist laut Microsoft nicht geeignet.

Microsoft unterstützt nur wenige, ältere Pis für Windows 10 IoT Core

Dies bestätigt auch ein Blick in das IoT Dashboard Programm, welches Microsoft zur Einrichtung vorgesehen hat. Dort sind nur Raspberry Pi 2 und 3 gelistet:

Zwischenfazit: Windows 10 IoT Core bietet keine klassische Desktopumgebung und ist sowohl bei den unterstützten Raspberry Pis als auch in der Software stark eingeschränkt.

Was ist mit Windows 10 ARM? Das ist doch ein Desktop-Windows!

Ja, Windows 10 auf ARM ist – im Gegensatz zu IoT Core – ein vollwertiges Desktop-Windows. Man hat im Grunde Windows 10 auf die ARM-Architektur portiert. Im Gegensatz zur x86/x64 Version von Windows 10 bietet Microsoft jedoch sowohl die Installationsdateien als auch Lizenzen ausschließlich für Erstausrüster (sog. OEMs) an. Das heißt: Nur Hardwarehersteller, die z.B. ARM-Laptops mit Windows ausstatten möchten, haben offiziell Zugriff darauf. Daran möchte Microsoft auch nichts ändern, wie ein Pressesprecher 2020 in einem Interview mit „The Verge“ das Thema kommentiert.

Der Trick mit den Updateservern

Sind die Autoren der Blog-Artikel und Videos zu Windows 10/11 auf dem Raspberry Pi alles OEMs? Sicher nicht, die Meisten bedienen sich eines Tricks: Den Microsoft Update Servern. Der Konzern versorgt darüber auch die ARM-Versionen mit Aktualisierungen, eben so wie die Vorschau-Versionen für Tester/Entwickler. Ein findiger Bastler hat per Reverse Engineering die Dateien ermittelt, in eine Datenbank geschrieben und eine Art „Baukasten“ entwickelt: Je nachdem welche Version/Edition man möchte, lädt der Baukasten die notwendigen Dateien von den Windows Update Servern, packt diese aus und bastelt daraus eine vollständige ISO-Datei zur Installation.

Auszug der uupdump-Datenbank, aus der eine Windows 11 ISO-Datei erstellt wird

Klingt umständlich? Das ist es auch. Und selbst auf aktueller Hardware recht langsam: Etliche Gigabyte werden herunterladen (ca 9 GB), entpackt, neu gepackt. Dies ist aufgrund Microsofts Haltung aber der wohl einzige, legale Weg: Windows auf ARM ist wie jedes andere Windows auch immer noch proprietäre Software. Im Gegensatz zu freier Software würde es daher rechtliche Konsequenzen mit sich ziehen, wenn man ein Image erstellt und anbietet, wie es beim Raspberry Pi OS und vielen anderen Linux-Distributionen normal ist. Dementsprechend sind fertige, direkt angebotene Windows ARM-Iso Images nicht legal und ggf. zudem ein Sicherheitsrisiko. Die Update-Server hingegen sind öffentlich zugänglich und werden von Microsoft – also dem Rechteinhaber – betrieben.

Auf UUP kann man sich ein Skript herunterladen, dass ein ISO-Abbild für Windows auf ARM erstellt

Wurde das ISO-Abbild erstellt, kann man es mithilfe des WOR-Projektes (Windows on Raspberry) auf ein Speichermedium flashen. Alternativ gibt es auch Skripte, die dies unter Linux auf einem laufenden Raspberry Pi OS machen können. Das Prinzip bleibt aber immer gleich.

Wie gut läuft damit Windows auf dem Raspberry Pi?

Auf einem normalen USB-Stick ist die Installation extrem langsam und dauert fast einen Tag. Selbst mit schnellen Micro-SD Karten ist der Vorgang langsam. Und auch im Betrieb ist man von einer flüssigen Bedienung weit entfernt, dafür ist Windows zu riesig. Erst mit einer extern per USB angeschlossenen SSD wird das ganze halbwegs bedienbar und es gibt auch keine Aufhänger mehr beim Start.

Der Arbeitsspeicher füllt sich jedoch schnell. Schon beim Start ohne geöffnete Programme genehmigt sich Windows über ein Gigabyte. Wer mehrere Programme parallel nutzen möchte, dem ist die 8 GB Variante des Raspberry Pi weit eher zu empfehlen, als unter Linux – statt der 4 GB Variante, mit der ich getestet habe.

Insgesamt erreicht man mit Windows auf SSD ungefähr eine ähnliche Performance, wie mit dem Raspberry Pi OS Desktop auf Micro-SD Karte. Wobei auch das teilweise variiert. Beispielsweise startet Edge zwar träge. Aber wenn er geöffnet wurde, läuft er recht flüssig. Es fühlt sich daher immer wieder langsamer an.

Windows 11 auf einem Raspberry Pi 4 mit 4 GB Arbeitsspeicher und externer SSD.
Die System-Info wurde mit PiMon ausgelesen.

Welche Treiber stehen für Windows zur Verfügung?

In diesem GitHub-Repository ist der aktuelle Stand der Treiber dokumentiert. Der ist überschaubar: Einiges funktioniert wie z.B. GPIO, I2C, Audio (Klinke), Bluetooth oder der Ethernet-Controller. Manches nur teilweise, darunter etwa die Übertragung von Ton per HDMI. Das Haupt-Manko für viele dürfte beim Raspberry Pi 4 wohl sein, dass der WLAN-Treiber nicht funktioniert. Man kann den Pi unter Windows also ausschließlich per Kabel mit dem Netzwerk verbinden.

Lediglich beim Raspberry Pi 3 mit ARM32 funktioniert WLAN. Allerdings ist der Raspberry Pi 3 deutlich schwächer, sodass Windows darauf wohl noch einmal deutlich langsamer laufen wird, als mit dem 4er.

Welche Programme kann man damit unter Windows nutzen?

Anfangs liefen nur ARM-Programme auf Windows 10. Microsoft entwickelte einen x86 Emulator, sodass man normale, auf den meisten PCs/Laptops (x86) kompilierte 32 Bit Anwendungen starten konnte. Für 64 Bit (x86) Anwendungen funktionierte das aber noch nicht – sollte aber laut einer Ankündigung aus dem Herbst 2020 im folgenden Herbst 2021 nachgeliefert werden. Kurzfristig änderte Microsoft diesen Plan Ende 2021 und baute die 64 Bit Emulation zwar in Windows 11 ein, aber nicht mehr wie ursprünglich versprochen in Windows 10.

Man könnte daraus schließen, dass Microsoft bis Herbst 2020 noch selbst nicht wusste, dass Windows 11 eine eigene Version werden würde. Fakt ist jedenfalls: Wer 64 Bit x86 Emulation benötigt, dem lässt Microsoft keine andere Wahl, als Windows 11 zu verwenden. Mittlerweile gibt es sogar erste bekanntere Freeware-Programme in der 64 Bit Version, wie z.B. den VLC. Allerdings noch nicht final.

Die x86 Emulation „übersetzt“ x86 Anweisungen in ARM-Befehle und schreibt dies anschließend in einen Zwischenspeicher. Wird der gleiche Code erneut ausgeführt, soll er dadurch schneller laufen. Im Test mit gängigen x86 Anwendungen wie z.B. Chrome funktioniert dies wie Versprochen ohne zusätzliche Einstellungen. Man kann x86 exe-Dateien genau so starten, wie auf einem x86 System.

Ist Windows 10/11 auf dem Raspberry Pi kostenfrei?

Nein, Windows 10 und 11 für ARM sind eben so proprietäre Betriebssysteme wie die x86 Version für „normale“ PCs. Ihr benötigt also eine Lizenz. ARM-Lizenzen werden – wie anfangs erwähnt – offiziell nur an OEMs ausgeliefert, d.H. sie können als Privatperson nicht ohne Gerät gekauft werden. Es gibt eine kontroverse Diskussionen, ob x86 Lizenzen auch für ARM verwendet werden können. Einige bejahen dies, da in den Lizenzbestimmungen keine auf die Architektur bezogenen Sonderregelungen für ARM zu finden sind. Ob das wirklich so ist, kann nur ein Fachmann für Microsoft-Lizenzfragen beantworten.

Wer überlegt eine deutlich günstigere Lizenz von inoffiziellen Lizenzhändlern z.B. auf Ebay oder Amazon zu kaufen, der sollte wissen: Diese Lizenzen stammen oft aus fragwürdigen Quellen – vor allem wenn der Preis weit unter dem üblichen Marktwert liegt, etwa 15€ oder noch weniger statt ~260€. Hier gab es vor noch gar nicht all zu langer Zeit zuletzt Razzien bei mehreren größeren Händlern, die teilweise auch an Edeka verkauften. Auch die Käufer werden zunehmend ins Visier genommen. So kam es zu tausenden Ermittlungsverfahren gegen Käufer eines Ebay-Händlers:

Quelle: notebookcheck.com

Wie sieht es mit Updates und Upgrades aus?

Kumulative Aktualisierungen lassen sich genau so installieren, wie auf jedem anderen Windows-Computer auch. Kleinere Updates wurden in meinen Tests automatisch im Hintergrund installiert. Wenngleich das manchmal zu einer spürbaren Verlangsamung führt.

Feature-Upgrades allerdings nicht ohne weiteres. Dies hängt indirekt mit den Treibern zusammen: Microsoft verlangt in einem „normalen“ Windows mittlerweile signierte Treiber, verlangt für die dafür notwendigen Zertifikate Geld. WOR kann sich das als kostenfreies Community-Projekt nicht leisten und verwendet selbst signierte Treiber. Dafür muss ein Testmodus aktiviert werden, der für Entwickler gedacht ist. Deswegen seht ihr rechts unten ein Wasserzeichen:

Im Testmodus hat Microsoft keine Funktionsupdates vorgesehen und verweigert zudem die Installation auf USB-Geräten. Um trotzdem Upgrades zu installieren, müsstet ihr verschiedene Prüfungen von Windows aushebeln und die Installation von Hand anstoßen. Das ist nicht nur recht umständlich sondern erfordert, dass ihr Microsofts Updates beobachtet, um neue Upgrades zeitnah einzuspielen.

Nicht vergessen sollte man bei diesem Thema: Windows 11 führt wesentlich striktere Anforderungen ein. Microsoft verlangt umstrittene Module wie TDP 2.0 sowie einen aktuellen Prozessor. Es gibt zwar Wege diese Anforderungen zu umgehen. Doch Microsoft hat betont, dass solche nicht mehr unterstützten Systeme möglicherweise zukünftig keine Updates erhalten.

Fazit

Windows auf dem Raspberry Pi funktioniert in der Praxis sogar in drei Versionen: Windows 10, Windows 10 IoT Core und Windows 11. Nur Windows 10 IoT ist jedoch offiziell unterstützt und selbst das nur auf einzelnen älteren Modellen des Raspberry Pi 2 und 3. Es ist außerdem recht eingeschränkt, sinnvoll nutzbare Software gibt es nur wenig – damit in meinen Augen höchstens für Entwickler interessant, die zwingend mit Windows-Technologie arbeiten möchten. Wie zukunftssicher das ist, sei jedoch dahingestellt, Microsoft scheint sich nur wenig für Windows 10 IoT auf dem Raspberry Pi zu interessieren.

Ein vollwertiges Windows mit Desktopumgebung ist über die ARM-Versionen zwar möglich. Doch Microsoft gibt sich durch Einschränkungen alle Mühe, um das maximal umständlich zu gestalten. Dazu kommt noch die händische Upgrade-Installation sowie die grundsätzliche Upgrade-Problematik bei Windows 11 auf nicht unterstützter Hardware – dazu zählt der Raspberry Pi ja auch. Die Leistung ist zudem deutlich schlechter als unter Linux.

Windows auf dem Raspberry Pi ist daher nur für Hardcore-Bastler interessant, die zwingend Windows benötigen und die Nachteile/Einschränkungen dafür in Kauf nehmen. Für alle anderen spricht wenig dafür, aber sehr vieles dagegen. Linux ist hier nach wie vor die weitaus bessere Alternative für viele Anwendungsfälle. Wer dennoch unbedingt Windows benötigt oder möchte, dem würde ich zu x86 Hardware raten. Dort fallen einige Nachteile weg. Je nach Szenario ist ein x86 Mini-PC hier der bessere Weg. Die kosten zwar tendenziell mehr als der Pi und weisen auch einen höheren Stromverbrauch auf. Aber es gibt auch Modelle, bei denen beides trotzdem in einem bezahlbaren Rahmen bleibt.

Leave a Reply