VirtualBox


© Mai 2020, Letzte Änd. 17.05.20

Diese Anleitung bezieht sich auf die mittlerweile veraltete virtualbox Version 5.2 unter dem veralteten Debian 9 alias stretch. Grundsätzlich ist zu beachten das hier fremde Quellen eingebunden werden müssen, welche das Host-System gefährden können.

Um in den Genuss von USB-Unterstützung, brauchbarer Bildschirmauflösung, geteilter Ordner und Geschwindigkeit zu kommen, kann ich nur empfehlen sowohl auf dem Host das "Extention-Pack", alsauch auf dem Client die "Guest Addition" zu installieren. In der Standard-Einstellung wird im jeweiligen Benutzer-Ordner ein Ordner VirtualBox VMs angelegt. Sollte dort zu wenig Platz sein, kann man auch den Ordner verschieben und durch eine Verknüpfung ersetzen.

Wie bereits auf der Installationsseite beschrieben, geht mit jedem virtuellen Betriebssystem ein gewisser Platzbedarf einher. Also bitte vorher schon einmal gucken, dass neben den eigentlichen Nutzerdaten mindestens 2 Mal das Gast-System darauf passt.

Voraussetzungen für VirtualBox prüfen

Eigentlich schon fast wie selbstverständlich gehe ich davon aus das die CPU (> 2000) entsprechende Befehle zur Virtualisierung beherrscht. Im einfachsten Fall ist die Befehls-Erweiterung lediglich im BIOS deaktiviert. Je nach CPU (AMD/Intel) muß nach einer anderen Zeichenkette/String gesucht werden. Wird im Text "vmx" gefunden, steht Intel VT zur Verfügung, entsprechend bei AMD heist die Erweiterung für "svm" AMD-V. Ist weder die ein noch die andere Endung zu entlocken, ist Hardware Virtualisierung mit VirtualBox zwar möglich, aber ungenießbar langsam.

Ein weiterer Aspekt wäre die Frage ob eine 64 Bit-CPU oder noch eine 32-Bit-CPU verbaut ist.

egrep '(vmx|svm)' --color=always /proc/cpuinfo		
flags:  fpu vme de pse tsc msr pae mce cx8 apic sep mtrr ...
        svm ...						4x bei vier AMD-Kernen

grep svm /proc/cpuinfo					oder nur für AMD
grep vmx /proc/cpuinfo					nur für Intel
grep lm --color=always /proc/cpuinfo			lm - long mode = 64 Bit

lsmod | grep kvm					Alternative Möglichkeit 
kvm_amd              2183168  0
kvm                   606208  1 kvm_amd			Antwort AMD-V
irqbypass              16384  1 kvm

Installation von VirtualBox

Direkt die .deb Datei runter zu laden, (entspricht bei Win der Install.exe) ist zwar möglich, aber nicht sinnvoll. Denn weitere Aktualisierungen finden dann nicht mehr statt. Daher wird hier ein anderer Weg über das Paket-Management beschrieben.

Voraussetzung dass eine externe Quelle überhaupt akzepiert wird, ist dass vorher die Quelle mit einen Schlüssel authentifiziert wird. Dafür ist der entsprechende Schlüssel oracle_vbox_2016.asc runter zu laden, welchen ich auf der folgenden Seite finde. virtualbox.org ...Downloads.

Der Inhalt sieht dann in etwa wie folgt aus.

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.12 (GNU/Linux)

mQINBFcZ9OEBEACSvycoAEIKJnyyIpZ9cZLCWa+rHjXJzPymndnPOwZr9lksZVYs
12YnsEy7Uj48rTB6mipbIuDDH9VBybJzpu3YjY7PFTkYAeW6WAPeJ8RcSGXsDvc0
fQ8c+7/2V1bpNofc9vDSdvcM/U8ULQcNeEa6DI4/wgy2sWLXpi1DYhuUOSU10I97
...

Mit folgenden Befehlen füge ich diesen Schlüssel dem Paketmanagement-System hinzu. Alternativ kann ich auch den Download und Schlüssel hinzufügen komplett in der Kommando-Oberfläche ausführen.
Aufpassen: oracle_vbox.asc ist noch ein zu alter Schlüssel.

su
cd ...
apt-key add oracle_vbox_2016.asc		oder

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | apt-key add -

Danach editiere ich die sources.list und füge am Ende die Oracle-Quelle hinzu.

Über die Synaptic-Paketverwaltung hat es damals nicht richtig funktioniert. z.B. Einstellungen > Paketquellen > New > Binärdateien (deb) auswählen > in Adresse den Pfad kopieren > mit OK bestätigen. > Ctrl-R eingeben um Paketquellen neu zu lesen.

su
nano /etc/apt/sources.list

...
deb http://download.virtualbox.org/virtualbox/debian wheezy contrib	DEB 7
deb http://download.virtualbox.org/virtualbox/debian jessie contrib	DEB 8
deb https://download.virtualbox.org/virtualbox/debian stretch contrib	DEB 9

apt edit-sources				bessere Alternative zu nano
apt-get update

Nun muß ich das Paket-Verwaltungs-System noch aktualisieren um virtualbox installieren zu können.

su
apt-get update
apt-get upgrade					nicht zwingend nötig
apt-get install dkms				dynamic kernel module support		

apt-get install virtualbox-4.3			DEB 7
apt-get install virtualbox-5.0			DEB 8
apt-get install virtualbox-5.2			DEB 9

Eventuell hagelt es Fehlermeldungen welche weitere Installationen erforderlich machen. Bei mir war es noch nötig etwas (4.9.07 zu 4.9.08) nach zu installieren.

VBoxManage -v					ergab
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    linux-headers-amd64  linux-headers-4.9.0-7-amd64
There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig

su
apt-get install linux-headers-amd64		existierte schon
apt-get install linux-headers-4.9.07-amd64	fehlte noch

/sbin/vboxconfig		  		lief dann durch

Da in den Linux Kernel eingegriffen wurde, ist ausnahmsweise ein Neustart erforderlich. z.B.

shutdown -r 0

Probleme nach Linux Update

Eigentlich sollte DKMS daür sorgen dass nach einem Kernel-Upgrade auch VirtualBox neu erstellt wird. Sollte das mal nicht funktionieren wurde folgendes gepriesen...

su
/etc/init.d/vboxdrv setup			03.09.18 ging nicht

Extension Pack installieren

Beispielsweise für den USB-Zugriff ist das Extension Paket nötig. Zunächst ist die installierte Versionsnummer zu bestimmen.

VBoxManage -v 

4.3.26r98988 					DEB 7
5.0.8r103449					DEB 8 	06.11.15
5.1.12r112440					DEB 8 	24.12.16
5.2.18r124319					DEB 9 	03.09.18
5.2.20r125813					DEB 9 	18.10.18
5.2.40r137108					Deb 9 	13.05.20

Unter dem Ordner virtualbox.org ...Downloads finde ich auch die Host- und Gast-Erweiterung. Falls es nicht die letzte Version sein sollte, wie in diesem Fall (siehe Ergebnis von VBoxManage), hilft es nur die Verknüpfung "All supported platforms" zu kopieren und dann in der Kopfzeile des Browsers zu editieren zu z.B.
download.virtualbox.org/virtualbox/

Von dort kann ich dann zu der entsprechenden Version gehen, was beim nächsten Update (ca. alle paar Wochen) sowieso nötig ist. Wenn ich schon da bin, kann ich mir für die nächsten Arbeitsschritte zwei Dateien runter laden. Die Versionsnummer ist dann höchstwahrscheinlich größer...

Die Installation des Host-Extension-Packs würde ich nach wie vor nicht über die Grafikoberfläche machen, sondern in der Kommando-Shell wie folgt.

su
cd ...
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.40.vbox-extpack

Eine Wirkung ist leider erst nach Neustart erkennbar...

Für den Datenaustausch zwischen Host- und Gast-System ist noch ein Ordner zu definieren. Ich habe diesen Ordner der Wiederkennung wegen VBoxShare genannt, ist aber beliebig. Bzw. habe unter VBoxShare, je nach Gast-System, einen weiteren Ordner mit den Namen des Gastsystems definiert. In diesem Fall habe ich den Ordner Mint erstellt.

cd /mnt/sda4/a/		individueller Pfad
mkdir VBoxShare
cd VBoxShare
mkdir Mint

Aus unerfindlichen Gründen ist es noch händisch erforderlich den Host-Benutzer (hier a1) zur Gruppe der vboxusers hinzuzufügen.

su
adduser a1 vboxusers 				user a1 hinzufügen

usermod -aG vboxusers a1			Alternativ: user a1 hinzufügen

grep vboxusers /etc/group			Ergebnis überprüfen		
vboxusers:x:123:a1,b1

shutdown -r 0

Mint 19 als Client Installation

Alle bisher getätigten Aktionen sind einmalige Aktionen, welche ich typischerweise einem Admin zuordnen würde. Die Benutzung der VirtualBox, d.h. Gast-Systeme anlegen, Schnappschüsse erstellen, Gast-Konfiguration ändern, etc. sind typischerweise Aktionen des normal sterblichen Benutzers über die Grafik-Oberfläche.

Nachdem ich unter System > Oracle VM VirtualBox gestartet habe, kann ich sofort über Neu ein neues Gast-System anlegen.

new guest

Bei passenden Namen schlägt VirtualBox schon von selbst die richtige Gast-Version vor.

storage

Da das Host-System 16 GB zur Verfügung hat, kann ich hier großzügig 4 GB für das Gast-System definieren. Gut zu erkennen ist bis wann man noch im grünen Bereich liegt...

hard disk

Um überhaupt etwas installieren zu können, muß eine Festplatte definiert werden. Möchte man nur mit einem Live-System etwas testen, kann man z.B. keine Platte anklicken.

image type

Ich habe bisher immer nur VDI gewählt, da VDI das usprüngliche Format von VirtualBox, mit der besten Unterstützung, ist.
Wen es interessiert anbei ein paar Artikel aus computerweekly.com Fuenf virtuelle Festplatten Formate...
und aus superuser.com what disk-image should I use.

image type

Da meine Images alle auf einer SSD liegen ist mir der Platzbedarf wichtiger als die Performance. D.h. ich wähle dynamisch alloziert, sodaß nur so viel Platz benötigt wird wie tatsächlich Daten drauf sind.

image type

Die Platte nachträglich vergrößern ist zwar möglich, jedoch recht umständlich (wie bei einen physikalischen System). Daher empfehle ich die Partition so groß zu wählen wie möglich - hier 64 GB.

Größe andern D.h. erst wird die Platte vergrößert, was man sich vorstellen kann wie das Kopieren der Partition auf eine größere physikalische Platte. Danach kann man im Gast-System z.B. über eine gparted.org Live-CD die Partition des dann nicht aktiven Systems (hier Mint) vergrößern.

image type

Nach der grob-Konfiguration steht mir schon ein Icon zum Starten zur Verfügung.
Es müssen jedoch Änderungen (via Ändern) vorgenommen werden bevor das Erste Mal gebootet wird. Ansonsten passiert nichts, da kein Medium (weder Festplatte, noch ext- Medium) zur Verfügung steht...

image type

Diskette kann z.B. entfallen...

image type

Von 4 CPU-Kernen können ruhig 2 genutzt werden.

image type

Momentan fehlt noch die Live-CD von der im ersten Schritt gebootet und installiert werden soll.

image type

Das Installation-Medium, hier eine Live-CD ist nun eingetragen.
Live-CDs haben den Scharm, dass ma bereits vor der tatsächlichen Installation auf Festplatte ein wenig mit den System rum spielen kann. Allerdings ist das nicht immer möglich. Die Debian Version 9 war z.B. noch nur "mit ohne" zu haben... In diesem Fall handelt es sich um eine zuvor runter geladene .ISO Datei linuxmint-19.1-xfce-64bit.iso.

image type

Das Netzwerk belassen wir erst einmal so...

image type

Der Pfad im Host-System für den gemeinsamen Tausch-Ordner wird eingestellt.
Zur Erinnerung: /home/a1/a/VBoxShare/Mint liegt z.B. auf der Festplatte.
Nun ist alles vorbereitet für den ersten Start...

image type

Statt dem üblichen BIOS wird das VirtualBox BIOS gezeigt. Weitere Aktionen wie z.B. F12 sind nicht erforderlich.

Spätestens hier sollte man sich mit einigen Tasten-Kombinationen vertraut gemacht machen um von Gast wieder zum Host gelangen zu können.

image type

Überlässt man die meisten Systeme sich selbst, geht es unter Umständen in die Hose...

image type

Ein typisches Bild, wo Mint nicht mit der ungewöhlichen VBox-Grafik-Karte zurecht kam. Hier wieder raus zu kommen ist möglich, allerdings weis ich nicht mehr wie...
Ach ja, über die Funktionstasten kommt man in ein Terminalfenster.

image type

Nach erneuten Booten, ist es wichtig mit ein wenig Taste-hoch, -runter zu spielen, um ein Boot-Menü zu Gesicht zu bekommen.
Hier kann ich abweichend vom Standard den compatibility mode auswählen, welcher geringere Anforderungen an die Grafik-Karte hat.

image type

Das Live-System wurde erfolgreich gestartet. Bis hier wurde die Festplatte im Gast-System nicht angerührt.

Nach der Installation habe ich auf dem Host-System die Konfigurationen bzw. Profile in einer .xml gespeichert. z.B unter /home/a1/.config/VirtualBox/VirtualBox.xml. Das Image/Platte des Gast-Systems liegt in diesem Fall unter /home/a1/VirtualBox VMs/Mint.

Spätestens hier wird tatsächlich vom Boot-Medium (Installations-Live-CD) auf die virtuelle Festplatte geschrieben. Sollte kein Live-System vorhanden sein, werden die zuvor genannten Schritte übersprungen und hier ist dann der Einstieg.

image type

Da es sich um eine Installation für fremde Software hält, wo ich möglichst den aktuellsten Stand installieren möchte und nicht mein Debian verdengel möchte, belasse ich die Sprache auf English.

image type

Bei dem Tastertur-Layout passe ich jedoch auf, die richtige Variante auszuwählen. Sonst gehen wieder die Suchspiele los, wo befinden sich die Sonderzeichen / | , . etc.

image type

third-party software ist zwar nicht zwingend notwendig und benötigt Platz, erspart einem aber evtl. Komplikationen.

image type

Keine Sorge, hier geht es nur um die virtuelle Platte im Gast-System...

image type

Auf dem Host wäre es hier wichtig zu überprüfen ob sda die richtige Platte und Partition ist, hier im Gast-System gibt es nur die Eine. Dies kann man z.B. später überprüfen, wenn man gparted installiert und aufruft.
Hier sieht das dann wie folgt aus.

image type

Bei dem Vorgänger Mint 18 sah das noch anders aus...

sudo fdisk -l	Überprüfung 
...        Boot ... Type
/dev/sda1  *        /
/dev/sda2           ext.
/dev/sda5           swap

image type

Damit man auch zur rechten Zeit geweckt wird, stellt man die richtige Zeitzone ein.

image type

Benutzername und Passwort sind zu setzen. Da das Gast-System in meinen User-Verzeichniss des Host-System liegt, kann eh nur ich darauf zugreifen. Daher ist das Login automatisch.

image type

Neustart auswählen, um vom Live-System zum, auf der Festplatte installierten System, zu wechslen.

image type

Entfernen können wir die Live-CD hier nicht. Also nur mit Return bestätigen.
Beim nächsten Booten habe ich also nach wie vor die Möglichkeit via F12 die Live-CD auszuwählen, was ich aber hier nicht beabsichtige...

image type

Geschaft!
Der erste Aufruf von Mint von der Platte hat geklappt. Da die Gast-Erweiterung noch fehlt, besteht noch keine Möglichkeit eines größeren Bildschirms, des Austausches via eines gemeinsamen Ordners oder des USB 2.0 Zugriffes.

image type

Die erste Amtshandlung sollte System-Aktualisierung sein.

image type

Bei Mint oder Ubuntu gibt es kein extra Admin-Passwort. Das Admin-Passwort ist gleich dem User-Passwort (sudo-Konzept).

image type

...und klappt auch nicht alles auf Anhieb.

image type

Entsprechende Fehlermeldungen zunächst ignorieren. Gast-System neu booten und erneut System aktualisieren, bis keine Aktualisierung mehr möglich ist. Nur wenn Fehlermeldungen bleiben, lohnt sich Jugend forscht...

Guest Addition

image type

Die Kopfzeile gehört zu VirtualBox, gestartet auf dem Host-System.
Hier die Gast-Erweiterung einlegen via Geräte > Gasterweiterung einlegen...

Sollte es dabei Probleme geben, kann ich das Gast-System runter fahren, die zuvor runter gelandene VBoxGuestAdditions_5.2.40.iso einbinden und das Gast-System erneut starten.

image type

Thunar öffnet sich und zeigt das gemountete Laufwerk, hier /media/b1/VBox_GAs_5.2.40, der Gast-Erweiterung an.

image type

Nun kann ich im Terminalfenster zu den Dateien gehen und die Erweiterung starten. z.B.

cd /media/b1/VBox_GAs_5.2.40/
sudo sh ./VBoxLinuxAdditions.run
image type

Nach dem Booten des Gast-System, stehen mir die Vorzüge bereit, allerdings eingeschränkt (geteilter Ordner darf nur root benutzen).

image type

Daher sind nach dem Booten noch ein paar Einstellungen im Gast-System vorzunehmen.
Zunächst suche ich im Ordner /media/ den Ordner sf_Mint oder ggf. anderslautend passend zum Namens des Gast-Systems.


cd /media/
ls -la
drwxr-x---+  2 root root   4096 May 17 18:37 b1
drwxr-x---+  2 root vboxsf 4096 May  3  1:21 sf_Mint 

Um Zugriff auf den Ordner sf_Mint zu bekommen, ist es erforderlich den normalen Benutzer, hier b1, der Gruppe vboxsf hinzuzufügen.

sudo gpasswd -a b1 vboxsf		oder
sudo usermod -a -G vboxsf `whoami`	oder
sudo adduser $USER vboxsf

cat /etc/group	| grep -e vboxsf	Überprüfung 
vboxsf:x:999:b1

sudo reboot

Daher nutzen wir die Gelegenheit das Gast-System komplett runter zu fahren, um noch ein paar Einstellungen vorzunehmen.

image type

Host I/O-Cache aktiviert, beschleunigt die Festplatten Zugriffe.

image type

Wenn sich der Ordner VirtualBox VMs auf einer SSD befindet, ist es empfehlenswert das in VirtualBox einzustellen. Ein Winddows-Gast defragmentiert dann z.B. nicht.

image type

Auch wenn es ein gewisses Sicherheitsrisiko, darstellt, habe ich bei mir die Zwischenablage geteilt.

image type

Dem Bildschirm kann man ruhig ein wenig mehr Speicher gönnen, hier 32 MB.

image type

Im "bridged mode" bekommt das Gast-System vom Router eine eigene IP zugewiesen wie ein physikalisch eigenständiger Computer, sodaß die Computer-Verwaltung auf dem Router einfacher fällt.

image type

Quellen:

pcwelt.de - VirtualBox von 2019
netzroot-it.de - VirtualBox Gasterweiterung von 2016
ubuntuusers.de - VirtualBox Installation von ?
heise.de - Installation von Android in VirtualBox 2018
wintotal.de - VirtualBox 6.x Installation von 2020