Dateien im Verzeichnis einer virtuellen Maschine
Zu einer virtuellen Maschine gehören mehrere Dateien, die sich im Idealfall in einem Verzeichnis befinden (wegen der Übersichtlichkeit). Hier die vier wichtigsten Typen. Weitere Dateien werden im VMWARE Anwenderhandbuch erklärt.
Eine vmx-Datei ist eine Auflistung der Hardware einer virtuellen Maschine. Durch das Zusammenstellen der virtuellen Maschine (RAM, Festplatte, Sound, Netzwerk etc.) in der GUI wird diese Datei erstellt.
http://sanbarrow.com/vmx.html
Das ist die virtuelle Festplatte. U. U. ist dies auch nur eine 1KB-große Datei, die auf eine echtes Devices (z. B. /dev/hda1) verweist oder auf andere (gesplittete) Imagedateien verweist.
Die Bios-Einstellungen.
Logdateien. Enthalten die jeweils letzten Aktionen der virtuellen Maschine. Erste Anlaufstelle bei der Suche nach Fehlern.
VMWARE bootet beim Installieren nicht von CD
Tipp 1: Im Konfigurationseditor "Legacy emulation" beim CD-Laufwerk einschalten.
Tipp 2: Statt Original-CD ein Image der CD benutzen. Bsp:
Code:
dd if=/dev/hdc of=windows.iso
"/dev/hdc" steht hier für das CD-Laufwerk, "windows.iso" ist dann das erzeugte Image. Das Image über "Use ISO Image" und den Dateinamen "windows.iso" einbinden.
Weitere Infos: http://sanbarrow.com/vmx/vmx-cd-settings.html
Wie steigert man die Performance des Gastbetriebssystems ?
- der virtuellen Maschine in VMware mehr RAM zuweisen
- VMware Tools installieren (s. o.)
- Im Gastbetriebssystem für den Festplattenzugriff den DMA-Modus aktivieren
- Ist Gastbetriebssystem korrekt eingestellt (Settings/Configuration Editor/Misc) ?
- Eventuell im Full Screen Modus laufen lassen
- Windows/NT/2000/XP statt 9X/ME verwenden, die NT-Reihe hat ein besseres Multitasking-Modell (Lizenzen natürlich vorausgesetzt!)
- Falls nicht unbedingt benötigt, auf Einbindung des CDROM-Laufwerk verzichten
Was ist zu tun, wenn die bidirektionale Druckerschnittstelle (/dev/parport0) belegt ist? (1)
Problem: Man will z. B. einen Scanner anschließen an den bidirektionalen Port, aber VMware meldet, das der Port belegt ist. Ursache ist der lpd-damon (Linux Druckdienst).
Mit "/sbin/rmmod lp" bzw. "/sbin/rmmod printer" einfach die Module entladen, alternativ über "kill" den Druckdienst beenden. Das ist aber nur sinnvoll, wenn es nicht anders geht. Falls der Scanner von Linux unterstützt wird, sollte man SANE nehmen. Und wenn der Drucker von Linux unterstützt wird, kann man ihn über Samba ansteuern in VMware bzw. dem Gast (s. o.).
Was ist zu tun, wenn die bidirektionale Druckerschnittstelle (/dev/parport0) belegt ist? (2)
Eventuell ist es auch ein Rechteproblem. Abhilfe schafft "chmod 777 /dev/parport0" oder die Aufnahme des Anwenders, der VMWARE startet, in die Gruppe "lp".
Was ist zu tun, wenn die bidirektionale Druckerschnittstelle (/dev/parport0) belegt ist? (3)
Wenn Schritt (1) und (2) nicht helfen, in der Konfiguration der virtuellen Maschine mal den Parallelport rausnehmen und neu eintragen.
VMware und Spiele / DirectX / 3D Grafik
VMware selbst ist eine X-Windows-Anwendung. Die Emulation der Grafikkarte geht also über X-Windows und nicht über die echte Hardware.
Daher ist kein direkter Hardware-Zugriff und damit kein vollständiges DirectX möglich. Direct3D wird nicht vollständig unterstützt.
Das wiederum bedeutet, das VMware für moderne Spiele nicht geeignet ist. Alte Dos-Spiele sollten gehen, aber da ist eher DosBox die bessere (und auch kostenlose) Wahl.
Ab Workstation 6.5 / Player 2.5 ist die Unterstützung verbessert, es wird DirectX9c unterstützt.
Mit Workstation 7 / Player 3 steht für die Windows Gäste in den VMWARE Tools ein neuer WDM Treiber zur Verfügung, der bei Vista und Windows 7 Gästen Aero unterstützt.
Bedingung ist natürlich grundsätzlich, dass der Host einen 3D Grafikkartentreiber hat. Außerdem muss Open GL 2.0 am Host funktionieren. Bei Nvidia Grafikkarten ist also der aktuelle Treiber des Herstellers Pflicht, der "nv" Treiber geht nicht. Ob OpenGL 2.x geht, kann man per "glxinfo" ermitteln. Es muss eine ähnliche Zeile wie "OpenGL version string: 2.1.2 NVIDIA 177.78" enthalten sein in der Ausgabe des Befehls.
Ab Workstation 6.5 lässt sich 3D in den Gasteinstellungen aktivieren. Für Player bzw. ältere Workstation Versionen geht es so:
http://www.vmware.com/support/ws5/do..._enabling.html
Bei Server 1/2/ESX(i) wird kein 3D unterstützt.
Wie kann man testen, ob das Netzwerk grundsätzlich geht ?
In Windows 9x kann das Programm "winipcfg" ("ipconfig" bei NT/2K/XP) gestartet werden per Dosbox. Das zeigt die IP-Adresse des Gastes an. Beispiel: Hat der Gast 192.168.1.128, dann kann vom Host über "ping 192.168.1.128" und vom Gast aus über "ping 192.168.1.1" testen, ob die IP-Verbindung grundsätzlich geht.
Netzwerkkonfiguration klappt immer noch nicht
Manchmal habe ich auch mit erneuten "vmware-config.pl" Läufen keine Netzwerkverbindung mehr hinbekommen. Ich bin dann folgendermaßen vorgangen:
- VMware deinstallieren (rpm -e VMwareWorkstation)
- Das Unterverzeichnis /etc/vmware komplett löschen
- VMware neu installieren (rpm -Uvh VMware-WorkstationXYZ.rpm)
- Das Script "vmware-config.pl" erneut ausführen
Falls das alles nicht hilft, helfen vielleicht die 3 Ls: Lesen, Lesen, Lesen. VMware-Handbuch (Link siehe oben) durcharbeiten und kontrollieren, ob sowohl Host als auch Gast korrekt konfiguriert wurden.
Bei der Konfiguration wird der Kernel bzw. Kernelheader nicht gefunden
Lösung siehe im nächsten Kapitel, Konfiguration.
64 Bit Prozessor Check / 64 Bit Gäste
Nicht jeder 64 Bit Prozessor ermöglicht bei VMWARE das Ausführen von 64 Bit Gästen. Überprüfen kann man das so:
http://www.vmware.com/pdf/processor_check.pdf
Auch auf 32 Bit Distributionen kann man bei passendem 64 Bit Prozessor 64 Bit Gäste ausführen. Der Prozessor muss dazu Intel VT oder AMD Pacifica unterstützen
Tool zum Download: http://www.heise.de/software/downloa...or_check/36077
Dies kann man weiterhin in der Linux-Kommandozeile mit folgendem Befehl prüfen:
Code:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Falls der Prozessor ausreichend ist, gibt der Befehl eine Zeile aus wie:
Code:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm svm cr8legacy ts fid vid ttp tm stc
Wird nichts ausgegeben, ist der Prozessor nicht ausreichend.
Außerdem muss die Prozessor-Virtualisierung im Bios aktiviert werden. Fehlt dort so eine Option, muss man eventuell mal nach einem passenden Bios Update suchen.
nicht unterstützte Linux-Distributionen
VMWARE läuft offiziell nicht unter allen Linux-Distribututionen, z. B. nicht unter Crux oder Slackware. Problematisch ist dort ein anderes Konzept für das bekannte etc/rc.d-Runlevel-Konzept.
Es gibt aber doch Mittel und Wege, dieses auch inoffiziell hinzukriegen:
http://www.linuxforen.de/forums/show...hreadid=106782
http://www.cs.ucr.edu/~jbyrne/vmware.htm
Systemsound nach VMWARE-Start weg
VMWARE übernimmt die Kontrolle über das Sounddevice. Damit wird die LINE-Einstellung im Mixer ausgeschaltet. Durch folgende (zusätzliche) Einstellung in der Konfigurationsdatei der virtuellen Maschine löst sich das Problem:
Code:
pciSound.enableVolumeControl = FALSE
Windows XP schaltet sich nicht aus
Wenn sich Windows XP als Gast beim Herunterfahren nicht abschaltet, bleibt am Ende der Bildschirm mit der Meldung "Sie können den PC jetzt ausschalten" stehen.
Abhilfe durch Einfügen der folgenden Zeile in die Konfiguration:
Code:
gui.exitOnCLIHLT = TRUE
100 % CPU-Last bei DOS/Windows 3.x/9x als Gast
WinDOSen verbrauchen auch CPU-Zeit, wenn inaktiv. Damit wird auch die Host CPU belastet, wenn man nichts im Gast macht. Dies betrifft also DOS/Win311, Win9x/ME.
Lösung: Installation eines CPU-Coolers wie DOS-Idle, ANMHLT, Rain.
Siehe auch: http://www.benchtest.com/cooler.html
Nach einem Neustart verbraucht der emulierte PC bei Nichtbenutzung keine CPU-Zeit mehr.
Alle NT basierenden Windows-Varianten (NT 4/2K/XP) haben das Problem nicht!
VMWARE nicht konfiguriert
"vmware-config.pl" lief fehlerfrei durch, aber VMWARE meldet beim Start, es sei nicht konfiguriert.
Lösung: Die Datei "/etc/vmware/not-configured" löschen.
Sollte das Problem nach jedem Host-Neustart auftreten, könnte es u. U. helfen, in die Datei "/etc/init.d/vmware" folgendes als erste Zeile einzutragen:
Code:
for a in `seq 0 9`; do mknod /dev/vmnet$a c 119 $a 2>/dev/null; done
Quelle: http://communities.vmware.com/message/88939#88939
Als weitere Ursachen z. B. unter Ubuntu hat sich ein zuvor installierter VMWARE Player erwiesen. Lösung:
http://www.debuntu.org/vmware-server...g-after-reboot
Falls das alles nicht hilft, muss unter Umständen die Datei zum Start der VMWARE Dienste (/etc/init.d/vmware) angepasst werden. Siehe auch: http://ubuntuforums.org/showpost.php...1&postcount=10
Virtuelle Festplatte vergrößern
Irgendwann ist auch im virtuellen Leben mal die Festplatte zu klein. Aber hier ist Abhilfe möglich durch den VMWARE-Diskmanager. Dieser ist z. B. im Umfang der Workstation vorhanden, beim Player nicht. Das Tool kann auch einzeln heruntergeladen und installiert werden (http://communities.vmware.com/commun...er/forums/vddk).
Vorgehensweise:
1) Vergrößerung der virtuellen Festplatte
Der folgende Befehl vergrößert das Image "win98.vmdk" auf 8 GB:
Code:
vmware-vdiskmanager -x 8Gb win98.vmdk
Falls Leerzeichen im Dateinamen, bitte mit Hochkommatas angeben.
2) Partitionierung
Das ist jedoch nur die halbe Miete. Es ist wie bei einer richtigen Festplatte nur zusätzlicher, unbenutzter Platz vorhanden. Dieser muss jedoch für das Gast-OS verfügbar sein.
a) Neue (zusätzliche) Partition
Im Gast z. B. fdisk starten und den freien Platz als erweiterte Partition anlegen. Diese kann dann im Gast formatiert werden und wird dann z. B. Laufwerk "D:".
b) Aktuelle Partition vergrößern mit Parted
Parted ist das Gnu Gegenstück zu Partition Magic, läuft allerdings nicht im Windows Gast. Man kann aber z. B. eine virtuelle Maschine einrichten, die Knoppix von CD startet und auch die virtuelle Festplatte mit dem freien Platz einbindet. Dann kann man von Koppix Parted starten und die Gast Partition vergrößern. Außerdem gibt es Parted-Live-CDS
Parted gibt es hier: http://www.gnu.org/software/parted/index.shtml
c) Windows-Festplattenverwaltung (ab Vista / Windows7)
Ab Windows Vista kann die integrierte Festplattenverwaltung die Systempartition vergrößern.
Win 3.x als Gast / Grafik
Um Windows 3.x mit mehr 640x480/16 Farben zu nutzen, muss der Windows Super VGA Treiber ersetzt werden:
http://computing.net/windows31/wwwbo...rum/11648.html
http://www.filegate.net/utiln/utilwin/
Linux als Gast => in Konsole wechseln
Mit der Tastenkombination [Strg]-[Alt]-[F1] wechselt man in Linux von der grafischen Oberfläche in die Textkonsole. Bei VMWARE erhält nach [Strg]-[Alt] der Host die Kontrolle über die Maus zurück.
Will man im Linux-Gast nun in die Konsole wechseln, beisst sich das. So geht es aber trotzdem:
Lösung 1: In VMWARE Workstation/Server einen anderen Hotkey auswählen.
Lösung 2: [Strg]-[Alt]-[Space]-[F1] im Linux-Gast wechselt in die Konsole.
Linux als Gast => Mauszeiger fehlt / geht nicht
Wird ein Mauszeiger im Linuxgast angezeigt, bewegt sich aber nicht, hilft eventuell Umstellen auf PS/2 Anschluss.
In /etc/X11/xorg.conf:
Code:
Section "Input Device"
Identifier "Mouse1"
Option "Device" "/dev/psaux"
...
Falls der Mauszeiger erst gar nicht zu sehen ist:
Code:
Section "Device"
Identifier "device1"
Option "SWcursor" "true"
Option "HWcursor" "off"
...
Linux als Gast => für VMWARE abgespeckten Kernel übersetzen
L00NIX hat sich die Mühe gemacht und eine an VMWARE angepasste Kernelkonfiguration erstellt:
http://www.linuxforen.de/forums/showthread.php?t=229111
USB 2.0
VMWARE unterstützt USB Geräte.
Ein USB Gerät kann in VMWARE bzw. dem Gast gehen, muss aber nicht. Sinnvoll ist vor der Anschaffung zu prüfen, ob das Host-OS das Gerät auch unterstützt. Die Aufgabe von VMWARE ist es nicht, Hardware zu nutzen, die im Host nicht geht.
Ab Workstation 6 / Player 2 / Server 2 wird USB 2 unterstützt. Hier wird auch als Zugriffstechnik "libusb" genutzt, so dass keine weitere Konfiguration am Host notwendig ist.
Grundsätzlich muss für USB in der vmx-Datei folgende Zeile stehen:
Code:
usb.present = "TRUE"
ehci.present = "TRUE"
Dadurch wird beim Neustart des Gastes ein USB-Adapter erkannt.
USB 1.x und USBFS bei älteren VMWARE Versionen
Bei älteren Versionen mit USB Unterstützung (WS <=5.5, Player 1, Server 1) wird nur USB 1.1 unterstützt. Außerdem muss am Host "USBFS" eingerichtet werden. Dazu muss in der "/etc/fstab" eine Zeile stehen (Inhalt abhängig von Distribution, hier nur ein Bsp.):
Code:
usbfs /proc/bus/usb usbfs auto 0 0
Ist die Zeile bereits enthalten, aber mit "noauto", kann man als "root" auch einfach "mount usbfs" vor dem Start von VMWARE eingeben.
U. U. gibt es auch Rechteprobleme beim Zugriff auf den USB-Bus. In diesem Fall mal folgendes probieren:
Code:
umount usbfs
mount -t usbfs usbfs /proc/bus/usb -o devmode=0666
Ob USBFS von der Distribution unterstützt wird, erkennt man durch
Code:
ls /proc/bus/usb
cat /proc/bus/usb/devices
Falls Dateien bzw. Geräte angezeigt werden, ist die Unterstützung vorhanden.
Damit das ganze aber auch geht, muss der Kernel USBFS unterstützen. Bei einigen Distributionen (z. B. Suse ab 10.2) fehlt das. In diesem Fall muss man selbst einen Kernel übersetzen. USBFS aktiviert man in "make menuconfig" unter:
- Device Drivers
- USB Support
- USB Device Filesystem
Versionskonflikte zwischen VMWARE- und Systembibliotheken
Symptom: VMWARE meldet beim Start Versionsprobleme mit den verwendeten Bibliotheken, z. B.:
Code:
(vmware:19396): libgnomevfs-WARNING **: Cannot load module `/opt/gnome/lib/gnome-vfs-2.0/modules/libfile.so' (/usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6))
(vmware:19396): libgnomevfs-WARNING **: Cannot load module `/opt/gnome/lib/gnome-vfs-2.0/modules/libfile.so' (/usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6))
(vmware:19396): libgnomevfs-WARNING **: Failed to open session DBUS connection: Failed to execute dbus-launch to autolaunch D-Bus session
Volume monitoring will not work.
process 19396: arguments to dbus_connection_send_with_reply_and_block() were
Abhilfe: http://communities.vmware.com/thread/62108
Gigabit Ethernet
Bisher wurde in VMWARE immer eine AMD-PCNet Netzwerkkarte emuliert.
Neuere VMWARE Versionen (Player 1.x, Server 1.x, Workstation 5.x) unterstützen Gigabit Ethernet. Dazu muss in der vmx-Datei per Editor folgende Zeile angehängt werden:
Code:
ethernet0.virtualDev = "e1000"
Beim Neustart des Gastes wird neue Hardware entdeckt. Dafür muss ein extra Treiber installiert werden. Bsp. Treiber für verschiedene Windows Versionen:
http://support.intel.com/support/net.../cs-006120.htm
Nach Installation des Treibers sollte im Windows Gerätemanager eine "Intel(R) Pro/1000 MT Network Connection" Karte angezeigt werden.
Schlechte Netzwerkperformance
Mögliche Abhilfe:
- Intel e1000 aktivieren (siehe zuvor)
- In der Windows Systemsteuerung die Geschwindigkeit und die Duplex/Halbduplex Einstellungen überprüfen/anpassen/testen.
Die Treiber gibt es unter:
http://www.intel.com/support/network/sb/cs-006120.htm
Bildschirmauflösungen für "Sonderformate" (z. B. bei Notebooks)
Damit VMWARE auch spezielle Bildschirmauflösungen unterstützt, muss man an die vmx-Datei ein paar Zeilen anhängen. Beispiel für 1900*1200:
Code:
svga.maxwidth=1900
svga.maxheight=1200
svga.vramsize=134217728
Der letzte Parameter setzt die Speichergröße der virtuellen VGA-Karte. Mehr als die hier angegebenen 128 MB geht nicht.
VMWARE in VMWARE
Will man innerhalb eines VMWARE Gastes wiederum VMWARE installieren, muss man folgende Parameter in die vmx-Datei einfügen:
Code:
monitor_control.virtual_rdtsc = "false"
monitor_control.restrict_backdoor = "true"
Soll ESX im Gast installiert werden, zusätzlich folgende Parameter:
AMD-CPU:
Code:
monitor_control.enable_extended_svm = "true"
Intel CPU:
Code:
monitor_control.vt32 = "true"
Der Gast weiss dann nicht, dass er eine VMWARE Maschine ist. Logische Einschränkung: Die VMWARE Tools lassen sich dann nicht installieren.
Möglicher Einsatz: Test neuer VMWARE Versionen.
Weitere Parameter siehe Bereich "monitor_control" unter http://sanbarrow.com/vmx.html
Zugriff auf VMWARE Image vom Host aus ohne dass der Gast läuft
Über das Kommando "vmware-mount" kann man direkt vom Host auf das Gast-Image zugreifen. Sofern das Kommando bei der installierten VMWARE-Version fehlt, kann man es nachinstallieren:
http://communities.vmware.com/commun...er/forums/vddk
Bsp. mounten:
Code:
vmware-mount winxp.vmdk /mnt
Bsp. unmounten:
Code:
vmware-mount -K winxp.vmdk
Lesezeichen