VirtualBox: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Jewox (Diskussion | Beiträge)
K →‎Open-Source-Edition: virtualbox 4.2
Jewox (Diskussion | Beiträge)
typo
Zeile 1: Zeile 1:
{{righttoc}}
{{righttoc}}
[[Bild:Sun_VirtualBox_2.2.2.png|thumb|280px|Sun VirtualBox 2.2.2]]
Virtualbox ist eine von der Firma Innotek entwickelte Software zur Virtualisierung. Mit Virtualbox ist es möglich weitere Betriebssysteme (Gast) wie ein normales Programm auf seinem Rechner laufen zu lassen. Virtualbox steht in 2 Versionen bereit, einer Open-Source-Edition (OSE) und einer Closed-Source-Edition, die unter bestimmten Bedingungen kostenlos verwendet werden darf.


Einige Features fehlen der OSE-Version
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.


*Remote Display Protocol (RDP) Server
Mit VirtualBox ist es möglich, weitere Betriebssysteme (Guest) auf dem Rechner (Host) laufen zu lassen.
*USB Unterstützung (fehlt nicht mehr in Version 4.0.4)
*USB über RDP
*ISCSI Unterstützung


== Installation ==
== Installation ==
Es stehen zwei Möglichkeiten der Installation zur Auswahl, diese beziehen sich auf die Open-Source-Edition oder die Closed-Source-Edition.


=== Open-Source-Edition ===
VirtualBox befindet sich im „Community“-Repository und wird mittels [[Pacman]] installiert.
Die OSE-Version befindet sich im „Community“-Repository und wird aus diesem mittels [[Pacman]] installiert.


  pacman -S virtualbox virtualbox-host-modules virtualbox-iso-additions
  pacman -S virtualbox virtualbox-host-modules virtualbox-iso-additions
Zeile 20: Zeile 13:
Bei Verwendung des LTS Kernels bitte <code>virtualbox-host-modules-lts</code> installieren.
Bei Verwendung des LTS Kernels bitte <code>virtualbox-host-modules-lts</code> installieren.


=== Closed-Source-Edition ===
=== Vorbereitung ===
Zur Closed Source Edition befindet sich ein [http://aur.archlinux.org/packages.php?ID=51727 PKGBUILD] im [[AUR]].
 
=== Vorbereitung zur Verwendung ===
Nach der Installation muss der Useraccount mit dem VirtualBox verwendet werden soll, der Gruppe <code>vboxusers</code> hinzugefügt werden.
Nach der Installation muss der Useraccount mit dem VirtualBox verwendet werden soll, der Gruppe <code>vboxusers</code> hinzugefügt werden.


  gpasswd -a USERNAME vboxusers
  gpasswd -a USERNAME vboxusers


Das Modul <code>vboxdrv</code> muss in das MODULES-Array in der [[rc.conf]] eingetragen werden, dadurch wird es beim Systemstart automatisch geladen, und man muss es nicht jedes mal manuell mittels
Bei Verwendung von SysVinit: Das Modul <code>vboxdrv</code> muss in das MODULES-Array in der [[rc.conf]] eingetragen werden.
 
Damit wird es beim Systemstart automatisch geladen, und man muss es nicht jedes Mal manuell mittels ...


  modprobe vboxdrv
  modprobe vboxdrv


starten, wenn man VirtualBox verwenden möchte.
... starten, wenn man VirtualBox verwenden möchte.


Nach einem Kernelupdate oder dem Einfügen eines eigenen Kernels müssen die Kernelmodule von Virtualbox neu erstellt werden, dies geschieht mittels folgenden Befehls.
Nach einem Kernelupdate oder dem Einfügen eines eigenen Kernels müssen die Kernelmodule von Virtualbox neu erstellt werden, dies geschieht mittels folgenden Befehls.
Zeile 43: Zeile 35:


== Konfiguration ==
== Konfiguration ==
Hier werden verschiedene Konfigurationsmöglichkeiten für den Wirt und Gast beschrieben
Hier werden verschiedene Konfigurationsmöglichkeiten für Host und Guest beschrieben.


=== Netzwerk über HostInterface (dynamisch) ===
=== Netzwerk über HostInterface (dynamisch) ===
Diese Konfiguration macht das Gastsystem zu einem vollwertigen Client im lokalen Netzwerk, das heißt, er bekommt eine IP-Adresse die im Gegensatz zu NAT auch von anderen Systemen erreichbar ist. Dazu müssen einfach die Kernel-Module <code>vboxnetflt</code> und <code>vboxnetadp</code> geladen werden. Unter den Client-Einstellungen wählt man dann „Netzwerkbrücke“ aus. Mehr ist nicht erforderlich. Der Virtualbox wird automatisch über DHCP eine IP zugewiesen.
Diese Konfiguration macht das Gastsystem zu einem vollwertigen Client im lokalen Netzwerk, das heißt, er bekommt eine IP-Adresse die im Gegensatz zu NAT auch von anderen Systemen erreichbar ist. Dazu müssen einfach die Kernel-Module <code>vboxnetflt</code> und <code>vboxnetadp</code> geladen werden. Unter den Client-Einstellungen wählt man dann „Netzwerkbrücke“ aus. Der Virtualbox wird automatisch über DHCP eine IP zugewiesen.


Zum aktivieren der Module:
Zum aktivieren der Module:
Zeile 53: Zeile 45:
  modprobe vboxnetadp
  modprobe vboxnetadp


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


== VMware-Images konvertieren ==
== VMware-Images konvertieren ==
Zum Konvertieren von VMware-Images in VirtualBox-Images ist voraussetzung, dass [[QEMU]] installiert ist, und das die VMwareTools ''nicht'' installiert sind.
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.
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 ===
=== Windows-2000- und Windows-2003-Server-Images ===
Zeile 77: Zeile 69:
# Freien Festplattenplatz im Gastsystem mit Nullen überschreiben
# Freien Festplattenplatz im Gastsystem mit Nullen überschreiben
# VDI Image manuell verkleinern
# VDI Image manuell verkleinern


'''Beispiel:''' Host = Linux, Gast = WindowsXP
'''Beispiel:''' Host = Linux, Gast = WindowsXP

Version vom 22. September 2012, 16:30 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-iso-additions

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

Bei Verwendung von SysVinit: Das Modul vboxdrv muss in das MODULES-Array in der rc.conf eingetragen werden.

Damit wird es beim Systemstart automatisch geladen, und man muss es nicht jedes Mal manuell mittels ...

modprobe vboxdrv

... starten, wenn man VirtualBox verwenden möchte.

Nach einem Kernelupdate oder dem Einfügen eines eigenen Kernels müssen die Kernelmodule von Virtualbox neu erstellt werden, dies geschieht mittels folgenden Befehls.

rc.d setup vboxdrv

Sollte es dabei eine Fehlermeldung wegen fehlender Kernel-Sourcen geben, muss das Paket kernel26-headers installiert werden.

HINWEIS: Dieses Vorgehen (Neuerstellen der Kernelmodule) gilt nur für die Virtualbox-Variante aus dem AUR. Die VB-Version aus dem Community-Repository bedarf keiner Neuerzeugung der Module, da es fertige Module mit bringt. Somit gibt es auch kein /etc/rc.d/vboxdrv .

Konfiguration

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

Netzwerk über HostInterface (dynamisch)

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

Zum aktivieren der Module:

modprobe vboxnetflt
modprobe vboxnetadp

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

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