Links
System
Motherboard
Setting
|
Description
|
Chipset |
PIIX3 is the default chipset for most guests. ICH9 support is experimental.
|
Pointing Device |
USB Multi-Touch Tablet is suitable for guests running Windows 8 or later. Prefer USB Tablet to PS/2 Mouse
|
Enable I/O APIC |
With Advanced Programmable Interrupt Controllers, OSes can use more than 16 interrupt requests (IRQs) and therefore avoid IRQ sharing for improved reliability. Enabling the I/O APIC is required, especially for 64-bit Windows guest OSes. It is also required if you want to use more than one virtual CPU in a virtual machine. However, software support for I/O APICs has been unreliable with some OSes other than Windows. Also, the use of an I/O APIC slightly increases the overhead of virtualization and therefore slows down the guest OS a little. All Windows OSes install different kernels, depending on whether an I/O APIC is available. As with ACPI, the I/O APIC therefore must not be turned off after installation of a Windows guest OS. Turning it on after installation will have no effect however.
|
Enable EFI |
Enables experimental support for the Extensible Firmware Interface, which replaces the legacy BIOS.
|
Hardware Clock in UTC Time |
If selected, Oracle VM VirtualBox will report the system time in UTC format to the guest instead of the local (host) time. This affects how the virtual real-time clock (RTC) operates and may be useful for UNIX-like guest OSes, which typically expect the hardware clock to be set to UTC.
|
Processor
Setting
|
Description
|
Enable PAE/NX |
Determines whether the Physical Address Extension and NX capabilities of the host CPU will be exposed to the virtual machine. Allow a 32-bit x86 CPU to access more than 4 GB of RAM.
|
Display Settings
Screen
Setting
|
Description
|
Graphics Controller |
- VBoxSVGA: The default graphics controller for new VMs that use Windows 7 or later. It has 3D support.
- VBoxVGA: Use this graphics controller for legacy guest OSes. This is the default graphics controller for Windows versions before Windows 7.
- VMSVGA: Use this graphics controller to emulate a VMware SVGA graphics device. This is the default graphics controller for Linux guests.
|
Enable 3D Acceleration |
3D support is still experimental.
|
Audio
Setting
|
Description
|
Host Driver Audio |
On newer Linux distributions, the PulseAudio subsystem is preferred.
|
Not attached
La machine virtuelle n'est connectée à aucun réseau.
Network Address Translation (NAT)
La MV a accès à internet.
La MV est connectée à un réseau privé (ex :10.0.2.0).
Les services de la MV ne sont pas accessibles depuis la machine hôte, le réseau local de la machine hôte ou internet.
Mais il est possible de définir une redirection de ports depuis la machine hôte vers la MV. VB peut ainsi écouter des ports particulier de la machine hôte et renvoyer les paquets destinés à ces ports à la MV.
Scénario :
- Les données réseau envoyées par la MV sont reçues par VB.
- VB extrait les données TCP/IP et les renvoient à la machine hôte.
- Le destinataire va croire que c'est VB qui lui envoie les données depuis l'IP de la machine hôte.
- VB attend la réponse du paquet envoyé, puis la transforme et l'envoie à la MV.
NAT Network
Pont réseau / Bridged adapter
Création d'une interface réseau pour la MV.
La machine hôte perçoit la MV comme si elle était physiquement connecté au réseau.
Réseau interne / Internal network
Entre MV.
Réseau privé hôte
Réseau hôte – MV.
Réseau Host-only / Host-only Adapter
Mélange de réseau Bridge et de réseau Internal
Avec les Guest Addition et le Mouse Integration VirtualBox émule une sourie sur le guest via un pilote.
La sourie est disponible sur le host et le guest et bascule automatiquement de l'un à l'autre.
Pour avoir accès à la sourie sans émulation il faut:
- l'ajouter dans les filtres usb
- désactiver le Mouse Integration (menu Input depuis le guest)
|
La sourie sera disponible sur le guest mais plus sur le host! |
Fermer la VM avec la croix → Save the machine state
Switch to Seamless Mode |
Right Ctrl + L
|
Switch to Fullscreen |
Right Ctrl + F
|
Minimize window |
Right Ctrl + M
|
Take Screenshot |
Right Ctrl + E
|
Popup Menu |
Right Ctrl + Home
|
ACPI Shutdown |
Right Ctrl + H
|
Permet l'affichage du bureau invité sans le fond d'écran: barre des taches et fenêtre.
Booter un fichier IMG
Stockage → Ajouter un Contrôleur disquette → Ajouter une disquette liée au fichier IMG
Migrer des anciennes VM vers VB 4
|
Before 4.0 |
4.0 or above
|
Default machines folder |
$HOME/.VirtualBox/Machines |
$HOME/VirtualBox VMs
|
Default disk image location |
$HOME/.VirtualBox/HardDisks |
In each machine's folder
|
Machine settings file extension |
.xml |
.vbox
|
File → Export Appliance
Erreurs
Impossible de supprimer une MV
Échec de la suppression de l'instantané {I} de la machine virtuelle {MV}.
Hard disk {HD} has more than one child hard disk (n).
Explication : le fichier *.vdi est utilisé par une autre MV.
Solution : Fichier → Gestionnaire de media …
Sélectionner les fichiers *.vdi correspondant à la MV à supprimer.
Si le fichier *.vdi est « non-connecté » ou « Not Attached », il ne pose pas problème.
Si le fichier *.vdi est connécté à une MV, il doit être libéré.
Qt WARNING: libpng warning: iCCP: known incorrect sRGB profile
Les instantanés (snapshots)
Permet de sauvegarder / restaurant la MV dans un certain état.
Chaque instantané créé un nouveau disque *.vdi, ce qui devient assez vite très gourmand en espace disque.
Les partages réseau
Installez les Guest Additions : Périphériques → Installer les additions invités...
Puis dans les préférences de la MV ajoutez des dossiers à partager.
Hôte Windows
Une fois dans la MV, connectez un lecteur réseau sur le partage \\vboxsrv\NomDuDossierPartagé ou exécutez la commande suivante :
|
net use Z: \\vboxsrv\NomDuDossierPartagé
|
Hôte Linux
|
# ajouter l'utilisateur courant au groupe vboxsf pour utiliser l'automount → /media/sf_[nom du partage configuré dans vbox]
sudo gpasswd -a [user] vboxsf
# se délogguer pour que la modification s'applique
# monter le partage manuellement
sudo mount -t vboxsf [nom du partage configuré dans vbox] /media/dossier
|
Changer l'UUID d'un disque vdi
|
C:\Program File\VirtualBox\VBoxManage internalcommands setvdiuuid disk.vdi
|
|
Si le disque a des snapshots, il faut tous les supprimer. Sinon pas de redimensionnement. |
Disques VDI
|
VBoxManage modifyhd your_virtual_disk.vdi --resize the_new_size
# Monter GParted Live ISO pour redimensionner la partition
# On GPT disks, increasing the size of the disk will result in the backup GPT header not being at the end of the device.
# GParted will ask to fix this, click on Fix.
|
Méthode générique
|
# créer un nouveau disque de la taille souhaitée (en Mio, ici 10000 Mio ≈ 10 Gio)
VBoxManage createhd -filename new.vdi --size 10000
# cloner l'ancien disque
VBoxManage clonehd old.vdi new.vdi --existing
# lister les machines virtuelles
VBoxManage list vms
# afficher les infos de la machine à copier
VBoxManage showvminfo VM_name
# Storage Controller Bootable (1): on
# IDE (1, 0): Empty
# SATA (0, 0): ...
# on a donc storagectl SATA et port 0 (<SATA> (<0>, 0))
# Détacher l'ancien disque et attacher le nouveau
# storagectl SATA et port 0 sont à remplacer par les valeurs obtenues avec showvminfo
VBoxManage storageattach VM_name --storagectl SATA --port 0 --medium none
VBoxManage storageattach VM_name --storagectl SATA --port 0 --medium new.vdi --type hdd
# Monter GParted Live ISO pour redimensionner la partition
# On GPT disks, increasing the size of the disk will result in the backup GPT header not being at the end of the device.
# GParted will ask to fix this, click on Fix.
# dés-enregistrer l'ancien disque et le supprimer
VBoxManage closemedium disk old.vdi
rm old.vdi
|
Ancienne méthode
Il suffit de copier la partition dans une partition plus grande :
- Créer un deuxième disque virtuel de la taille souhaitée et l'ajouter en slave du premier
- Télécharger GParted live et booter la machine virtuelle sur l'iso
- Dans GParted, copier la première partition et la coller dans la deuxième. Pendant le collage, agrandir la partition pour qu'elle prenne tous l'espace. Enfin cliquer sur Apply.
- Ensuite clique droit sur la nouvelle partition → Manage Flags → sélectionner « boot ».
- Désactiver le boot sur le live cd, faire de la nouvelle partition une master partition et supprimer l'ancienne.
- Au boot, xp va vérifier le système de fichier.
|
# Linux guest: nullify free space
telinit 1
mount -o remount,ro /dev/sda1
zerofree -v /dev/sda1
# Windows guest: defrag then nullify free space with SDelete from Sysinternals
sdelete.exe c: -z
# compact
vboxmanage modifymedium --compact /path/to/thedisk.vdi
|
|
# démarrer MaVM
VBoxManage startvm "MaVM"
# sauvegarder l'état de MaVM et l'arrêter
VBoxManage controlvm "MaVM" savestate
# lister les VM qui tournent
VBoxManage list runningvms
# obtenir l'UUID depuis le nom
VBoxManage showvminfo "MaVM" | rg ^UUID | awk '{print $2}'
|
Convert a VHDX to VDI
|
vboxmanage clonemedium disk ./vm.vhdx ./vm.vdi --format VDI
|
La fonctionnalité RawDisk permet de booter sur une partition d'un vrai DD ou une clé usb. Le fichier *.vmdk doit être utilisé comme un DD virtuel dans VB.
Créer un lien vers une partition
|
# ajouter l'utilisateur courant au groupe disk
sudo gpasswd -a [user] disk
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,2 -relative
|
|
Pour les clés usb ou s'il n'y a qu'une partition ne pas utiliser -partitions |
Commandes Windows
|
REM lister les disques
wmic diskdrive get name,size,model
REM lister les partitions
VBoxManage internalcommands listpartitions -rawdisk \\.\PhysicalDrive0
VBoxManage internalcommands createrawvmdk -filename C:\path\to\file.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 1,2 -relative
|
Déplacer un dossier contenant une machine virtuelle
~/.config/VirtualBox/VirtualBox.xml
|
<MachineRegistry>
<MachineEntry uuid="{1234abcd-1234-abcd-efgh-000000000000}" src="/path/MyMachine/MyMachine.vbox"/>
|
|
pacman -S virtualbox virtualbox-host-modules-arch virtualbox-guest-iso
# add current user to vboxusers group
sudo gpasswd -a $USER vboxusers
|
|
Redémarrer pour que le module vboxdrv soit chargé et la modification du groupe soit prise en compte. |
|
Pour l'USB 2, il faut en plus installer l'Extension Pack |
Activer la virtualisation dans le bios (VT-x, AMD-V, hardware-V)
Asus EFI Bios: Advances Mode → Advanced → CPU Configuration → Technologie de virtualisation Intel
- Télécharger l'Extension Pack
- File → Tools → Extension Pack Manager
|
Il faut les droits root pour l'installation. Polkit ou gksu doit être installé pour demander les droits root. |
Logs
$HOME/VirtualBox VMs/{machinename}/Logs
Guests
64 bits
- Window screen RCtrl + F1
- Full screen LCtrl + Alt + F1
EFI
|
Settings → System → Onglet Motherboard → Enable EFI |
Les entrées ne sont pas sauvegardées une fois la machine virtuelle éteinte.
- Solution 1: utiliser le bootloader par défaut
Renommer /boot/EFI/refind/refind_x64.efi en /boot/EFI/BOOT/bootx64.efi
- Solution 2: créer le script startup.nsh
/boot/startup.nsh
|
\EFI\refind\refind_x64.efi
|
- Solution 3: lancer manuellement le bootloader directement depuis le shell UEFI
|
\EFI\refind\refind_x64.efi
|
Xorg
|
pacman -S xorg-server xf86-video-vesa
|
Guest Additions
|
# pilote vidéo
pacman -S virtualbox-guest-modules-arch
# VirtualBox Guest userspace utilities
pacman -S virtualbox-guest-utils
systemctl enable vboxservice
|
3D Acceleration
|
glxinfo | egrep "(OpenGL vendor|OpenGL renderer|OpenGL version)"
# accélération logicielle avec LLVMPipe
# OpenGL vendor string: VMware, Inc.
# OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.7, 256 bits)
# OpenGL version string: 3.0 Mesa 11.1.1
# accélération matérielle
# OpenGL vendor string: Humper
# OpenGL renderer string: Chromium
# OpenGL version string: 2.1 Chromium 1.9
|
|
The AIGLX errors in Xorg.x.log are displayed even when 3D is working correctly. |
/var/log/Xorg.0.log
|
(II) AIGLX: Screen 0 is not DRI2 capable
(EE) AIGLX: reverting to software rendering
|
Problème réseau: e1000 0000:00:03.0 enp0s3: Detected Tx Unit Hang
Changer le pilote de la carte réseau: Intel PRO/1000 MT Desktop → PCnet Fast III
Debian
Installation des Guest Additions
|
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential module-assistant
# Configure your system for building kernel modules
sudo m-a prepare
# monter les Guest Additions
sudo sh /media/cdrom/VBoxLinuxAdditions.run
|
Fedora
Pour pouvoir installer les Guest Additions, installer la paquet kernel-devel.
Ubuntu Server
Installation des Guest Additions:
- Devices → Insert Guest Additions CD image
|
sudo mkdir /media/cdrom
sudo mount /dev/cdrom /media/cdrom
cd /media/cdrom
# installer les dépendances nécessaires
sudo apt-get install -y dkms build-essential linux-headers-generic linux-headers-$(uname -r)
# passer à l'utilisateur root
sudo su
# installer les Guest Additions
./VBoxLinuxAdditions.run
# rebooter puis tester que le module est bien chargé
lsmod | grep -io vboxguest
|
Ubuntu desktop
|
# gcc, make and perl are needed to build the kernel with the vbox guest additions
sudo apt install build-essential
|