Windows XP in VirtualBox unter openSuSE 10.3
Virtualisierung eines Betriebssystems bedeutet, dass ein Host-Betriebsystem (Gastgeber) ein oder mehrere Guest-Betriebssystem (Gäste) beherberge kann. Der Vermittler zwischen den virtuellen Gästen und dem Host heißt Hypervisor. Zu den bekanntesten Anbietern virtueller Maschinen gehört sicherlich VMware. VMware ist aber teuer. Die beiden gängigen kostenlosen OpenSource-Hypervisoren sind XEN und Virtualbox. Virtualbox ist momentan noch einfacher zu bedienen als XEN und bietet ebenfalls gute Leistung. Das Betreiben eines Betriebssystems in einer virtuellen Maschine bring gleich mehrer Vorteile mit sich:
- Gast-System läuft abgeschottet in seinem virtuellen Käfig
- Der Gastgeber ist geschützt von Viren, etc, die über den Gast herfallen
- Entwickler von betriebssystem-nahen Komponenten können sich im Gast-System austoben
- Mehrere virtuelle Server können auf einem physikalisch vorhandenen Rechner laufen, beispielsweise beim Webhosting. Sog. Vserver bieten den Kunden für wenig Geld einen kompletten Rechner mit Betriebssystem zur eigenen Verwaltung.
- Mehrere einzelne Rechner eines Netzwerks können in virtuellen Maschinen verwirklich werden und sind dabei von einander abgeschirm: Firewall, Webserver, Fileserver,…
Damit gehören Spielereien wie Wechselfestplatten mit verschiedenen Betriebssystemen genauso der Vergangenheit an wie eine Multi-Boot-Installation mit mehrer Windows parallel.
“Ich bin da ganz vorsichtig. Ich hab ein Windows mit dem ich nur im Internet surfe. Mit dem anderen mache ich wichtige Sachen für die Arbeit und eines mit dem spielen kann.”
unbekannter Windows-Nutzer
Installation von Virtualbox
Die Installation der neuesten für openSuSE 10.3 verfügbaren Version von Virtualbox installieren wir per YaST. Wer bei Begriffen wie Paket, RPM und Repository ins Grübeln gerät, liest lieber noch mal hier nach.
- Einbinden des Repositories Virtualisierung (Virtualbox) aus dem openSuSE BuildService:
- Aktuelle Version von Virtualbox installieren. In diesem Fall ist es 1.5.4_OSE. Es könnten bei Euch aber auch schon neuere Versionen verfügbar sein. Wir installieren die Pakete virtualbox-ose und virtualbox-ose-guest-tools. YaST nimmt dann selbstständig das passende Kernel-Modul (virtualbox-ose-kmp-****) dazu. Uuuuund: Akzeptieren.
- In die Benutzerverwaltung unter
YaST → “Sicherheit und Benutzer” → “Benutzer bearbeiten und anlegen”
bearbeitet Ihr Euch selbst. Also den Benutzer (z.B. Hans) markieren und unten auf “bearbeiten” klicken. Dann auf den Reiter “Details” klicken und in der rechten Liste der Gruppen einen Haken bei vboxusers setzen. “Übernehmen” und “Beenden”. Jetzt seid Ihr selbst überhaupt erst (nach erneutem Login) zum betreiben einer Virtualbox berechtigt. - openSuSE neustarten. Ja, richtig gehört, wir starten den PC neu. Das hat den Vorteil, dass das Kernelmodul wirklich geladen wird und gleichzeitig müsst Ihr Euch neu einloggen (wegen vboxusers, siehe vorheriger Punkt).
- Überprüfen, ob das Modul vboxdrv geladen ist. Dazu muss man in einer Konsole als root eingeloggt sein.
> su
# lsmod | grep vboxdrv(’#’ bedeutet “als root”!)Wenn nix kommt, dann ist das Modul nicht geladen. Das holen wir dann nach mit:
# modprobe vboxdrvWenn wir jetzt nochmal mit
lsmodnachgucken, sollte das so aussehen:# lsmod | grep vboxdrv
vboxdrv 12345 0So sollte das dann auf der Konsole aussehen:

OK, das war’s. Alles Bereit für den Start der Virtualbox.
Windows in Virtualbox installieren
Die Virtualbox startet man im Startmenü (richtiger wäre K-Menü) unter “System” → “Virtualbox OSE”. (OSE = OpenSourceEdition.). So könnte Virtualbox aussehen, wenn man mit mehreren Betriebssystemen rumspielt:
Dann wollen wir mal loslegen. Als Vorbereitung sollte eine WindowsXP-Installations-CD als ISO-Image eingelesen werden. Damit haben wir dann eine *.iso-Datei auf der Festplatte. Ich habe schon von Leuten gehört, die dazu ein gewisses “TinyXP Platinum Edition 2″ benutzt haben. Sowas soll es geben.
- Zu allererst mal die passende Musik in den Hintergrund legen:
Living in a Box
- ISO-Image einbinden. Dazu gehen wir über
“File” → “Virtual Disk Manager” → “CD/DVD Images”.
Dann oben auf auf “Add” klicken und das ISO-Image angeben. Das wars. - Virtuelle Maschine anlegen. Wieder im Hauptfenster klickt man auf “New“. Dann einfach erstmal mit “Next” weiter. Unter “VM Name and OS Type” geben wir dem Kind einen Namen (z.B. WindozeXP) und wählen als OS Type in diesem Fall “Windows XP” (wer hätte das gedacht?). Im nächsten Dialog “Memory” stellen wir ein wie viel Arbeitsspeicher (Base Memory) unser XP benutzen darf. Wie viel das sein darf hängt u.a. davon ab, wie viel RAM im Rechner verbaut ist. Bei meinen 2 GB kann ich dem virtuellen XP eben mal 512 MB gönnen. Die 192 MB sollten nicht unterschritten werden. Übertreiben bringt auch nix. Eine Virtual Hard Disk (virtuelle Festplatte) haben wir bis jetzt noch nicht angelegt. Deshalb klicken wir auf “New …“, dann auf “Next”, wählen dann “Fixed-size image“. Das Festplatten-Image bekommt ebenfalls einen Namen (Image File Name). Virtualbox legt das Image dann standardmäßig im Home-Verzeichnis unter
.VirtualBox/VDIab. Das könnte hier aber auch verändert werden, indem man hinter der Namesziele auf das Ordnersymbol klickt. Die Image Size stelle ich mal auf 2 GB. Das sollte für den Anfang reichen. “Next”, “Finish”. Fertig ist das virtuelle Festplatten-Image. Jetzt ist das eben erstellte Image schon als “Boot Hard Disk” ausgewählt und wir können mit “Next” und “Finish” das Setup abschließen. - Virtuelle Maschine konfigurieren und Installations-CD-Image einhängen. Dazu markiert man im Hauptfenster die Virtuelle Maschine und klickt auf “Settings“. In den “General“-Settings kann man jetzt und auch später die eingestellte Größe des RAM und des Grafikkarten-Speichers (Video Memory Size) einstellen. Mindestens 8 MB sollten es sein und genügen.
Damit Windows XP vom ISO-Image installiert werden kann, muss dieses unter dem Punkt “CD/DVD-ROM” eingehängt werden. Dazu “Mount CD/DVD Drive” aktivieren und “ISO Image-File” auswählen und aus dem Drop-Down das Windows XP Image nehmen.
Unter “Network” sollte der “Adapter 0” aktiviert (enabled) und an NAT angeschlossen (attached) werden. Das Kabel steckt auch drin (Cable Connected).
Noch ein Klick auf OK und wir sind fertig. - Installation von Windows XP. Im Hauptfenster muss jetzt unsere Maschine “WindozeXP” ausgewählt sein und mit einem Klick auf “Start” geht’s los. Windows wie gewohnt installieren. Dabei gibt es keine Hilfestellung.
Was ist Mouse Pointer Integration?
Wollt Ihr in das Windows XP Fenster reinklicken, warnt Virtualbox, dass dadurch der Mouse-Zeiger gefangen wird. Der Cursor lässt sich dann nur noch in der virtuellen Maschine bewegen. Mit dem sog. Host-Key befreit Ihr den Zeiger wieder. Das ist in dem meisten Fällen die rechte Strg-Taste (Ctrl).
Wir werden dann gleich noch weitere Treiber für die virtuelle Hardware der Virtualbox installieren. Dabei ist dann auch der Treiber für die Mouse-Zeiger Integration. Damit kann man die Maus übergangslos zwischen Windows und Linux bewegen.
Grafikkarten- und MouseTreiber installieren
Damit die oben erwähnte Mouse Pointer Integration funktioniert und es möglich ist, die Auflösung des Windows Desktops beliebig zu ändern, installieren wir die “Guest Additions …“, die unter “Devices” zu finden sind. Virtualbox läd diese aus dem Internet nach, wenn sie noch nicht vorhanden sind.
Anschließend bindet Virtualbox die “Guest Additions” in Windows als CD-Laufwerk ein. Damit ist die virtuelle Treiber-CD im Arbeitsplatz zu finden.

Ein Doppelklick auf die CD startet die Treiberinstallation. Einfach durchklicken und immer schön “Ja” sagen. Danach Windows in der Virtualbox neu starten. Auflösung einstellen. Freuen.
Datenaustausch mit dem Gastgeber
Auch diese Funktion benötigt die vorherige Installation der Guest-Additions (s.o.). Um Daten zwischen dem Gast-System und dem Gastgeber auszutauschen, richtet man in den “Settings” der Virtuellen Maschine einfach ein “Shared Folder” ein. Hier fügen wir über den kleinen hellblauen Ordner oben rechts ein neues freigegebenes Verzeichnis (shared folder) hinzu. Ich hab meins mal “vbox” genannt und in meinem Home-Verzeichnis abgelegt.

Wenn man anschließend mit dem Mousezeiger über der Freigabe in der Liste verweilt, erscheint darunter in der Box folgender Text:
Use
net use x: \\vboxsrv\share
to access a folder named share from a DOS-like OS.
Einfach zu erkennen am “\\”, dass es sich hier um eine Netzwerkfreigabe für Windows handelt. Der virtuelle Server, der uns das freigegebene Verzeichnis zur Verfügung stellt heißt vboxsrv. In meinem Fall würde also der Netzwerkpfad zum Ordner \\vboxsrv\vbox heiß. Natürlich könnten wir der Anweisung folgen und das ganze in der Eingabeaufforderung erledigen, aber es geht auch ganz einfach über die Funktion “Netzlaufwerk verbinden …” (map network drive) im Arbeitsplatz des virtuellen WindowsXP unter “Extras” (Tools). In meinem Fall (screenshot) würde das eingebundene Netzlaufwerk dann X: heißen, und im Arbeitsplatz zu finden sein.

Um ein Netzlaufwerk im virtuellen Windows einzubinden, muss dieses natürlich hochgefahren sein.
Auflösung und Vollbild
Im virtuellen Windows kann jederzeit ohne Neustart der virtuellen Maschine die Bildschirm-Auflösung angepasst werden. Diese sollte im Fensterbetrieb natürlich mind. leicht unter der Auflösung liegen, die der Linux-Desktop hat.
Natürlich kann der Gast, unser Windows XP, auch im Vollbildmodus betrieben werden. Dazu unter “Machine” einfach “Fullscreen Mode” wählen. Vorsicht: Ihr wollt ja nicht im Gast-System hängen bleiben. Mit “rechte Strg + F” kommt Ihr wieder zurück auf den openSuSE Desktop.
CDs/DVDs ein- und aushängen
Die erste CD, die wir wieder aushängen wollen ist unsere Windows-Installations-CD, die in dem Fall als Image vorliegt. Das geht auch im laufenden Betrieb von Windows. Klar, geht auch bei einem nicht virtualisierten Windows so. Als erstes wird man wohl die Windows-Installations-CD wieder aushängen. Dazu über dem virtuellen Windows auf “Devices” → “Umount CD/DVD” klickern.

Will man ein anderes ISO-Image einhängen, klickt man auf “Mount CD/DVD” → “CD/DVD ROM Image”. Das öffnet den “Virtual Disk Manager”, wo man dann weiter ISO-Images einbinden kann, falls diese noch nicht gelistet sind. Ansonsten kann auch eine CD/DVD ins Laufwerk gelegt werden und über “Host Drive …” eingebunden werden. Die eingebundenen CDs sind im Arbeitsplatz als Laufwerke zu finden.
Error! - VirtualBox startet nicht
Nach einem Neustart des Linux-Gastgebers lässt sich das virtuelle Windows XP nicht mehr starten. Virtualbox verweigert den Start mit der Meldung: VERR_VM_DRIVER_NOT_INSTALLED.

Das Kernel-Modul (Treiber) für Virtualbox ist also nicht geladen. Jetzt gibt es 2 Möglichkeiten. Zum einen kann man jetzt das Modul wie oben beschrieben wieder als root auf der Konsole nachladen:
modprobe vboxdrv
Das ist auf die Dauer aber etwas umständlich. Deshalb bringen wir openSuSE lieber dazu das Modul beim Systemstart automatisch zu laden. Das ganze lässt sich bequem per YaST erledigen:
YaST → System → “Editor für /etc/sysconfig Dateien”
Hier klicken wir uns dann über “System” → “Kernel” zu MODULES_LOADED_ON_BOOT vor und tragen hier das Modul vboxdrv ein.
Viren in der Virtuellen Maschine?
Das virtualisierte Windows ist eine vollständige Windows-Installation mit allen Stärken und Schwächen. Somit kann auch diese von allem möglichen Ungetier befallen werden: Viren, Trojaner, Würmer, Rootkits, etc. Deshalb muss auch dieses Windows mit einem Virenscanner (→ AntiVir) ausgerüstet werden. Das virtuelle Windows sitzt in dieser Konfiguration hinter einem virtuellen NAT-Router (haben wir ja vorhin einstellt). Somit es vor Angriffen von außen geschützt. Trotzdem sollte die WindowsXP Firewall aktiviert bleiben. Und die reicht, wie bei echten WindowsXPs, für Angriffe von außen vollkommen aus. Achtung: Ein Virus kann zwar dem Gastgeber nichts anhaben, aber durchaus Dateien im “Shared Folder” infizieren. Das schadet dem Gastgeber Linux zwar nicht. Gibt man diese Dateien aber einen Windows-Nutzer weiter, hat der Virus wieder einen kompatiblen Wirt zum infizieren gefunden.
Windows kaputt gespielt? Kein Problem!
Wie bereits eingangs beschrieben, ist einer der Vorteile einer virtuellen Maschine, dass man sich in ihr austoben kann, und nix zu verlieren hat. So ist es ratsam sich sein Windows komplett einzurichten (Firefox, AntiVir, etc) und dann das Hard-Disk-Image zu sichern. Zu finden diese *.vdi-Datei standardmäßig unter .VirtualBox/VDI im Home-Verzeichnis. Ist Windows herunter gefahren, kann man das VDI-Image an andere Stelle kopieren. Ist das virtuelle Windows irgendwann mal versaut (oder hat sich selbst versaut), kann man einfach das Backup wieder zurückspielen.
Hard-Disk-Image: Dynamically Expanding oder Fixed?
Ich habe hier ein HD-Image mit fixer Größe vorgeschlagen damit es nicht an einem Punkt zu eng wird. Bei einem Image mit fixed size ist das Image immer genau so groß wie die eingestellte Größe. Nachteil: Das Image belegt von Anfang an seine einstelle Größe. Vorteil: Den Platz, den das Image braucht, hat es schon eingenommen. Ein sich dynamisch vergrößerndes Images (dynamically expanding) hat aus der Sicht des virtuellen Gastes die einstellte Größe, belegt aber in der Realität, also auf der Festplatte des Gastgebers nur so viel, wie wirklich darauf gespeichert wird. Vorteil: Es wird kein unnötiger Platz verschwendet. Nachteil: Muss sich das Image ausdehnen, weil unter Windows die Platte vollgemüllt wird, könnte es sein, dass die reale Festplatte schon voll ist. Und dann?
Mehr Festplattenplatz gefällig?
Dafür können wir im Hauptfenster von VirtualBox unter “File” → “Virtual Hard Disk Manager” einfach eine neue Festplatte (Hard Disks) hinzufügen (Add). Diese können wir dann in den “Settings” der virtuellen Maschine (muss dazu heruntergefahren sein) als zweite Festplatte einhängen, und dann unter Windows formatieren. Ich würde hier aber eher zu einem “Shared Folder” raten, denn reine Daten (Bilder, Filme, etc.) müssen nicht in einem virtuellen Image landen, weil man diese ja evtl. auch unter Linux benutzen will.
Zocken? Was leistet das virtuelle Windows?
Nach der Installation der Guest-Additions findet sich im Geräte-Manager die virtuelle Grafikkarte “VirtualBox Graphics Adapter”. Und der hat soviel Grafikspeicher zur Verfügung, wie wir ihm in den Settings zugewiesen haben. Direkten Zugriff auf die physikalische Grafikkarte (nVidia, ATI, …) hat das virtuelle Windows aber nicht. Damit fallen sämtliche Hardware-Beschleunigungen flach. 3D-Gezocke is nich.
Linux unter Linux
Das ganze kann man natürlich auch mit Linux machen. Zum Spaß z.B. eine Mandriva Live CD in einer Virtualbox unter openSuSE starten… und Überraschung: Mandriva One 2008 bringt die Mousezeiger-Integration gleich mit. Schöne Linux-Welt.
FreeBSD in der Virtualbox
DesktopBSD und PC-BSD habe ich bis jetzt noch nicht zum laufen bekommen. Stürzen beidem bei der Erkennung der Anzeige-Eingenschaften für den X-Server ab. Mit FreeSBIE funktioniert’s allerdings problemlos.
Linux unter Windows
Ja, umgekehrt geht das natürlich auch. Die Virtualbox gibt es für Linux, MacOS und Windows. So kann auch unter Windows ein Linux-System virtualisiert werden. Zum Ausprobieren sicherlich den Spaß Wert. Aber, warum sollte David den Goliath auf die Schultern nehmen?
Weitere Artikel im Web:
Virtualbox, openSuSE, Virtualisierung, opensource, kostenlos







January 20th, 2008 at 13:40
Hallo Andre, vielen Dank für die wirklich spitzenmäßige Anleitung. Es funktioniert alles einwandfrei. Also traut euch, versucht es einfach. Ich bin totaler LINUX-Neuling und es hat nach dieser Anleitung gekappt. Einfach jeden Schritt von oben an befolgen
Using Mozilla Firefox 2.0.0.10 on SuSE Linux