« VirtualBox » : différence entre les versions
(→Links) |
|||
Ligne 4 : | Ligne 4 : | ||
= Links = | = Links = | ||
* [https://www.virtualbox.org/wiki/Changelog Changelog] | * [https://www.virtualbox.org/wiki/Changelog Changelog] | ||
= [https://www.virtualbox.org/manual/ch03.html Guests configuration] = | |||
== System == | |||
{| class="wikitable wtp" | |||
!+ Motherboard | |||
! Setting | |||
! Description | |||
|- | |||
| Base memory || | |||
|- | |||
| Chipset || | |||
|- | |||
| Pointing Device || | |||
|- | |||
| Enable I/O APIC || | |||
|- | |||
| Enable EFI || | |||
|- | |||
| Hardware Clock in UTC Time || | |||
|} | |||
= [https://forums.virtualbox.org/viewtopic.php?f=2&t=72851 Pilote de la souris] = | = [https://forums.virtualbox.org/viewtopic.php?f=2&t=72851 Pilote de la souris] = |
Version du 13 novembre 2021 à 15:04
Logs
$HOME/VirtualBox VMs/{machinename}/Logs
Links
Guests configuration
System
+ Motherboard | Setting | Description |
---|---|---|
Base memory | ||
Chipset | ||
Pointing Device | ||
Enable I/O APIC | ||
Enable EFI | ||
Hardware Clock in UTC Time |
Pilote de la souris
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! |
Save the machine state
Fermer la VM avec la croix → Save the machine state
Accélération 2D et 3D
Raccourcis clavier
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 |
Seemless mode - Bureau intégré
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
Multi-coeurs
Configuration → Système → Processeur
Le nombre de cœurs de la MV est indépendant du nombre de cœurs de l'hôte car ceux-ci sont virtuels.
IO-APIC
Permet de démarrer un autre OS installé sur le DD dans une MV.
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 |
Quitter le mode Plein Écran
Ctrl droit + f
Changer l'UUID d'un disque vdi
C:\Program File\VirtualBox\VBoxManage internalcommands setvdiuuid disk.vdi |
Redimensionner une partition
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.
Modes d'accès au réseau
Not attached
La machine virtuelle n'est connectée à aucun réseau.
Network Address Translation (NAT)
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
CLI / VBoxManage
# 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 |
Boot sur un disque dur physique ou une clé usb
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 |
Prise de contrôle à distance
VB intègre un serveur de bureau distant, extension de Microsoft's Remote Desktop Protocol (RDP)
Authentification
- Aucune
- Externe : utilisation du compte hôte pour la connexion sur le système invité (WinLogon, PAM)
- Client (testing!!!) : utilisation du compte invité (Guest Additions)
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"/> |
Installation sur Archlinux
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
Installer l'Extension Pack
- Télécharger l'Extension Pack
- File → Preferences → Extensions → Add package
Il faut les droits root pour l'installation. Polkit ou gksu doit être installé pour demander les droits root. |
Guests
64 bits
- Activer dans le BIOS
- Intel Virtualization Technology
- Inter VT-d Feature
- Désinstaller VMWare
- Désactiver Hyper-V (Windows 8)
Send Ctrl + Alt + F1
- Window screen RCtrl + F1
- Full screen LCtrl + Alt + F1
ArchLinux
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 |
- No 3D acceleration with Arch + virtualbox-guest-modules 4.3.24-1
- ArchLinux utilise mesa 11.1.1 alors que Mint utilise mesa 10.5.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 |