Monthly Archives: February 2006

Neues Spielzeug: QEMU und IE 7

Da es mich immer mehr nervte, für Arbeiten unter Windows mein Debian-System herunter- und Windows hochfahren zu müssen, habe ich mich nun endlich einmal durchgerungen, mich mit QEMU zu befassen.

QEMU ist ein vollwertiger System-Emulator, mit dessen Hilfe man beliebige Systeme in virtuellen Maschinen unter GNU/Linux, Windows und Mac OS X laufen lassen kann. Doch im Gegensatz zum bekannteren VMWare ist QEMU freie Software, das heißt, dass man sich die Quellen herunter laden, sie studieren und auch – die entsprechenden Programmierkenntnisse voraus gesetzt – modifizieren um sich angepasste Versionen zu erstellen.

Die Installation verlief unter meinem Debian-System gewohnt einfach. Ein einfaches apt-get install qemu genügte, um den Emulator sofort betriebsbereit installieren und einrichten zu lassen. Als nächstes musste ein Festplatten-Image für mein künftiges Windows-Gastsystem her, was wiederum mit qemu-img create winxpsp2.img 2G schnell erledigt war; damit hatte ich nun binnen weniger Augenblicke ein unformatiertes, 2 Gigabyte großes Festplatten-Image erstellt. Die Einbindung meiner physisch vorhandenen Laufwerke stellte sich zuerst als schwierig heraus, doch nach dem ich das QEMU-Tutorial im Ubuntuusers Wiki gelesen hatte, war auch dies kein Problem mehr. Ein noch viel ausführlicheres Tutorial findet sich in Form dieses Threads zu QEMU bei linuxforen.de; dort werden so gut wie alle aufkommenden Fragen beantwortet.

Als Nächstes folgte nun die Installation des Windows-Gastsystemes. Hierfür habe ich – wie bei meinem tatsächlichen Windows-System auch – ein angepasstes Setup verwendet, welches ich vor längerer Zeit per nLite erstellt hatte. Damit lässt sich das zu installierende System bereits vor der Installation an die eigenen Bedürfnisse anpassen; die Einstellmöglichkeiten sind umfangreich. Ohne Probleme konnte die Installation abgeschlossen werden und es folgte der große Moment: Windows startete.

Nach einigen kleineren nachträglichen Anpassungen hatte ich nun also ein vollständiges Windows-System, welches – natürlich nicht so schnell wie mein tatsächliches Windows-System – als Gastsystem unter Debian lief. Wirklich bemerkenswert einfach verlief die Einrichtung der Netzwerkverbindung, welche es dem Gastsystem ermöglichen sollte, auf das Internet zuzugreifen; mit einem einfachen -net nic -net user war dies im Handumdrehen erledigt.

Fortan startete ich dieses Gastsystem nur noch mit der Option -snapshot, welche QEMU veranlasst, jegliche Änderungen am (Datei-)System des Festplatten-Images lediglich temporär durchzuführen. Sofern man nicht im QEMU-Monitor (welche per Strg + Alt + 2 erreichbar ist) den Befehl commit ausführt, werden alle Veränderungen beim Beenden des Gastsystemes verworfen.

Der eigentliche Anlass dieses Vorhabens war jedoch hauptsächlich eines: die Installation der derzeitigen Beta 2 Preview des Internet Explorer 7. Nach dem der Eindruck der ersten Beta-Version für viele eher nüchtern war, versprach diese Version nun erstmalig auch wirkliche Ver(schlimm)besserungen unter der Haube. Viele Rendering-Bugs sollten behoben und einige neue Features hinzugefügt worden sein.

Um den IE 6 weiterhin parallel nutzen zu können, verließ ich mich nicht auf die Installation, sondern kopierte den Inhalt aus dem im Stammverzeichnis temporär entpackten Setup-Archiv in ein anderes Verzeichnis und brach das Setup ab. Ein wenig später erfuhr ich, dass man aber ebenso einfach das Setup mit einem Archivprogramm öffnen kann, um an dessen Inhalte zu gelangen.

Abschließend benannte ich nur noch die shlwapi.dll um und erstellte die aus den Standalone-Paketen des IE bekannte leere iexplore.exe.local-Datei; damit konnte ich den IE 7 nun starten. Eine alternative Methode besteht unter Nutzung des IE7 Standalone Launch Script. Ich ließ mich nicht von der veränderten, Windows Vista-inspirierten Oberfläche beirren sondern rief einige erste Seiten auf, um die tatsächlichen Verbesserungen heraus zu finden.

Mein bisheriger Eindruck bestätigt meine Erwartungen: der IE hat offenbar einiges dazu gelernt (alphatransparente PNGs werden nun offenbar korrekt unterstützt, die Pseudoklasse :hover wird nun auch bei nicht-Links interpretiert), aber vieles fehlt noch. So fehlt merkwürdigerweise die Unterstützung für einige andere der Pseudoklassen, die min-* und max-*-Eigenschaften sind noch immer nicht implementiert, obwohl sie wirklich nötig wären. Die Interpretation von fehlerhaftem Code wurde dagegen offenbar minimiert, was darin resultiert, dass nun diverse Hacks nicht mehr funktionieren.

Fazit: Allzu viel hatte ich nicht erwartet und dementsprechend bin ich von den neuen Rendering-Fähigkeiten auch nicht allzu enttäuscht. Ein wirkliches Urteil werde ich mir wohl frühestens bei Erscheinen der Beta 2 bilden. Bis dahin hat das Entwicklerteam des IE noch einiges zu tun und ich hoffe, dass so viel wie möglich ausgebessert wird. Zudem sollte der IE nun beständig weiter entwickelt werden, sofern Microsoft noch etwas am Marktanteil des IE liegt. Die Alternativen sind vielfältig und schon seit längerer Zeit dem IE in vielen Bereichen voraus.

Immerhin hat mir das ganze ein „Sandbox“-System beschert, mit dem ich nun nach Belieben experimentieren kann, ohne mein tatsächliches Windows-System zu gefährden.