Noch ist „Bash on Ubuntu on Windows“ Beta, aber das Ding wird bald
allgemein unter Windows Einzug halten. Das Windows Subsystem for Linux
(WSL) ist wesentlich mehr als nur eine Bash-Shell: Es bildet das
komplette Dateisystem eines Ubuntu ab und enthält unter /bin und
/usr/bin alle typischen Kommandozeilenwerkzeuge. Über die
Ubuntu-Repositories und apt-get install können weitere Werkzeuge
nachinstalliert werden. Trotz noch bestehender Mängel ist der Eindruck
evident, dass hier Microsoft in Zusammenarbeit mit Canonical (Ubuntu)
ein ehrgeiziges und nachhaltiges Projekt auf die Beine stellt.
Einrichtung und erster Eindruck
Als Vorbereitung ist unter Windows 10 zunächst via Startmenü über „Einstellungen -> Update und Sicherheit -> Für Entwickler“ der „Entwicklermodus“ zu aktivieren. Danach wird in der Systemsteuerung unter „Programme und Features -> Windows Features aktivieren“ das Paket „Windows Subsystem für Linux“ angeboten und kann durch ein Häkchen und „OK“ installiert werden. Dieser Vorgang wird auch in Zukunft optional bleiben, da typische Windows-User eine Linux-Shell in der Regel nicht vermissen.
Nach dieser Aktion findet sich im Windows-Startmenü das neue Programm
„Bash on Ubuntu on Windows“, das den kleinen Bash-Launcher aufruft
(bash.exe). Falls das Startmenü den Link nicht anbietet, starten Sie die
bash.exe manuell in Cmd-Konsole im Pfad \Windows\System32.
Neuerdings (2016 noch nicht beobachtet) kann sich noch eine kleine Hürde einstellen: Wenn der Aufruf der bash.exe mit der Meldung „Zur Verwendung dieses Features muss die Legacykonsole deaktiviert werden“ scheitert. klicken Sie rechts auf die Titelleiste der Cmd.exe und deaktivieren auf der Registerkarte „Optionen“ das Kästchen vor „Legacykonsole“:
Danach erledigt der Aufruf der bash.exe die eigentliche Installation
des minimalen Ubuntu vom Canonical-Server. Am Ende werden Sie
aufgefordert, ein (sudo-berechtigtes) Benutzerkonto und dessen Passwort
anzulegen. Ab sofort ist die Bash-Shell einsatzbereit.
Die eigentliche Ubuntu-Umgebung befindet sich im User-Kontext unter
\user\[Konto]\AppData\Local\lxss, darunter liegt das Dateisystem
\user\[Konto]\AppData\Local\lxss\rootfs mit der üblichen
Verzeichnisstruktur und etwa 550 MB nach der Installation. Diese Ordner
werden vom Windows-Explorer versteckt, sind aber mit direkter Eingabe in
die Explorer-Adresszeile ebenso wie mit der Cmd-Kommandozeile
problemlos zu erreichen.
Die Benutzung der „Bash on Ubuntu on Windows“ unterscheidet sich bei
einfacheren Aufgaben weder funktional noch leistungstechnisch von einer
Ubuntu-Shell. Wer sich schon mal mit der weitaus hakeligeren Cygwin-Bash
beschäftigt hat, wird in jeder Hinsicht positiv überrascht sein. Es
gelingt uns mühelos, mit dem ssh-Client Verbindung zu unseren Servern
aufzunehmen, was künftig die Windows-Clients Putty und Kitty weitgehend
überflüssig machen könnte.
Bevorzugte Werkzeuge wie htop, nmap, inxi oder mc sind über apt-get
problemlos nachinstalliert. Da der Midnight Commander hier auch SSH
beherrscht, ist sehr bequemer Austausch des Windows-Systems mit
Linux-Servern garantiert.
Für die direkte Zusammenarbeit mit Windows ist das
Windows-Systemlaufwerk automatisch unter /mnt/c gemountet, was nach der
Definition einiger Bash-Aliases schnell zum komfortablen Datenaustausch
zwischen Windows-Desktop und Linux-Shell führt.
Weitere interne oder externe Laufwerke des Windows-Rechners sind
gemäß den dort verwendeten Laufwerksbuchstaben unter /mnt/d, /mnt/e und
so fort zu finden.
Der Befehl
uname -a
meldet brav ein 64-Bit-„GNU/Linux“ und
lsb_release -a
ein Ubuntu 14.04.5 LTS.
Für Linux-Entwickler? Für Linux-User?
Schon das Freischalten des Subsystems mit der Option
„Entwicklermodus“ macht deutlich, welche Zielgruppe Microsoft mit der
„Bash on Ubuntu on Windows“ in erster Linie im Auge hat. Es sind
Entwickler, die unter Linux mit Python, Ruby, Git und Gnu-Compiler
arbeiten und dies theoretisch künftig auch unter Windows erledigen
können. Microsoft behauptet allerdings auch, mit der Bash einfach nur
eine gute Kommandoshell anbieten zu wollen, die dann auch normale Nutzer
ansprechen soll (und natürlich solche, die an Bash gewöhnt sind).
Einige Möglichkeiten tun sich da in der Tat zwanglos auf, zumal der
Launcher bash.exe auch Parameterangaben vorsieht – etwa:
bash.exe myscript.sh
bash.exe -c "mc ~"
„Bash on Ubuntu on Windows“ ist ein unglaublich ambitioniertes
Projekt, das jetzt schon überraschend viel kann und das unbedingt
weitere Beobachtung verdient.
Der Vergleich zwischen der 2016 veröffentlichten „Bash on Ubuntu on
Windows“ mit der aktuellen (Stand: 09.03.2017) zeigt, dass Microsoft und
Canonical fleissig weiterentwickeln. Diverse Mängel bei der Bedienung,
bei der Eingabe von Sonderszeichen oder beim Scrollen im Editor, sind
weitestgehend ausgeräumt.
Auch grafische Linux-Programme starten anstandslos, wenn unter Windows der X-Server xming (https://sourceforge.net/projects/xming/)
installiert ist aud läuft. Grafische Tools hat das Ubuntu zwar zunächst
nicht an Bord, sie sind aber über apt-get ebenso nachrüstbar wie
Kommandozeilentools.
Als praktisches Highlight für den Benutzeralltag sehe ich die SSH-Shell-Verbindung im Midnight Commander. Umstandsloser, direkter und komfortabler kann der unbeschränkte Dateiaustausch zwischen Windows und einem Linux-Server nicht stattfinden – auf der einen Seite das komplette Dateisystem des Linux-Rechners, auf der anderen Seite unter /mnt das komplette Dateisystem des Windows-Rechners. Die SSH-Clients Putty/Kitty haben bei mir weitgehend ausgedient.
Falls sich bei dem Namen „Windows“ ganz konkrete Vorstellungen einstellen, sollte man sich davon bei Windows 10 IoT Core erst einmal radikal verabschieden. Etwas mehr als den Kernel bringt dieses Windows „Core“ zwar schon mit, aber es ist von einem Desktop-Windows wesentlich weiter entfernt als etwa ein Raspbian von einem Ubuntu. Unterm Strich ist Windows IoT ausschließlich für die Headless-Steuerung via Netzwerk (SSH, Web-Oberfläche, Powershell) und vorwiegend für die Entwicklung eigener Projekte konzipiert. Wir erklären hier, was mit dem System auch ohne Programmierung mit dem Entwicklerwerkzeug Visual Studio 2015 anzustellen ist und wie es sich dabei im Vergleich zu Linux verhält.
1. System-Image für den Raspberry
Bei der Image-Auswahl und Bestückung der SD-Karte muss sich Windows
IoT Core schon mal einige Punkteabzüge gefallen lassen. Den diversen,
bereits funktional spezialisierten Linux-Varianten für den Raspberry
steht genau ein Windows gegenüber und dessen Installation ist nicht
überall trivial. Eine erste Hürde ist die nicht klar kommunizierte
Tatsache, dass das aktuelle „Windows 10 IoT Core Release Image“ auf dem
jüngsten Raspberry 3 noch nicht läuft. Wer die Downloadseite https://ms-iot.github.io/content/en-US/Downloads.htm
ganz genau liest, kann dies vermuten, weil der Raspberry Pi 3 nur unter
der Vorversion „Windows 10 IoT Core Insider Preview“ namentlich
aufgeführt ist. Es kann gut sein, dass demnächst die normale
Hauptversion auch den neuesten Raspberry unterstützt, aber Anfang Mai
2016 war dies noch nicht der Fall und wir mussten auf die Insider
Preview ausweichen. Dabei ist es aber nicht nötig, am Insider-Programm
von Microsoft teilzunehmen, weil auch der bewährte NOOBS-Installer der
Raspberry Foundation diese Insider Preview einrichten kann (Download
unter www.raspberrypi.org/downloads/noobs).
Wenn Sie den Raspberry mit NOOBS booten und dann die Option „Windows 10
IoT Core“ wählen, holt sich NOOBS die aktuellste Preview von Windows
IoT aus dem Netz. Eine flotte Internetverbindung ist ratsam, weil der
Download circa 1825 MB umfasst.
Wichtige Anmerkung: Beachten Sie, dass die beschriebene Einrichtung über NOOBS nicht die von Microsoft vorgesehene Installationsweise darstellt. Microsoft zielt nämlich auf eine enge Zusammenarbeit eines Windows-10-PCs mit der Raspberry-Platine. Beim Download des „Windows 10 IoT Core Release Image“ von https://ms-iot.github.io/content/en-US/Downloads.htm erhalten Sie ein ISO-Image, das Sie unter Windows 10 „Bereitstellen“ (Mounten) sollen, um anschließend die dort enthaltene MSI-Datei auszuführen. Dabei wird am Windows-Rechner das eigentliche Image (flash.ffu) entpackt, ferner zwei Hilfsprogramme eingerichtet – eines zum Schreiben des ffu-Images (IoTCoreImageHelper.exe), ein weiteres (WindowsIoTCoreWatcher.exe) zur besonders einfachen Verwaltung einer oder mehrerer Raspberry-Platinen mit Windows IoT.
Dies mag den Eindruck erwecken, dass sich ein Raspberry mit Windows
IoT nur über ein Windows 10 einrichten und bedienen lasse. Das ist aber
falsch: Richtig ist nur, dass die Entwicklung eigener
Programmierprojekte ein Windows 10 mit Visual Studio 2015 voraussetzen.
Die Nutzung und Fernwartung eines Raspberry mit Windows Core
funktioniert hingegen auch ohne diese Hilfsprogramme und ohne
Windows-PC.
Hinweis zur Hardware: Der WLAN-Chip auf dem neuen Raspberry 3 wird von der Windows IoT Insider Preview nicht erkannt. Dieses Manko kann bei Erscheinen dieses Heft eventuell behoben sein. Wann genau das der Fall sein wird, das lässt sich der vagen Aussage „coming soon“ auf http://ms-iot.github.io nicht entnehmen.
2. Erster Start: Was läuft auf dem Raspberry?
Falls am Raspberry Monitor und Maus angeschlossen sind, erscheint
nach dem Start eine einfache Oberfläche, die nur eine wesentliche
Information anbietet, nämlich die lokale IP-Adresse. Über das
Zahnradsymbol ist nicht mehr zu erreichen als die Einstellung der
Sprache. Der Punkt „Lernprogramme“ gibt auch nicht viel her. Generell
ist die hübsche, aber praktisch funktionslose Oberfläche entbehrlich bis
nutzlos. Der Raspberry mit Windows IoT wird komplett über das Netzwerk
verwaltet.
Bei den automatisch gestarteten Standarddiensten hat Microsoft nichts
Wesentliches ausgelassen. Das System und die Dateien auf dem System
sind auf viele Wege zu erreichen:
* Der SSH-Server läuft. Der Raspberry ist von jedem Client-System via ssh administrator@192.168.0.22 (Beispiel) und dem Standardkennwort „p@ssw0rd“ erreichbar (Zahl 0 statt Buchstabe o!).
* Der Web-Server läuft: Die Verwaltungsoberfläche des Raspberry ist von jedem Client-System im Browser über http://192.168.0.22:8080 erreichbar (Beispiel). Die Standardauthentifizierung lautet wieder „Administrator“ und Kennwort „p@ssw0rd“
* Der FTP-Server läuft: Der Raspberry ist von jedem Client-System via
FTP über seine IP-Adresse erreichbar. Hier ist der anonyme Zugriff ohne
Authentifizierung vorgesehen. Freigegeben ist standardmäßig das
Systemlaufwerk (C:\).
* Der Lanmanserver läuft: Spezielle Freigaben sind per SSH leicht
einzurichten, die dann von jedem Client-System erreichbar sind. Sofort
ab Installation, also ohne jede Einrichtung, sind die typischen
administrativen Standardfreigaben (C$, D$) erreichbar – allerdings nur
mit Windows-Clients.
* Das Windows Remote Management läuft: Somit kommen Windows-Client
auch über die Windows Powershell an den Raspberry, die mehr
Möglichkeiten bietet als die normale Kommandozeile Cmd (die bei
SSH-Verbindung startet).
* Wer Windows IoT über einen Windows-10-Rechner installiert hat, erhält auf diesem Rechner zusätzlich den schon genannten „Windows IoT Core Watcher“ als Hilfsprogramm: Der spürt Raspberry-Platinen mit Windows IoT im lokalen Netz auf und bietet per Rechtsklick deren Verwaltungsoberfläche und die administrativen Datenfreigaben. Das Tool ist aber vollständig entbehrlich, wenn der Raspberry mit fester IP über ein Browser-Lesezeichen und die Datenfreigaben im Dateimanager des PCs zu erreichen sind.
3. Windows IoT im praktischen Einsatz
Die ersten Maßnahmen auf einem Windows IoT unterscheiden sich nicht
grundsätzlich von einem Linux-System auf dem Raspberry: Eine der
wichtigsten Aktionen ist ein feste IP-Adresse für das Gerät, was Sie am
besten zentral im Router erledigen. Damit ist das System per SSH oder
Browser zuverlässig zu erreichen. Ob der Zugriff dann unter Linux mit
(Beispiel)
ssh administrator@192.168.0.22
oder mit Putty/Kitty unter Windows erfolgt, spielt keine Rolle.
Zu empfehlen ist ferner ein individuelles Kennwort für das
„Administrator“-Konto (vergleichbar mit root unter Linux). Dies kann der
Befehl
net user administrator meinkennwort
auf der SSH-Konsole erledigen, ist aber auch auf der
Verwaltungsoberfläche unter „Home -> Preferencies“ vorgesehen. An
gleicher Stelle können Sie auch den Standard-Hostnamen „minwinpc“
individuell einstellen.
Windows IoT kann mit oder ohne Bildschirmoberfläche („headed“ oder
„headless“) gestartet werden. Falls Sie kein eigenes Projekt planen, das
eine Bildschirmausgabe vorsieht: Die Standardoberfläche des Systems und
ein am Raspberry angeschlossener Bildschirm sind reichlich nutzlos. Für
die Abschaltung gibt es ein Extra-Programm:
setbootoption.exe headless
Dies und ein Reboot schaltet die Oberfläche ab und bringt etwa 60 MB
zusätzlichen Speicher (der Parameter „headed“ schaltet die Oberfläche
jederzeit wieder ein). Einen Reboot lösen Sie am bequemsten über die
gleichnamige Schaltfläche in der Verwaltungsoberfläche aus, aber
natürlich funktioniert auch ein shutdown /r /t 0 auf der SSH-Konsole.
Neben dem überall funktionierenden SSH-Zugriff gibt es unter Windows auch noch den Remote-Zugang via Powershell (Beispiel):
Die zweite Befehlszeile ist nur ein einziges Mal notwendig, um den Raspberry dem Windows-PC bekannt zu machen. Der erste Befehl ist nur einmal innerhalb einer Windows-Sitzung notwendig. Für die Eingabe des Kennworts nach dem dritten Befehl erscheint dann ein grafischer Dialog.
Die Verwaltungsoberfläche liefert unter „Processes“ und „Performance“
einen guten Überblick über die Systemauslastung und über laufende
Tasks, die sich hier auch beenden lassen. Ohne Monitorausgabe
(„headless“) sollte das pure Standardsystem deutlich unter 200 MB
liegen. Bei Aufgaben als einfacher Datenserver liegt die CPU-Last bei 10
bis maximal 30 Prozent. Das sind Werte, die auch ein schlanker
Debian-Server nicht signifikant unterbieten kann.
Auf der Seite „Processes“ lassen sich unter „Run command“ einzelne
Kommandozeilen direkt übergeben, ohne dafür eine SSH- oder
Powershell-Verbindung aufbauen zu müssen. Wenn es sich um einen Befehl
des Kommandointerpreters Cmd handeln soll, muss dies in der Form „cmd /c
[Befehl]“ erfolgen.
Wenn Sie beim Systemstart automatisch Programme starten (oder beenden) oder Umgebungsvariablen setzen wollen, nutzen Sie vorzugsweise die Datei IoTStartupOnBoot.cmd unter \Windows\System32. Diese wird, wie der Name anzeigt, beim Start automatisch berücksichtigt.
4. Einrichtung eines einfachen Datenservers
Die Rolle eines einfachen lokalen Datenservers kann Windows IoT
problemlos und mit sehr geringem Konfigurationsaufwand übernehmen. Dazu
eignen sich externe USB-Geräte an den vier verfügbaren Ports.
USB-Datenträger sind „hot plugable“, werden also im laufenden Betrieb
gemountet – in aufsteigender Reihe der Windows-typischen
Laufwerksbuchstaben. Um ein komplettes USB-Laufwerk E: für das
Standardkonto „Administrator“ freizugeben, genügt ein einziger Befehl
(Beispiel):
net share USB_2TB=e:\ /grant:administrator,full
Weitere Konten sind etwa mit
net user /add Sepp geheim
schnell eingerichtet und Netzfreigaben analog dem obigen Befehl zu
gestatten, nur mit geändertem Kontonamen. Für die Korrektur eventuell
fehlender lokaler Rechte auf Datenträgern ist das Tool icacls.exe an
Bord.
Der FTP-Server, der standardmäßig Laufwerk C: anbietet, kann jeden
beliebigen Pfad per FTP freigeben. Es genügt, den Dienst zunächst mit
kill ftpd*
zu beenden und dann mit der gewünschten Pfadangabe neu zu starten (Beispiel):
start c:\windows\system32\ftpd.exe e:\daten
Es gibt aber offenbar keine Möglichkeit, den FTP-Server auf ein
bestimmtes Konto zu beschränken. Eine Öffnung für den Internet-Zugriff
via Portfreigabe scheidet daher aus Sicherheitsgründen aus, und für den
Zugriff im lokalen Netz reichen an sich die normalen Freigaben aus.
5. Windows IoT: Ohne Eigenentwicklung geht nicht viel
Die voranstehenden Abschnitte zeigen, dass Windows IoT auf dem
Raspberry wesentliche Dienste automatisch mitbringt und mit etwas
Erfahrung auf der Windows-Kommandozeile (Cmd) oder der
Windows-Powershell gut übers Netzwerk zu verwalten ist – und zwar nicht
nur über Windows, sondern auch über Linux oder Mac OS X (SSH und
Browser). Alltagstaugliche Einsatzmöglichkeiten, wie wir sie von
Linux-Systemen wie Raspbian, Open Media Vault, Openelec und zahlloser
Software wie Kodi, Plex, Owncloud, Mediawiki kennen, sind aber nicht
annähernd in Sicht. Die skizzierte Einrichtung als lokaler Datenserver
(Punkt 4) ist das einzige alltagstaugliche Szenario, das sich mit dem
purem Windows-IoT-System umstandslos realisieren lässt. Batch-Frickler
können sich mit den angebotenen Kommandozeilen-Tools unter
\Windows\System32 und dem Cron-ähnlichen Scheduler Schtasks sicher noch
einige zusätzliche Komfortfunktionen hinzubasteln. Ein Hemmschuh ist
dabei, dass nicht einmal ein Texteditor an Bord ist und somit Änderungen
an Batch- oder Konfigurationsdateien immer über die Freigaben am
Remote-PC erfolgen müssen.
Über diese engen Grenzen hinaus führt nur die Entwicklung eigener
Programmierprojekte. Hier steht man allerdings mit einem Linux-Rechner
komplett außen vor. Die Entwicklung benötigt einen Windows-10-Rechner
mit Visual Studio 2015 (wobei aber die kostenlose Community-Edition
ausreicht: www.visualstudio.com/de-de/downloads).
Selbst Nutzer, die nur das eine oder andere schon existierende
Beispielprojekt auf ihrem Raspberry ausprobieren wollen, kommen nur mit
Hilfe von Windows ans Ziel: Die überall verfügbare Verwaltungsoberfläche
im Browser sieht zwar unter „Apps -> Install package“ das Laden von
Projekten auf den Raspberry vor, dazu müssen diese aber als Appx-Pakete
vorliegen, was wiederum Visual Studio oder zumindest das Windows-Tool
Makeappx erfordert.
Ist auf einem Windows-10-PC Visual Studio installiert, ist der
Transport von Projekten auf den Raspberry hingegen recht einfach: Die
Sammlung mit den Demo-Projekten unter https://github.com/ms-iot/samples
lässt sich mit der Schaltfläche „Download ZIP“ rechts oben komplett
herunterladen. Nach dem Entpacken des Archivs genügt ein Doppelklick auf
die SLN-Datei des gewünschten Projekts, der das verknüpfte Visual
Studio startet und dort automatisch den Debug-Modus und die
ARM-Systemarchitektur einstellt (in der Tool-Leiste oben). Daneben muss
dann nur noch unter „Device“ die Option „Remotecomputer“ gewählt werden,
wobei der Raspberry erkannt und automatisch angeboten wird und ein
Klick auf „Auswählen“ das Ziel festlegt. Danach genügt „Erstellen ->
[Projektname] erstellen“ zum Kompilieren des Projekt und anschließendes
„Erstellen -> [Projektname] bereitstellen“, um das Projekt auf den
Raspberry zu befördern. Die Verwaltungsoberfläche zeigt unter „Apps
-> Installed Apps“ alle Projekte in einer Dropdown-Liste an. Das
jeweils ausgewählte starten Sie dort mit der Schaltfläche „Start“ oder
löschen es wieder mit der Schaltfläche „Remove“.
Die meisten der bislang vorliegenden Projekte haben Demo-Charakter, um die technischen Möglichkeiten und den zuständigen Programmcode anzuzeigen. Praxistaugliche und für größere Zielgruppen zu empfehlende Lösungen sind bislang nicht in Sicht.
Wine ist bekanntlich ein Nachbau der Windows-API unter Linux, der eine Vielzahl von Windows-Programmen unter Linux lauffähig macht. Wo immer dies möglich ist, ist dies der direktere Weg gegenüber einer Virtualisierungslösung.
Über Wine und sein komfortables Frontend PlayOnLinux allgemeingültige, praxisnahe technische Anleitungen zu liefern, ist nicht ganz einfach: Streng genommen kann man immer nur das erfolgreiche Einrichten genau eines Windows-Programms erklären. Bei der nächsten Software kann sich der Vorgang schon wieder deutlich unterscheiden, und einen dritten Kandidaten überreden auch trickreiche Nachbesserungen nicht zur Zusammenarbeit. Dieser Artikel kann daher nur die Grundregeln beschreiben.
Zum Verhältnis Wine und PlayOnLinux
Wine („Wine Is Not an Emulator“) stellt die eigentliche Laufzeitumgebung und Windows-API (Application Programming Interface) bereit und basiert auf mühevoller Rekonstruktion des nicht offenen Windows-Quellcodes durch Experimentieren und Reverse-Engineering. Aufgrund dieser Arbeitsweise ist die von Wine angebotene Windows-API auch nach über 20 Jahren der Entwicklung immer noch lückenhaft, aber inzwischen ausreichend für viele und zum Teil auch komplexe Windows-Programme und –Spiele wie Photoshop oder Halflife. Welche Windows-Software unter Wine zuverlässig läuft, zeigt die Datenbank http://appdb.winehq.org. Linux-Nutzer mit wenig Erfahrung sollten sich an die Kategorien „Platin“ und „Gold“ halten, alle anderen Einstufungen erfordern manuelles Nachbessern.
PlayOnLinux ist im Prinzip nur ein zusätzliches Konfigurationswerkzeug für Wine. Aber es vereinfacht Installationen von Software und bietet vor allem eine komfortable Verwaltung für mehrere Wine-Versionen auf einem Rechner. Es ist nämlich leider keineswegs so, dass die aktuellste Wine-Version auch die beste für jede Windows-Software darstellt. Vielmehr gibt es vor allem für ältere Software ältere Wine-Versionen, welche die optimalen Bedingungen garantieren.
Mit PlayOnLinux nimmt zwar die Wine-Komplexität weiter zu, dennoch gehen wir nachfolgend davon aus, dass Sie Wine in Kombination mit diesem grafischen Frontend nutzen. Ursprüngliches Ziel des Frontends war es, populäre Windows-Spiele besonders komfortabel lauffähig zu machen – daher der Name des Tools. Heute hat Playonlinux aber auch Windows-Programme wie Microsoft Office oder Dreamweaver im Repertoire.
Installation über PlayOnLinux
Obwohl es unter den Distributionen auch einige Ausnahmen gibt: In den meisten Fällen sind die Pakete Wine und PlayOnLinux nicht vorinstalliert, weil sie relativ viel Platz beanspruchen und die installierbaren Live-Systeme um circa 200 MB anwachsen ließen. Unter Debian, Ubuntu, Mint und Varianten installiert der Befehl
sudo apt-get install playonlinux curl p7zip-full
alle notwendigen Komponenten. Beachten Sie, dass PlayOnLinux ein aktuelles Wine automatisch mitbringt. Beim Verfassen dieses Beitrags handelte es sich unter Ubuntu um Wine 1.7.12. PlayOnLinux ist aktuell bei Version 4.2.5, bei der Installation über die Ubuntu-Repositories erhalten Sie derzeit Version 4.2.2.
Bei der Installation gibt es unter einigen Distributionen eine irritierende Bremse: Es erscheint ein Textfenster „Konfiguriere ttf-mscorefonts-installer“. Es handelt sich um die EULA (End User License Agreement) für einige Windows-Truetype-Standardschriften, die Sie bestätigen sollen. Allerdings lässt sich das „OK“ in diesem Textfenster nicht direkt mit Eingabetaste erreichen. Vielmehr müssen Sie erst mit der Tab-Taste das „OK“ aktivieren, um den Vorgang mit Eingabetaste fortsetzen zu können.
Vor dem Start von PlayOnLinux sollten Sie erst winecfg aufrufen, am einfachsten via Terminal. Beim Start dieses Konfigurationstools werden oft noch fehlende Komponenten angemahnt und die automatische Nachinstallation angeboten. Außerdem können Sie vorab festlegen, welche Laufwerke die Windows-Software nutzen darf. Erst danach starten Sie PlayOnLinux über das Startmenü oder das Dash. Nach diesen Aktionen sind bereits wichtige Ordnerstrukturen und virtuelle Laufwerke angelegt. Sie finden im home-Verzeichnis den versteckten Ordner ~/.PlayOnLinux/wineprefix, der die virtuellen Laufwerke für alle späteren Installationen aufnimmt.
Exkurs: Neueste Versionen
Wenn es die allerneueste Wine-Version sein soll, gibt es für Ubuntu und Mint ein alternatives PPA mit jüngsten Entwicklerversionen. Dafür nehmen Sie in der Kommandozeile das PPA auf und installieren dann die aktuellste Version:
Auch PlayOnLinux bieten die meisten Repositories nicht in der aktuellsten Version. Diese lautet bei Redaktionsschluss 4.2.5, während etwa Ubuntu die Version 4.2.2 installiert. Die jeweils aktuellste Version erhalten Sie mit diesen vier Befehlen:
Beachten Sie jedoch, dass die Entwicklung bei Wine zwar stetig, aber langsam voranschreitet. Die Notwendigkeit ganz aktueller Versionen ergibt sich nur dann, wenn Sie genau wissen, dass die gewünschte Windows-Software die neueste Wine-Version unbedingt voraussetzt.
Varianten der Software-Installation
Nach dem Aufruf vom Playonlinux klicken Sie zunächst auf „Datei -> Installieren“. Das damit geöffnete Installationsmenü zeigt zahlreiche Windows-Programme und Spiele, für die es bewährte Installations-Scripts gibt. Mit der Auswahl und dem Klick auf „Installieren“ einer dieser Software-Vorgaben sind Sie auf einer relativ sicheren Seite. „Relativ sicher“ deswegen, weil sich beispielsweise eine genau analysierte Software wie ein Microsoft Office standardmäßig problemlos installieren lässt, das Setup jedoch scheitert, wenn man versucht, eine benutzerdefinierte Auswahl der Komponenten zu treffen.
In den meisten Fällen benötigen Sie ein reguläres Installationsmedium, also CD/DVD oder auch eine ISO-Datei, die Sie am besten schon vorher über „Öffnen mit -> Einhängen von Laufwerksabbildern“ gemountet haben. Bei frei verfügbarer Open-Source-Software fragt PlayOnLinux nach keinem Installationsmedium, sondern lädt die Dateien aus dem Internet und installiert automatisch. Das bei der Installation neu entstehende Wine-Prefix und auch das zugehörige Verzeichnis unter ~/.PlayOnLinux/wineprefix erhält jeweils den Namen der Software.
Die manuelle Setup-Variante: Ist die gewünschte Software in den Vorgaben unter „Datei -> Installieren“ nicht enthalten, können Sie folgenden Weg versuchen: Im Installationsdialog klicken Sie auf ganz unten auf „Installiere ein Programm, das nicht aufgelistet ist“. Damit startet die manuelle Installation, bei der Sie die Option „Installiere ein Programm in einem neuen virtuellen Laufwerk“ anklicken und für die neue Umgebung einen Namen vergeben. Den nächsten Dialog überspringen Sie mit „Weiter“, sofern Sie mit den dortigen Optionen nichts anfangen können. Wenn die Aufforderung „Bitte wähle die Installationsdatei…“ erscheint, navigieren Sie mit „Durchsuchen“ zur gewünschten Setup-Datei. Ob die Installation funktioniert und anschließend auch die Software, muss der Versuch zeigen.
Manuelle Kopie portabler Software: Portable Windows-Programme benötigen bekanntlich keine Installation. Mit solcher Software lässt es sich besonders einfach experimentieren: Kopieren Sie in eine bereits existierende Laufzeitumgebung unter ~/.PlayOnLinux/wineprefix/[Name]/drive_c/Program Files beliebige portable Programme einfach mit dem Dateimanager. Danach gehen Sie im Hauptdialog von Playonlinux auf „Konfigurieren“ und markieren den Namen der betreffenden Laufzeitumgebung. Nun erscheint die Schaltfläche „Lege eine neue Verknüpfung dieses virtuellen Laufwerks an“, die eine Suche nach ausführbaren Windows-Executables (*.exe) startet. Hier klicken Sie auf die gewünschte Programmdatei und auf „Weiter“. Dadurch entsteht ein neuer Programmeintrag im Hauptdialog von PlayOnLinux, zusätzlich auch noch eine Desktop-Verknüpfung.
Ob das portable Programm dann tatsächlich läuft, erweist sich nach Klick auf „Ausführen“ im Hauptdialog. Der Erfolg ist ungewiss, aber Sie können in einem einzigen Wine-Prefix durch schlichtes Kopieren in den virtuellen Programme-Ordner Dutzende von Programmen ausprobieren. Bei kleineren Tools und einfachen Spielen stehen die Chancen generell gut.
Ergebnis aller Installationsvarianten: Für jede Software ist immer eine bestimmte Wine-Version zuständig. Bei den Programmen, die der Installationsdialog anbietet, holt PlayOnLinux automatisch die passende Wine-Version mit an Bord. Bei manuellen Installationen arbeitet normalerweise die Default-Version des Betriebssystems. Einmal installierte Programme erscheinen im Hauptdialog von PlayOnLinux und lassen sich dort „Ausführen“, „Debuggen“, „Deinstallieren“ und genauer „Konfigurieren“. Eine komplette Prefix-Umgebung können Sie unter „Konfigurieren -> Entfernen“ wieder löschen. Falls dies nicht klappt, löschen Sie einfach den betreffenden Ordner unter ~/.PlayOnLinux/wineprefix.
Debugging und Experimente
Wine bietet eine erstaunlich zuverlässige Basis der Windows-API, kann aber natürlich nicht die zahllosen Spezialitäten berücksichtigen, wie sie Tausende von Windows-Programmen voraussetzen. Das beginnt bei harmlosen Registry-Einträgen und geht bis zu speziellen DLL-Versionen, .Net- oder DirectX-Versionen. Bei besonders prominenter Software ist der Ehrgeiz der Community groß, diesen Spezialitäten mit genau recherchierten Installations-Scripts Rechnung zu tragen. Bei weniger prominenter Software ist Wine die solide Basis, die aber oft erst durch eigenes Experimentieren zum Erfolg führt: Wenn ein Windows-Programm nach der Installation nicht läuft, bedeutet das nicht, dass es prinzipiell nicht funktioniert. Wer einerseits die Struktur von PlayOnLinux verstanden hat, andererseits einige Windows-Kenntnisse mitbringt, hat gute Chancen, eine störrische Software durch Experimentierten zur Arbeit zu bewegen:
Jedes installierte Programm lässt sich im PlayOnLinux-Hauptdialog markieren, danach auf der rechten Seite mit dem Link „Ausführen“ starten. Wenn dies nicht funktioniert, starten Sie das Programm an gleicher Stelle mit dem Link „Debug“, um das Debug-Logfile anzuzeigen. Das Logfile nennt die Probleme deutlich beim Namen– etwa „Library XYZ.DLL not found…“. Allgemeine Windows-Komponenten wie DirectX und .Net lassen sich über den Link „Konfigurieren“ unter der Registerkarte „Installiere Komponenten“ genau für dieses Programm nachrüsten. Wenn aber – wie im obigen Beispiel – ganz spezielle, fehlende DLL-Dateien genannt werden, hilft nur eines: Kopieren Sie die fehlenden Dateien von einer parallelen Windows-Installation manuell nach Linux. Zielordner ist dann entweder ~/.PlayOnLinux/wineprefix/[Prefix-Name]/drive_c/windows/system32 oder direkt das Programmverzeichnis ~/.PlayOnLinux/wineprefix/[Prefix-Name]/drive_c/Program Files/[Programm].
Wenn Sie die DLL-Dateien unter System32 ablegen, starten Sie dann in PlayOnLinux über „Konfigurieren -> Wine -> Wine konfigurieren“ das Tool winecfg, um dort unter „Bibliotheken -> Neue Überschreibung für“ die gewünschte Bibliothek auszuwählen. Mit „Festlegen“ erstellen Sie eine neue Regel, die Sie mit „Bearbeiten“ ändern. Mit der Einstellung „Native“ nutzt Wine dann die manuell kopierte, originale Windows-DLL im virtuellen System32-Ordner statt der eingebauten Wine-Bibliothek (Builtin).
Was für fehlende Komponenten gilt, gilt ähnlich auch für fehlende Informationen in der Windows-Registry. Diese liegt in Form der beiden Dateien system.reg und user.reg im Basisverzeichnis des jeweiligen Wine-Prefix – also unter ~/.PlayOnLinux/wineprefix/[Prefix-Name]. Theoretisch können Sie diese Dateien manuell bearbeiten, was für eine Handvoll Zeilen sicher noch praktikabel ist. Es gibt aber einen wesentlich komfortableren Weg: Auch hier benötigen Sie wieder ein Windows-Referenz-System, auf dem die betreffende Software fehlerlos läuft. Dort nutzen Sie den Registry-Editor Regedit und suchen den Hauptschlüssel der Software auf – typischer Weise [Hkey_Current_User\Software\[Programmname]. Nach Rechtsklick und „Exportieren“ wählen Sie als Ausgabeformat „Win9x-/NT-Registrierungsdateien“ und einen sprechenden Dateinamen.
Diese Exportdatei lässt sich dann bequem in die Registry auf dem Linux-System importieren. Dazu markieren Sie im Hauptdialog von PlayOnLinux das maßgebliche Programm und klicken dann in der rechten Spalte auf den Link „Konfigurieren“, dann auf die Registerkarte „Wine“. Hier finden Sie die Schaltfläche „Registrierungseditor“. Der entspricht exakt jenem unter Windows, und mit „Registry -> Registry importieren“ holen Sie die vorher erstellte Reg-Datei in die Registry Ihres Wine-Prefixes.
Dateizuordnungen festlegen
Wie der Hauptdialog von PlayOnLinux unter „Einstellungen -> Dateizuordnungen“ verspricht, lassen sich Dateitypen anhand ihrer Extension mit einem Wine-Windows-Programm verknüpfen. Ziel ist es, mit einem Doppelklick im Linux-Dateimanager direkt die passende Windows-Software zu laden.
Legen Sie unter „Dateizuordnungen“ mit der Schaltfläche „Neu“ einen neuen Eintrag an. Ein Beispiel wäre etwa die Extension „.xlsx“, falls Sie diese mit Microsoft Excel verknüpfen wollen. Danach klappen Sie neben „Zugewiesenes Programm“ die Drop-Down-Liste der möglichen Wine-Programme auf, wählen das gewünschte Excel und klicken auf „Anwenden“. Damit haben Sie PlayOnLinux darüber informiert, dass es für die Extension „.xlsx“ eine Standardanwendung gibt, der Linux-Dateimanager weiß davon allerdings noch nichts.
Wie der Dateimanager am besten zu informieren ist, darüber finden Sie im Web einige halbrichtige Anleitungen. Nach unserer Erfahrung (mit Nautilus unter Ubuntu und Nemo unter Mint) ist der sicherste Weg folgender: Sie gehen im Terminal mit cd zu einem Verzeichnis, das eine Datei mit der gewünschten Extension enthält. Dort geben Sie nach mimeopen –d den Dateinamen an:
mimeopen –d [Dateiname.ext]
Geben Sie dann die Ziffer ein, die vor „Other“ steht. Damit weisen Sie dem Dateityp unabhängig von bisherigen Vorgaben ein neues Standardprogramm zu. Neben „use command:“ geben Sie jetzt einfach den Befehl „playonlinux“ ein. Damit gibt der Dateimanager die Verantwortung für diesen Typ an PlayOnLinux weiter und dieses weiß wiederum aufgrund der vorher getätigten Dateizuordnung, was es starten soll.
Im letzten Schritt klicken Sie jetzt im Dateimanager eine beliebige Datei dieses Typs rechts an und wählen „Eigenschaften -> Öffnen mit“. Dort sollte jetzt unter anderem auch der Eintrag „playonlinux“ auftauchen, den Sie mit Klick auf die gleichnamige Schaltfläche „Als Vorgabe festlegen“.
Windows 7/8/10 sind stabile Systeme. Trotzdem ist es beruhigend zu wissen, dass es bei Pannen ein ganzes Arsenal an Reparaturfunktionen gibt. Ein stotterndes Windows ist noch lange nicht tot, Ihre Benutzerdaten schon gar nicht.
Es ist erfreulich, dass die Systemkatastrophen seltener werden. Andererseits führt das dazu, dass Windows-Nutzern die Pannen-Kompetenz abhanden geht. Da wird dann schon bei harmlosen Problemen schnell formatiert und neu installiert. Falsch: Lesen Sie hier, welche weitreichenden Reparaturen Windows und das Windows-Zweitsystem beherrschen (WinRE: Windows Recovery Environment).
1. Datenrettung mit „Vorgängerversionen“ in Windows 7
Alle Windows-7-Editionen besitzen eine stille Backup-Funktion von Benutzerdateien, die Microsoft in Windows 8 wieder abgeschafft hat. Die Funktion arbeitet so dezent im Hintergrund, dass viele Windows-Benutzer sie offenbar schlicht übersehen oder vergessen. Deshalb hat Microsoft diese „Vorgängerversionen“ unter Windows 8 durch die aktivere Komponente „Dateiversionsverlauf“ ersetzt. Die ist zwar voll in Ordnung, aber die Lösung unter Windows 7 ist mindestens ebenbürtig.
Benutzerdateien wiederherstellen: Mit den „Vorgängerversionen“ können Sie verlorene Benutzerdateien (Text, Musik, Bilder) wiederherstellen oder defekte durch ältere, bessere Dateiversionen ersetzen. Das Zurückschreiben funktioniert nach einem Rechtsklick auf Ordner und Dateien mit der Option „Vorgängerversionen wiederherstellen“. Wenn Sie diese anklicken, erhalten Sie ein Fenster, das die verfügbaren Kopien mit Datumsangabe auflistet. Nachdem Sie eine Version markiert haben, können Sie diese Vorgängerversion im Explorer anzeigen („Öffnen“), an einen Ort Ihrer Wahl speichern („Kopieren“) oder an den ursprünglichen Ort zurückspeichern („Wiederherstellen“).
Komplett gelöschte Dateien oder Ordner können Sie natürlich nicht rechts anklicken. Hier wählen Sie „Vorgängerversionen wiederherstellen“ für den übergeordneten Ordner, klicken bei der gewünschten Version auf „Öffnen“ und ziehen nun Datei oder Ordner aus dem Explorer-Fenster an ein Ziel Ihrer Wahl.
Die Funktion berücksichtigt nur Änderungen: Gibt es keine älteren Versionen, dann wurde die Datei offenbar nie geändert. Bei jeder Datei, die Sie mindestens einmal geändert haben und die mindestens einen Wiederherstellungspunkt erlebt hat (sich also länger als einen Tag auf der Festplatte befindet), finden Sie eine oder mehrere ältere Versionen.
Einstellungen prüfen: Der Umfang der gesicherten Daten richtet sich nach den Werten, die unter „Computerschutz“ für die Partitionen eingestellt sind. Welche Laufwerke diesen Schutz erhalten sollen und in welchem Umfang (Plattenplatz), können Sie unter „Systemsteuerung –> System –> Computerschutz “ selbst bestimmen.
Sollte dort der Schutz für ein Laufwerk ausgeschaltet sein („Aus“), auf dem wichtige Benutzerdateien liegen, markieren Sie es in der Liste und klicken auf „Konfigurieren“. Im folgenden Fenster wählen Sie die Option „Systemeinstellungen und vorherige Dateiversionen wiederherstellen“. Darunter können Sie mit dem Schieberegler einstellen, wie viel Speicherplatz dadurch maximal belegt werden darf. Sicherheitsbewusste können bis zu 20 Prozent investieren. Ist der erteilte Platz nach einiger Zeit belegt, werden automatisch die ältesten Sicherungen gelöscht.
2. Systemreparatur im laufenden System
Bei Software- oder Systemfehlern, die Windows nicht am
ordnungsgemäßen Start hindern, verwenden Sie die eingebaute
Systemwiederherstellung. Sie finden diese wichtige Funktion unter
„Systemsteuerung –> System –> Computerschutz –>
Systemwiederherstellung“. Windows bietet hier von sich aus den letzten
Wiederherstellungspunkt an, Sie können sich aber auch ältere anzeigen
lassen. Mit Markieren des Eintrags und „Weiter“ setzen Sie das System
auf diesen früheren Zustand und beseitigen damit akute Probleme, die Sie
sich durch eigene Konfigurationsfehler oder eine
Software-/Treiber-Installation eingehandelt haben. Die Maßnahme
berücksichtigt Systemordner, den Programme-Ordner sowie die Registry und
ist eine zuverlässige Methode, um akute Fehler zu beseitigen.
Tipp: Stellen Sie unter „Computerschutz“ unbedingt sicher,
dass der Schutz mindestens auf der Systempartition aktiv ist – also
„Ein“ anzeigt. Sie verbessern die Systemsicherheit zusätzlich, wenn Sie
vor systemrelevanten Aktionen manuell einen Wiederherstellungspunkt
anlegen. Dies geschieht unter „Systemsteuerung –> System –>
Computerschutz“ mit der Schaltfläche „Erstellen“.
Hintergrund zum Computerschutz: Einmal täglich und wenn
Updates und Installationen dies fordern, macht Windows einen Snapshot
geänderter Systemdateien. Windows 7 berücksichtigt dabei auch
Benutzerdateien (siehe Punkt 1) Um den Platzbedarf zu minimieren,
speichert Windows in diesen Snapshots nur die geänderten Blöcke von
Dateien und Ordnern, die sich seit dem letzten
Systemwiederherstellungspunkt ergeben haben. Speicherort ist der
versteckte und selbst mit Admin-Rechten unzugängliche Ordner „System
Volume Information“ auf jeder Partition.
3. Erweiterte Startoptionen nach F8
Wenn Windows 7 oder 8 nicht mehr startet, nutzen Sie den
„Abgesicherten Modus“ oder „Computer reparieren“
(Standard-Notfallsystem). Nach den Bios-Routinen kommen Sie beim
Systemstart mit Taste F8 an den Bildschirm „Erweiterte Startoptionen“
mit einem textbasierten Menü, wo Sie mit Cursor-Taste die gewünschte
Option auswählen.
F8 drücken? Das ist leichter gesagt als getan: Wenn auf Ihrem PC nur
ein Windows-System vorhanden ist und folglich kein
Bootmanager-Auswahlmenü erscheint, ist es schwierig, den richtigen
Moment für F8 abzupassen: Während der Bios-Initialisierungen ist es zu
früh, sobald der Windows-Kernel lädt, zu spät. Drücken Sie daher gleich
nach dem Einschalten des PC mehrfach F8.
Tipp: Wenn Sie einen um zwei Sekunden verlängerten Systemstart
akzeptieren können, hilft ein Trick. Sie erzeugen auf der Kommandozeile
mit Admin-Rechten und den Befehlen
einen zweiten Eintrag im Bootmanager. Somit bleiben immer vier
Sekunden, um mit [F8] die „Erweiterten Startoptionen“ zu aktivieren.
4. Immer erst den „Abgesicherten Modus“ versuchen
Mit dem „Abgesicherten Modus“ starten Sie immer noch das
Windows-Hauptsystem, allerdings mit wenigen Standardtreibern und ohne
Software-Autostarts. Äußerlich erkennen Sie ein abgesichertes Windows
sofort an der ungewohnten Bildschirmauflösung. Der Modus ist das ideale
Instrument, um Treiber- und Software-Probleme zu beheben, also durch
De-Installation wieder vom System zu schaffen. Wenn Sie sich unschlüssig
sind, welche Komponenten im Geräte-Manager (Hardware-Treiber) oder
unter Systemsteuerung –> Programme und Features“ (Software) zu
entfernen sind, können Sie im „Abgesicherten Modus“ die
Systemwiederherstellung starten und darauf vertrauen, dass diese einen
jüngst installierten Störenfried zuverlässig beseitigt.
5. „Computer reparieren“: Zweitsystem WinPE
Auf jeder Windows-Setup-DVD, aber auch auf der Festplatte unter
\Recovery befindet sich das Zweitsystem „Windows Recovery Environment“
(WinRE), das ein kaputtes Windows von außen reparieren kann. WinRE
basiert auf dem Minisystem Windows PE („Windows Preinstallation
Environment“). Um die Begrifflichkeit zu vereinfachen, sprechen wir
generell von WinPE.
Sie starten WinPE, indem Sie nach [F8] unter “Erweiterte
Startoptionen“ den Eintrag „Computer reparieren“ wählen. Damit lädt
WinPE und zeigt Reparaturoptionen. Die Darstellung unterscheidet sich
zwischen Windows 7 und 8 erheblich, funktional sind sich die beiden
Zweitsysteme aber sehr ähnlich.
Startumgebung reparieren: Die „Systemstartreparatur“ in WinPE
von Windows 7 durchsucht die Festplatten nach Windows-Installationen und
erneuert dann die Startumgebung entsprechend. Diese Möglichkeit sollten
Sie ausprobieren, wenn das BIOS nach dem Start kein Betriebssystem
findet.
Im verschachtelten WinPE von Windows 8 finden Sie diese
Systemstartreparatur unter „Problembehandlung –> Erweiterte Optionen
–> Automatische Reparatur“.
Wiederherstellungspunkt zurückschreiben: Der nächste
Punkt in WinPE von Windows 7 lautet „Systemwiederherstellung“. Hier
können Sie vom Zweitsystem aus das defekte Hauptsystem auf einen älteren
Zustand zurücksetzen. Das funktioniert genauso wie bei
Systemwiederherstellung im laufenden Hauptsystem, indem Sie den jüngsten
Wiederherstellungspunkt oder einen anderen auswählen und auf „Weiter
–> Ja“ klicken.
Im WinPE von Windows 8 finden Sie den Punkt unter „Problembehandlung –> Erweiterte Optionen –> System wiederherstellen“.
Gesamtsicherung zurückschreiben: Mit der
„Systemabbild-Wiederherstellung“ in WinPE von Windows 7 können Sie ein
defektes System durch ein früher gesichertes Systemabbild ersetzen. Das
setzt voraus, dass Sie über „Systemsteuerung –> Sichern und
Wiederherstellen“ (Windows 7) oder „Systemsteuerung –> Windows
7-Dateiwiederherstellung“ (Windows 8) in jüngerer Vergangenheit die
Sicherungsfunktion „Systemabbild erstellen“ ausgeführt haben.
Im WinPE von Windows 8 finden Sie den Punkt unter „Problembehandlung
–> Erweiterte Optionen –> Systemimage-Wiederherstellung“.
Eingabeaufforderung: Dieser Punkt ist in vielen Fällen der
wichtigste. WinPE hat zwar keinen grafischen Dateimanager, aber mit der
Eingabeaufforderung kommen Sie an alle Ordner und Daten und können Sie
mit „Copy“, „Xcopy“ oder „Robocopy“ auf ein anderes Laufwerk
transportieren. Außerdem starten Sie über den Prompt beliebige externe
Hilfsmittel wie etwa einen Total Commander oder 7-Zip-Packer. Beachten
Sie dabei aber die Einschränkungen von 64-Bit-Zweitsystemen (siehe
unten, Anmerkung 1).
Im WinPE von Windows 8 finden Sie den Punkt unter „Problembehandlung –> Erweiterte Optionen –> Eingabeaufforderung“.
6. Einen „Systemreparaturdatenträger“ erstellen
WinPE lässt sich problemlos auf externe Datenträger kopieren. Das ist
ratsam, weil nicht nur Windows, sondern auch das auf Festplatte
vorinstallierte WinPE defekt sein kann. Außerdem können Sie dieses
mobile Minisystem bequem um zusätzliche Tools erweitern.
In Windows 7 finden Sie in der Systemsteuerung den Punkt „Sichern und
Wiederherstellen“ und dort „Systemreparaturdatenträger erstellen“.
Unter Windows 8 erscheint diese Option unter „Wiederherstellung –>
Wiederherstellungslaufwerk erstellen“. Hier in Windows 8 ist es dann
auch vorgesehen, als Medium CD, DVD oder ein USB-Laufwerk anzusteuern.
Workaround für Windows 7: Das ältere Windows 7 bietet
für den Systemreparaturdatenträger nur CD und DVD an. Um das Zweitsystem
wie unter Windows 8 auf einem beschreibbaren USB-Stick unterzubringen,
sind einige Zwischenschritte nötig:
1. Sie kopieren WinPE zunächst wie vorgesehen mit dem Systemsteuerungs-Applet auf eine CD.
2. Sie verwenden in Imgburn die Option „Imagedatei von Disc erstellen“, um WinPE nun wieder in ein ISO-Image auf die Festplatte zurückzuholen.
4. Nun bearbeiten Sie mit „diskpart“ den eingelegten USB-Stick: Mit
„list disk“ erfahren Sie die Kennnummer des Sticks, den Sie dann mit
select disk [Nummer des USB-Sticks]
auswählen und mit „clean“ komplett säubern. Achten Sie dabei
unbedingt darauf, das richtige Laufwerk anzusprechen! Dann richten Sie
mit „create partition primary“, wählen diese mit „select partition 1“
und machen Sie mit „active” boot-fähig. Mit
format fs=fat32 assign
formatieren Sie mit FAT32 und vergeben einen Laufwerkbuchstaben.
5. Nun kopieren Sie den Inhalt des ISO-Images – nicht die ISO-Datei! –
auf den bootfähigen Stick, den Sie um beliebige Tools erweitern können.
Achten Sie dabei auf die passende Architektur – 32 Bit oder 64 Bit.
7. Für Bastler: DISM erweitert das Notfallsystem
Das „Deployment Image Servicing and Management Tool“ Dism.exe gehört
unter Windows 7 und 8 zum Standardinventar. Dieses Tool lädt den Inhalt
von WIM-Dateien (Windows Images) in ein beliebiges Verzeichnis und
schreibt Änderungen danach wieder in das Windows-Image zurück. Es ist
das Standardwerkzeug für angepasste OEM- Setups von Windows 7 oder
Windows 8 sowie für angepasste Notfallsysteme (WinPE).
Und damit sind wir beim Thema: WinPE-Systeme befinden sich immer in
einer einzigen Datei: \Sources\Boot.wim auf externen
Reparaturdatenträgern, \Recovery\[…]\Winre.wim auf der Festplatte. Daher
ist es nicht ohne Umweg möglich, das WinPE zu verändern oder zu
erweitern. Dism kann das: Es muss auf einer mit Administratorrechten
gestarteten Cmd.exe genutzt werden. Mit
Der Befehl lädt das erste Image (“Index:1″) aus der WIM-Datei (unter
G:\Sources) in das Zielverzeichnis C:\wim. Das Zielverzeichnis muss
existieren und leer sein. „Index“ muss immer angegeben werden, obwohl
die WIM-Dateien von Windows PE nur ein System beinhalten (anders als die
Install.wim beim Setup). Der Vorgang kann dann je nach Quell-Laufwerk
einige Zeit dauern, danach steht der Inhalt des Images im Verzeichnis
C:\wim zur Bearbeitung bereit. Sie können sowohl den „Programme“-Ordner,
noch besser „System32“ mit weiteren Tools bestücken. Achten Sie auch
hier wieder auf die passende Architektur der Software– 32 Bit oder 64
Bit. Nützliche Kandidaten sind der Total Commander, ein Hex-Editor,
einen Bildviewer oder ein Undelete-Werkzeug wie Recuva.
Nach den gewünschten Änderungen schreibt der folgende Befehl das
komplette geänderte Image in die WIM-Datei zurück. Entscheidend ist der
Schalter „/commit“:
dism /Unmount-Wim /Mountdir:C:\wim /commit
Dieser Befehl kann natürlich nur auf beschreibbaren Medien funktionieren.
———————————————————— Anmerkung 1: Windows PE mit 32 Bit und 64 Bit
Beim Einsatz und beim manuellen Ausbau eines Windows-PE-Zweitsystems
müssen Sie eine Eigenheit des Minisystems einkalkulieren: Anders als ein
„großes“ 64-Bit-Windows bringt das 64-Bit-Notfallsystem kein Subsystem
für 32-Bit-Software mit. Das heißt, dass Sie hier ausschließlich
64-Bit-Software starten sowie erfolgreich integrieren können. Wenn Sie
32-Bit-Software aufrufen, erhalten Sie eine Fehlermeldung, die klarste
noch auf der Kommandozeile: „Das zum Unterstützen des Abbildtyps
erforderliche Subsystem ist nicht vorhanden“.
Das vorinstallierte Notfallsystem auf der Festplatte hat immer
dieselbe Architektur wie das Hauptsystem (siehe Basisinformationen nach
[Win Pause]). Halten Sie daher eventuelle zusätzliche Tools wie den
Total Commander immer in der richtigen Variante bereit.
Anmerkung 2: Registry mit Zweitsystem reparieren
Das Zweitsystem hat das Standardwerkzeug Regedit.exe an Bord, das beim
Start zunächst die eigene Registry, also die des Zweitsystems anzeigt.
Regedit kann aber auch auf die Registry des Hauptsystems zugreifen und
diese bearbeiten. Dazu markieren Sie den Hauptschlüssel
„Hkey_Local_Machine“ mit der Maus und wählen „Datei, Struktur laden“. Im
daraufhin erscheinenden Dialog können Sie eine Registry-Datei vom
Hauptsystem laden. Die Registry-Dateien befinden sich auf der
Windows-Partition des Hauptsystems unter „\Windows\System32\config“.
Hauptkandidat für Reparaturen bei ernsthaften Bootproblemen ist die
Datei „SYSTEM“. Wenn Sie eine Registry-Datei in der beschriebenen Weise
über „Struktur laden“ einlesen, fragt Sie Regedit nach einem Namen.
Geben Sie etwa „ZZZ“, dann finden die importierte Datei unter
„Hkey_Local_Machine\ZZZ“. Unter „ZZZ“ erscheint dann der importierte
Registry-Teil des Hauptsystems mit allen Unterschlüsseln. Diese können
Sie wie gewohnt bearbeiten. Wenn Sie anschließend „Datei, Struktur
entfernen“ wählen, werden die Reparaturen in die defekte Datei des
Hauptsystems zurückgeschrieben.
Diese Methode der Registry-Reparatur ist nur sinnvoll, wenn Sie von
vornherein exakt wissen, wo der Fehler liegt, und ferner wissen, dass es
sich um ein punktuelles Problem handelt, das mit einem manuellen
Eingriff zu beseitigen ist. In der Regel trifft das nur für fehlerhafte
Einträge unter „Hkey_Local_Machine\System\MountedDevices“ oder unter
„Hkey_Local_Machine\System\CurrentControlSet“ zu.
Mit Adminrechten Diskpart starten – dort beispielweise die folgenden Befehle eingeben. Beispielsweise heisst, dass die Disk- und Partitionsnummer unbedingt den tatsächlichen Verhältnissen entsprechen muss. Das ist mit list disk und list partition vorher eindeutig zu klären:
select disk 1 select partition 1 delete partition 1 create partition primary format fs=ntfs quick active exit
imagex.exe /apply d:sourceinstall.wim 1 f: Die Install.wim muss von dem gemounteten Image der Windows-8-ISO stammen. F: ist das Root-Verzeichnis des USB-Sticks…
Erstmals lieferte Windows 8 mit Hyper-V eine Virtualisierungssoftware gleich mit – eine exzellente Systembeilage. Hyper-V gibt es allerdings nur in der Windows-8-Professional-Edition. Die Software erlaubt das Anlegen, Ändern und Starten virtueller Gastsysteme unter Windows 8. Dabei bevorzugt Hyper-V Windows-Gastsysteme, unterstützt aber auch namhafte Linux-Distributionen.
Voraussetzungen und Installation
Hyper-V erfordert die 64-Bit-Variante von Windows-8 Pro, weil es
AMD/Intel-Virtualisierungsfunktionen für x64-Prozessoren nutzt. Wenn Sie
Windows 8 auf einem älteren 64-Bit-Rechner installiert haben, können
Sie mit „systeminfo“ vorab prüfen, ob die CPU den Anforderungen
entspricht: Am Schluss der Anzeige sollten Sie neben „Anforderungen für
Hyper-V“ viermal ein „Ja“ sehen. Der PC sollte außerdem mit mindestens
vier GB RAM bestückt sein – mehr ist besser.
Hyper-V ist standardmäßig abgeschaltet und muss über „Systemsteuerung
–> Programme und Features –> Windows-Features aktivieren oder
deaktivieren“ erst mal nachinstalliert werden. Klicken Sie in dieser
Liste auf „Hyper-V“, und bestätigen Sie mit „OK“. Nach dem nächsten
Windows-Start finden Sie den „Hyper-V-Manager“ am Startbildschirm. Es
handelt sich dabei um die Management-Konsole Virtmgmt.msc, die
allerdings nur Bedienung und Oberfläche bereitstellt und auf neu
installierten Diensten basiert.
Virtuellen Netzwerk-Adapter einrichten
Bevor Sie virtuelle Computer starten oder installieren, sollten Sie
mindestens einen virtuellen Switch anlegen – also eine virtuelle
Netzwerkschnittstelle für die Gastsysteme. Der betreffende Punkt findet
sich rechts unter „Aktionen“ und nennt sich „Manager für virtuelle
Switches“. Wählen Sie unter „Neuer virtueller Switch“ die Voreinstellung
„Externes Netzwerk“: Diese offenste Variante ist notwendig, wenn die
Gastsysteme eine Verbindung nach außen herstellen, also etwa auch ins
Internet gehen sollen.-
Ein virtuelles System konfigurieren
Markieren Sie in der linken Spalte unter „Hyper-V-Manager“ den Namen des
aktuellen Rechners. Nun erstellen Sie rechts in der Spalte „Aktionen“
erstellen mit „Neu –> Virtueller Computer“ ein neues virtuelles
System. Dabei hilft Ihnen einen Schritt-für-Schritt-Assistent. Sie
können aber alle hier getroffenen Einstellungen später noch korrigieren:
Unter „Name und Pfad eingeben“ genügt ein sprechender Name – etwa „Ubuntu 12.10“.
Unter „Speicher zuweisen“ geben Sie eine angemessene RAM-Kapazität an, etwa 2 GB für aktuelle Windows-Systeme.
Unter „Netzwerk konfigurieren“ korrigieren Sie die Vorgabe „Nicht verbunden“ auf den vorher eingerichteten virtuellen Switch.
Unter „Virtuelle Festplatte verbinden“ gibt es eine Anzahl von Optionen.
Wir beschreiben hier den insbesondere bei der Erstbenutzung von Hyper-V
wahrscheinlichsten Fall: Da noch keine virtuelle Festplatte (Virtual
Hard Disk mit der Erweiterung VHD) für Hyper-V vorhanden ist, werden Sie
in diesem Dialog die erste Option verwenden wollen – „Virtuelle
Festplatte erstellen“. Alle Angaben zu Name, Pfad und Größe können Sie
unverändert übernehmen.
Klicken Sie dann auf den Unterpunkt „Installationsoptionen“, und
aktivieren Sie dort die Option „Betriebssystem von startfähiger
CD/DVD-ROM installieren“. Hier gibt es eine weitere Fallunterscheidung,
je nachdem, ob das zu installierende System von einer echten DVD
installiert wird oder von einem ISO-Image. Letzteres ist inzwischen
sowohl bei Windows-Installationen wie bei Linux-Systemen deutlich
verbreiteter. Geben Sie, sofern die Installation von ISO erfolgt, den
kompletten Pfadnamen des ISO-Images an. Die Schaltfläche „Durchsuchen“
vereinfacht Ihnen die Eingabe.
Das war dann auch schon der letzte und komplizierteste Schritt: Sie
können die Konfiguration des virtuellen Systems jetzt mit „Fertig
stellen“ abschließen. Eventuelles Feintuning der virtuellen Systeme ist
jederzeit nach Rechtsklick über die „Einstellungen“ möglich.
Virtuelle Systeme starten und nutzen
Um das konfigurierte System zu starten und gegebenenfalls zu
installieren, klicken Sie unter „Virtuelle Computer“ mit rechter
Maustaste auf das System und wählen erst „Verbinden“ und nach erneutem
Rechtsklick die Option „Starten“. Schon kann’s losgehen – das Gastsystem
startet in einem Fenster am Windows-8-Desktop. In diesem Fenster
bedienen oder installieren Sie es wie gewohnt und können es mit seiner
eigenen Oberfläche auch wieder beenden.
Zum Steuern von außen hilft das Hyper-V-Fenstermenü „Aktion“: Hier
finden Sie neben „Ausschalten“, „Herunterfahren“ und „Neu starten“ auch
noch „Anhalten“ und „Snaphot“. Beim „Anhalten“ werden dem Gastsystem
sämtliche CPU-Ressourcen entzogen – sie friert im aktuellen Zustand ein
und gibt dadurch dem Windows-8-Hostsystems die volle Rechenpower. Der
Speicherinhalt des Gastsystems bleibt aber erhalten, und das virtuelle
System läuft nach dem „Fortsetzen“ sofort weiter.
Die Aktion „Snaphot“ ist das Mittel der Wahl, um ohne Risiko Experimente
mit Software oder Konfigurationsänderungen anzustellen. Sollte das
Experiment schiefgehen, kehren Sie mit „Zurücksetzen“ auf den zuletzt
gespeicherten Snapshot zurück.
Secure Boot ist eine Funktion neuerer UEFI-Firmware, die nur
zertifizierte Bootloader akzeptiert und damit vor Rootkits schützen
kann. Kehrseite der Medaille: Auch nicht zertifizierte Linux-Systeme
haben aktuell ihre liebe Not, sich an dieser Funktion vorbei zu booten.
Neben ersten, noch nicht voll überzeugenden Lösungsansätzen steht die
simple Maßnahme, „Secure Boot“ im UEFI-Setup einfach abzuschalten, bevor
man ein alternatives System starten möchte. Nicht ganz komfortabel,
aber immerhin machbar.
Secure Boot ist auf neueren PCs mit vorinstalliertem Windows 8
Standard. Der Status dieser Schutzfunktion lässt sich über die Registry
abfragen:
lädt Win32-Subsysteme Win32k.sys (Kernel-Mode) und Csrss.exe (User-Mode)
SMSS
lädt Wininit.exe und Winlogon.exe
Winlogon
lädt Userinit.exe und Lsass.exe (Authentifizierungsdienst)
Userinit
lädt User-Shell Explorer und zeigt den Logon-Dialog
Der Startvorgang von der BIOS-/UEFI-Firmware bis zum
Windows-Anmeldebildschirm ist wesentlich komplexer als die oben
abgebildete Liste das skizziert. Die wesentlichen Stationen sind aber
genannt: Das minimale Ladeprogramm des Bootsektors findet und lädt am
primären Bootlaufwerk die Bootmgr.exe. Damit übernimmt Windows das Kommando über den Rechner und schaltet ihn in den Protected Mode. Im BDC-Speicher
findet Bootmgr, ob das einzige vorhandene oder das vom Benutzer
ausgewählte Windows zuletzt „Heruntergefahren“ oder in der „Ruhezustand“
versetzt wurde. Im ersten Fall zeigt der BCD-Eintrag die Winload.exe,
andernfalls die Winresume.exe. Winresume kann die Initialisierungsvorgänge allesamt
überspringen, insofern es den Zustand der letzten Windows-Sitzung aus
der Ruhezustandsdatei Hiberfil.sys übernimmt und in den Speicher
schreibt. Winresume stellt auch die User-Session (mit Desktop-Zustand,
Programmen, User-Registry) wieder her. Winload muss den Systemzweig der Registry einlesen, um
zu wissen, welche Treiber und Dienste es starten soll. Außerdem lädt es
den Hardware Abstraction Layer – die Vermittlungsschicht zwischen der
physischen Hardware und der System- und Anwendungssoftware, die nur über
die HAL-Abstraktionsschicht auf Hardware zugreifen darf.
Danach lädt Winload die Ntoskrnl.exe, deren
Hauptaufgabe im Initialisieren der wichtigsten Systemkomponenten
besteht: Kernel, Speichermanagement, Prozessmanagement, Sitzungsmanager,
Input/Out-System. Der Session-Manager Smss.exe lädt
wiederum die Ring-0-Sitzung für den privilegierten Kernelmode
(Win32k.sys) und den User-Mode für die Benutzersitzungen (Csrss.exe).
Dann geht’s über die Wininit.exe, Winlogon.exe schließlich zur
Userinit.exe, welche die Windows-Shell (Explorer) startet und den
Anmeldebildschirm präsentiert.