VMware / VirtualBox

Module können nicht installiert werden

# vmplayer -v
No protocol specified
No protocol specified
I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"
VMware Player 15.5.6 build-16341506
# wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-15.5.6.tar.gz
# tar xf workstation-15.5.6.tar.gz
# tar -cf vmmon.tar vmmon-only
# tar -cf vmnet.tar vmnet-only
# cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
# vmware-modconfig --console --install-all

Physische Festplatten direkt in die VM einbinden

  • Die Festplatte muss auf einen verfügbaren Pfad verweisen, der keine Leerzeichen enthalten sollte
mkdir /home/Username/HDD
  • Der vbox-Benutzer muss Mitglied in der Gruppe „disk“ sein
usermod -a -G disk Username
  • „Verlinkung“ der Festplatte:
VBoxManage internalcommands createrawvmdk -filename "/home/Username/HDD/sdb1.vmdk" -rawdisk /dev/sdb1
  • nun kann die Festplatte in die Maschine eingebunden werden.

Aufsplitten der Festplatten-Datei in 2GB „chunks“

vboxmanage clonehd /pfad/zu/VirtHDD.vdi /pfad/zu/VirtHDD.vmdk --format vmdk --variant Split2G

Compact (komprimieren)

Windows Guest

  • Tool smanage im laufenden virtuellen Windows System (Guest):
  • Im Internet nach „sysinternals/downloads/sdelete“ suchen, in der VM nach C: entpacken und im CMD-Fenster
sdelete.exe -Z C:
  • Windows herunterfahren und 
VBoxManage modifyhd /Pfad/zur/VDI/MeinVirtuellerPC.vdi --compact
  • Ein zweiter Weg ist der über den Befehl „clonehd
VBoxManage clonehd <VM-Datei_1>.vdi <VM-Datei_2>.vdi
  • Wird dieser Weg gewählt, muss die neue VDI Datei (<VM-Datei_2>.vdi) in das System eingebunden werden.

Größe der HDD ändern

VBoxManage modifyhd /home/Username/pfadzurhdd/VFestplatte.vdi --resize 45960

Snapshot lässt sich nicht löschen; zu wenig Platz auf der HDD

  • eine große Festplatte im System finden/anschließen
  • den Ordner Snapshots dort hin synchronisieren
  • danach den Ordner im Oiginal VM-Verzeichnis löschen und einen Symlink auf den kopierten Ordner anlegen
ln -s /große/Platte/copiedSnapshots /home/user/VM-Verz/Snapshots
  • VirtualBox starten und den Snapshot löschen, jetzt geht das.

Systemd Dienst für den automatischen Start einrichten

nano /etc/systemd/system/vmname.service
[Unit]
Description=vmname
After=network.target virtualbox.service dnsmasq.service
Before=runlevel2.target shutdown.target

[Service]
User=benutzerdermaschine
Group=vboxusers
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
KillSignal=SIGWINCH
TimeoutStopSec=180
GuessMainPID=no
RemainAfterExit=yes

ExecStart=/usr/bin/VBoxManage startvm vmname --type headless
ExecStop=/usr/bin/VBoxManage controlvm vmname acpipowerbutton

[Install]
WantedBy=multi-user.target
nano /etc/vbox/vbox.cfg
## Default policy is to deny starting a VM, the other option is "allow".
default_policy = deny

## Create an entry for each user allowed to run autostart
benutzerdermaschine={
allow=true
}

Als User benutzerdermaschine

VBoxManage setproperty autostartdbpath /etc/vbox
VBoxManage modifyvm "NAME_DER_VM" --autostart-enabled on

Als User root

VBoxManage setproperty autostartdbpath /etc/vbox

systemctl enable vmname.service

Gemeinsame Ordner für Linux User im Gast einrichten

im Menü unter Geräte -> Gemeinsame Ordner einen Ordner freigeben. Der ist leider im Gast nur für root les- und schreibbar. Abhilfe mit:

usermod -a -G vboxsf gastuser

nach einem Neustart kann der Ordner genutzt werden.

Qt FATAL: FATAL: The application binary appears to be running setuid, this is a security hole.

chmod 4755 /usr/lib/virtualbox/{VBox{Headless,Net{AdpCtl,DHCP,NAT},SDL,VolInfo},VirtualBoxVM}
chmod 0755 /usr/lib/virtualbox/{VBox{Headless,Net{AdpCtl,DHCP,NAT},SDL,VolInfo},VirtualBox}

Extension_Pack von Konsole installieren

VBoxManage extpack install /home/user/Download/ExtensionFILE --replace