VirtualBox: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(→‎Notwendiges Modul vboxdrv: MODULES=() nicht mehr aktuell, dkms.service)
Zeile 24: Zeile 24:
Bei der Virtualbox Version aus dem [community] Repo muss, bei Verwendung des Arch standard oder LTS Kernels, nichts weiter beachtet werden. Die nötigen Module werden als Abhängigkeiten mit aktualisiert.  
Bei der Virtualbox Version aus dem [community] Repo muss, bei Verwendung des Arch standard oder LTS Kernels, nichts weiter beachtet werden. Die nötigen Module werden als Abhängigkeiten mit aktualisiert.  


Bei der [https://aur.archlinux.org/packages.php?ID=62670 Virtualbox Binär Version] aus dem [[AUR]] muss bei einem Kernel Update das Modul neu gebaut werden. Das erledigt der dkms Service, der als Abhängigkeit mit installiert wird. Auch die nötigen Kernel Quelldateien (linux-headers) werden als Abhängigkeit mit installiert.
Bei der [https://aur.archlinux.org/packages.php?ID=62670 Virtualbox Binär Version] aus dem [[AUR]] muss bei einem Kernel Update das Modul neu gebaut werden. Das erledigt der <code>dkms Service</code>, der als Abhängigkeit mit installiert wird. Auch die nötigen Kernel Quelldateien (linux-headers) werden als Abhängigkeit mit installiert.


* dkms Service aktivieren
* dkms Service aktivieren

Version vom 31. Oktober 2012, 19:29 Uhr

VirtualBox ist eine von der Firma Innotek entwickelte Software zur Virtualisierung. Die Firma wurde 2008 von SUN übernommen, welche wiederum von Oracle gekauft wurde. Aktuell wird die Software in der Version 4.2 von Oracle entwickelt.

Mit VirtualBox ist es möglich, weitere Betriebssysteme (Guest) auf dem Rechner (Host) laufen zu lassen.

Installation

VirtualBox befindet sich im „Community“-Repository und wird mittels Pacman installiert.

pacman -S virtualbox virtualbox-host-modules virtualbox-guest-iso

Bei Verwendung des LTS Kernels bitte virtualbox-host-modules-lts installieren.

Vorbereitung

Nach der Installation muss der Useraccount mit dem VirtualBox verwendet werden soll, der Gruppe vboxusers hinzugefügt werden.

gpasswd -a USERNAME vboxusers

Notwendiges Modul vboxdrv

Das Modul vboxdrv muss manuell geladen werden. Soll es bei jedem Systemstart automatisch geladen werden muss es in eine Datei in /etc/modules-load.d/ eingetragen werden.
Siehe: Kernel Module

Kernel Update

Bei der Virtualbox Version aus dem [community] Repo muss, bei Verwendung des Arch standard oder LTS Kernels, nichts weiter beachtet werden. Die nötigen Module werden als Abhängigkeiten mit aktualisiert.

Bei der Virtualbox Binär Version aus dem AUR muss bei einem Kernel Update das Modul neu gebaut werden. Das erledigt der dkms Service, der als Abhängigkeit mit installiert wird. Auch die nötigen Kernel Quelldateien (linux-headers) werden als Abhängigkeit mit installiert.

  • dkms Service aktivieren
systemctl enable dkms.service

Konfiguration

Hier werden verschiedene Konfigurationsmöglichkeiten für Host und Guest beschrieben.

Netzwerk über HostInterface (dynamisch)

Diese Konfiguration macht das Gast-System zu einem vollwertigen Client im lokalen Netzwerk, das heißt dieser bekommt eine IP-Adresse die im Gegensatz zu NAT auch von anderen Systemen erreichbar ist. Dazu müssen die Kernel-Module vboxnetflt und vboxnetadp geladen werden. Unter den Client-Einstellungen (Guest) wählt man dann „Netzwerkbrücke“ aus. VirtualBox wird automatisch seitens Host-System über DHCP eine IP-Adresse zugewiesen.

Zum manuellen Laden der Module:

modprobe vboxnetflt
modprobe vboxnetadp

ausführen.

Bei Verwendung von SysVinit: Diese Module können in der /etc/rc.conf eingefügt werden. Somit werden die Module bei jedem Systemstart automatisch geladen.

Bei Verwendung von systemd: Diese Module können mittels /etc/modules-load.d/modules-load.conf automatisch geladen werden. Diese Datei muss selbst erstellt werden. Die Namensgebung ist allerdings frei wählbar bis auf die Endung .conf.

VMware-Images konvertieren

Zum Konvertieren von VMware-Images in VirtualBox-Images ist Voraussetzung, dass QEMU installiert ist, und das die VMwareTools nicht installiert sind.

Da VMware mit Images in Form von SCSI-Platten arbeitet muss für die Benutzung in VirtualBox erst mal ein IDE Treiber installiert werden. Hierzu legt man ein kleines IDE-Platten-Image für die VM an, und bindet diese ein, danach startet man die VM. Das System in der VM erkennt die Platte und installiert die nötigen Treiber.

Windows-2000- und Windows-2003-Server-Images

Nachdem Windows den IDE Treiber installiert hat, aus C:\WINNT\Driver Cache\i386 die halacpi.dll aus dem drivers.cab (bzw. spN.cab falls Servicepack N installiert ist) nach C:\WINNT\system32\hal.dll kopieren und die alte Datei überschreiben.

Falls mehrere .vmdk files von einer Maschine vorhanden sind müssen diese erst in einer Datei zusammengeführt werden:

vmware-vdiskmanager -r source_multiples.vmdk -t 0 single_file.vmdk

Danach kann man die .vmdk mit VirtualBox booten, wenn man die Snapshot-Funktion verwenden möchten muss man das Image nach .vdi konvertieren.

qemu-img convert single_vmware-image.vmdk raw-image.bin
VBoxManage convertdd raw-image.bin vbox-image.vdi

Dynamisches VDI Image - freien Platz freigeben

Ein dynamisches VDI Image belegt immer soviel Platz wie gerade benötigt wird. Löscht man im Gast-System allerdings Dateien, behält das VDI Image die vorherige Größe. Es wird also nicht wieder verkleinert und belegt mehr Platz auf der Festplatte des Host-Systems als nötig. Man kann allerdings mit etwas manuellem Aufwand das VDI Image wieder verkleinern. Dazu sind zwei Schritte notwendig.

  1. Freien Festplattenplatz im Gastsystem mit Nullen überschreiben
  2. VDI Image manuell verkleinern

Beispiel: Host = Linux, Gast = WindowsXP

1.
Windows XP starten, Festplatte defragmentieren und freien Platz mit Nullen überschreiben. Dazu kann man unter Windows z.B. das Programm SDelete verwenden.

sdelete.exe -z

2.
Windows XP runterfahren und Virtualbox beenden. Jetzt kann man in einem Terminal das VDI Image auf die tatsächlich benötigte Größe verkleinern.

VBoxManage modifyhd -compact /Pfad/zum/VDI-Image/Image.vdi

Weblinks