Contenu | Rechercher | Menus

Stop ! Ceci est la version du 10/12/2010 de la page concernant VirtualBox.
C'est une sauvegarde concernant VirtualBox 3 uniquement.

VirtualBox

VirtualBox est un logiciel de virtualisation de systèmes d'exploitation. En utilisant les ressources matérielles de l'ordinateur (système hôte), VirtualBox permet la création d'un ou de plusieurs ordinateurs virtuels dans lesquels s'installent d'autres systèmes d'exploitation (systèmes invités).

Les systèmes invités fonctionnent en même temps que le système hôte, mais seul ce dernier a accès directement au véritable matériel de l'ordinateur. Les systèmes invités exploitent du matériel générique, simulé par un « faux ordinateur » (machine virtuelle) créé par VirtualBox.

VirtualBox permet de faire fonctionner plus d'un système d'exploitation en même temps en toute sécurité. En effet, les systèmes invités n'interagissent pas directement avec le système hôte, et n'interagissent pas entre eux. Le champ d'action des systèmes invités est confiné, limité à leur propre machine virtuelle.

Terminologie

Certains termes techniques concernant le domaine de la virtualisation sont employés dans ce document. En voici quelques-uns :

  • Le système hôte est le système d'exploitation principal de votre ordinateur, c'est notamment lui qui permet de faire fonctionner VirtualBox.
  • Le système invité est le système d'exploitation installé à l'intérieur d'une machine virtuelle.
  • La machine virtuelle est un ordinateur virtuel créé par VirtualBox.
  • La touche hôte est la touche permettant de capturer le pointeur de la souris dans la machine virtuelle ou de la libérer vers le système d'exploitation hôte.

→ Voir aussi sur Wikipédia : Virtualisation, Système d'exploitation.

Configuration requise

Afin de pouvoir utiliser VirtualBox sur votre machine, vous devez posséder au minimum la configuration suivante.

  • Processeur : 1 GHz (simple cœur)
  • Mémoire vive : 512 Mio
  • Disque dur : 80 Mio d'espace disque libre
  • Carte graphique : peu importe

Ceci étant la configuration minimale, elle n'est pas forcément adaptée à toutes les utilisations.
En effet, pour pouvoir utiliser certains systèmes d'exploitations ou logiciels via VirtualBox, il vous faudra une configuration plus solide.

Le tableau récapitulatif suivant donne quelques exemples de configuration minimale en fonction du système d'exploitation utilisé sur une machine virtuelle. Est indiqué entre parenthèse la mémoire qui devra être dédiée à la machine virtuelle.

Système d'exploitation Processeur Mémoire vive Espace disque libre
Ubuntu 1 GHz 1 Gio (512 Mio) 5 Gio
Kubuntu 1 GHz 1 Gio (512 Mio) 5 Gio
Lubuntu 1 GHz 512 Mio (256 Mio) 4 Gio
INX Is Not X 1 GHz 256 Mio (128 Mio) 0 Mio
Windows XP 1 GHz 1 Gio (384 Mio) 3 Gio
Windows Vista 2 GHz 1 Gio (512 Mio) 7 Gio

Bien que VirtualBox occupe environ 80 Mio d'espace disque, les machines virtuelles requièrent un « énorme » fichier pour pouvoir enregistrer le disque dur virtuel, c'est pourquoi l'espace disque libre requis est si important.

Cependant, si vous n'utilisez pas de disque dur virtuel (comme par exemple avec INX Is Not X), ne tenez pas compte de l'espace disque libre requis supplémentaire.

Mac osx est maintenant disponible sur VirtualBox

Installation

VirtualBox est décliné en deux éditions :

La version PUEL intégre les fonctionnalités supplémentaires suivantes : bureau à distance (protocole RDP), support des périphériques USB, USB accessible avec une solution de bureau à distance.

Les éditions OSE (libre) et PUEL (propriétaire) de VirtualBox sont mutuellement exclusives : elles ne peuvent être installées en même temps. Si vous tentez d'installer l'édition PUEL alors que l'édition OSE est déjà installée, l'édition OSE sera désinstallée automatiquement avant que l'édition PUEL s'installe, et vice versa.

Version libre (OSE)

Pour installer l'édition libre de VirtualBox, il suffit d'installer le paquet virtualbox-ose.
Toutes les dépendances seront installées automatiquement.

Version non libre (PUEL)

Ajoutez un des dépôts suivants à vos sources de mises à jour (choisissez celui correspondant à votre version d'Ubuntu) :

Version Dépôt
Ubuntu 10.10 deb http://download.virtualbox.org/virtualbox/debian maverick non-free
Ubuntu 10.04 LTS deb http://download.virtualbox.org/virtualbox/debian lucid non-free
Ubuntu 9.10 deb http://download.virtualbox.org/virtualbox/debian karmic non-free
Ubuntu 9.04 deb http://download.virtualbox.org/virtualbox/debian jaunty non-free
Ubuntu 8.04 LTS deb http://download.virtualbox.org/virtualbox/debian hardy non-free
  1. Dans une fenêtre de terminal (Applications → Accessoire → Terminal), exécutez la commande suivante afin de récupérer la clé de signature du dépôt de VirtualBox:
    wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
  2. Lors de l'installation, un message de configuration vous indique qu'un groupe d'utilisateurs (vboxusers) doit être créé et que votre compte y sera assigné. (Afficher un exemple de message.) Les membres du groupe d'utilisateurs vboxusers seront les seuls membres à pouvoir exécuter VirtualBox et créer des machines virtuelles. Appuyez sur le bouton « Suivant » pour confirmer la création du groupe ;
  3. Un second message de configuration vous indique qu'un module (vboxdrv) doit être compilé pour votre noyau Linux. (Afficher un exemple de message). Ceci est nécessaire pour l'interaction entre VirtualBox et votre système Ubuntu. Appuyez sur le bouton « Suivant » pour confirmer la compilation du module vboxdrv ;
  4. Une fois l'installation complétée, vous devez obligatoirement clore votre session utilisateur, puis la rouvrir. Ceci est nécessaire afin de prendre en charge des nouvelles autorisations pour l'utilisation de VirtualBox.

Pour Maverick, si vous installez le dépôt à partir du gestionnaire de paquet synaptic, il vous rajoutera le dépôt correspondant au code source. Ce dépôt n'existe pas, vous rencontrerez une erreur. Retirez le de la liste des dépôts pour ne plus avoir de message d'erreur.

Autre installation

phpVirtualBox est une interface d'administration pour VirtualBox accessible depuis un navigateur internet. Nécessite la version PUEL de Virtualbox pour fonctionner.

Utilisation

Lancement du logiciel

Le lanceur de VirtualBox OSE est accessible depuis le menu Applications → Accessoires → VirtualBox OSE.
Celui de la version PUEL est accessible depuis le menu Applications → Outils systèmes → Oracle VM VirtualBox (ou Sun VirtualBox avant VirtualBox 3.2).

Description des principales commandes

  • Fichier → Gestionnaire de supports virtuels, pour gérer les images de disque dur virtuel, cd-rom et disquette ;
  • Machine → Nouveau, pour créer une nouvelle machine virtuelle ;
  • Machine → Préférences, pour configurer une machine virtuelle ;
  • Touche Hôte + F, affichage d'un système invité en plein écran ;
  • Touche Hôte + Q, fermeture de la machine avec différents choix (sauvegarde, extinction, fermeture brutale) ;
  • Touche Hôte + R, effectuer un « reset » sur un système invité ;
  • Touche Hôte + H, extinction de la machine ;
  • Touche Hôte + Suppr., exécute Ctrl + Alt + Suppr sur un système invité Windows.

Créer une machine virtuelle

La création de machine virtuelle est identique sur tous les systèmes hôtes (GNU/Linux, MacOS, MS Windows, etc.).

Voici une liste de tutoriels :

Configurer une machine virtuelle

La configuration de machine virtuelle est identique sur tous les systèmes hôtes (GNU/Linux, MacOS, MS Windows, etc.).

Voici une liste de tutoriels :

Installer un système invité

Partant du principe que vous utilisez un système hôte Ubuntu, il y a de forte probabilité que vous souhaitez installer un système invité Windows pour vos derniers jeux et logiciels qui ne fonctionnent pas avec Wine ou PlayOnLinux.

Pour des raisons de performances, il est recommandé d'installer Windows XP qui est une version relativement légère de Windows et assez récente pour supporter les derniers logiciels. Si vous possédez une licence pour les versions suivantes (Vista et 7), leur installation et utilisation demandera plus d'espace disque et de ressources mais reste tout à fait exploitable.

Pour installer Windows comme système invité :

Pour installer d'autre version d'Ubuntu comme système invité :

Périphériques USB (version OSE)

Il est possible d'utiliser les périphériques de stockage USB en utilisant la commande VBoxManage (disque dur, carte mémoire, clé usb). Le périphérique en question (du moins la partition) ne sera pas partagé entre le système hôte et le système invité.

Si vous souhaitez utiliser d'autres types de périphériques USB comme un téléphone, une webcam ou une imprimante, vous serez obligé d'utiliser l'édition PUEL de VirtualBox.

Il faut commencer par permettre l'utilisation des ports USB pour VirtualBox en indiquant les comptes qui appartiendront au groupe disk.

sudo usermod -G disk -a username

La commande ci-dessous est potentiellement dangereuse car le système invité aura un accès complet au périphérique (même si le problème n'est pas là). Si vous souhaitez partager des données, veuillez consulter la rubrique partage réseau.

VBoxManage internalcommands createrawvmdk -filename fedora.vmdk -rawdisk /dev/sda -partitions 4 -relative
  • filename : nom du fichier de destination
  • rawdisk : le chemin vers le périphérique de stockage usb, sata, esata, firewire…
  • partitions : le numéro de la partition souhaité (facultatif)
  • relative : FIXME

Un peu plus d'informations sur le forum.

Attention, même s'il est possible d'accéder à /dev/sda4 depuis le système hôte lorsque la machine virtuelle l'utilisant via le fichier vmdk est en cours d'exécution, ce n'est pas forcément une très bonne idée de le faire, même en lecture seule.

En effet, les modifications apportées sur le périphérique de stockage depuis le système hôte ne seront visibles sur la machine virtuelle que lorsque celle-ci aura redémarrée. Même chose dans l'autre sens.

En cas de problème, dans le pire des cas, un petit formatage s'imposera de lui même.

Périphériques USB (version PUEL)

VirtualBox PUEL rend disponible les périphériques USB dans le système invité. Pour accéder aux périphériques USB, il faut :

  1. Permettre l'utilisation des ports USB1) pour VirtualBox en indiquant les comptes qui appartiendront au groupe vboxusers ;
  2. Activer le contrôleur USB dans la configuration de votre machine virtuelle ;
  3. Ajouter un filtre à partir du périphérique grâce au bouton situé dans la colonne de droite. Si le périphérique n'est pas connecté, il faudra entrer les informations manuellement ;
  4. Cocher la case à gauche du périphérique déclaré précédemment si on souhaite le monter automatiquement.

Attention, le périphérique n'est disponible que dans un système à la fois (système hôte ou un des systèmes invités).

Par exemple, si vous démarrez votre système invité alors que votre clé USB est en cours de transfert sur votre système hôte, ce transfert sera interrompu de manière « sauvage » (sans éjection). Cette fonction automatique est donc à utiliser selon vos besoins.

Les périphériques USB restent parfois en grisé lorsqu'on effectue un clic droit sur l'icône de la clef en bas de la fenêtre d'émulation de l'OS.

Pour y remédier : dans système / administration / utilisateurs et groupes / paramètres avancés / paramètres utilisateurs : cocher « utiliser le système de virtualisation virtualbox » et redémarrer (la session)

Sous Ubuntu 10.10, il existe un bogue : il faut modifier le fichier /etc/udev/rules.d/10-vboxdrv.rules2) pour pouvoir utiliser les périphériques USB.


Modifier les droits de 0664 à 0666 pour les lignes suivantes:

SUBSYSTEM=="usb_device", GROUP="vboxusers", MODE=0666
// SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", GROUP="vboxusers", MODE=0666

Redémarrer l'ordinateur.

Partage de dossiers entre Windows et Linux (version PUEL)

  1. Lancer Virtualbox PUEL
  2. Sélectionner la machine virtuelle Windows. Dans la fenêtre de droite, cliquez sur Dossiers partagés. Cliquer sur le dossier à droite avec la croix verte. Dans la nouvelle fenêtre, cliquer sur la flèche et autres. Sélectionner votre dossier.
  3. Lancer Windows
  4. Aller dans Démarrer, et cliquer droit sur Poste de travail, puis se connecter à un lecteur réseau. Sélectionner Parcourir, puis virtualbox Shared Folders, ensuite cliquez sur les + jusqu'à retrouver le nom du dossier que vous voulez partager. Cliquer sur ok

Optimisations

Améliorer l'émulation : les additions invité

VirtualBox propose des pilotes adaptés pour les système invité comme Windows ou ceux basés sur Linux. Ceux-ci permettent un affichage graphique plus rapide (avec gestion de l'accélération 2D et 3D), le partage du presse-papier, le partage de répertoires et une capture/libération dynamique du curseur lorsque celui-ci se déplace entre système hôte et système invité.

Ce jeu de pilotes s'appelle les additions invité (en anglais : guest additions). Comme leur nom l'indique, c'est uniquement dans le système invité que que les additions invité doivent être installés ; le système hôte n'en a pas besoin.

:!: Après installation des additions invité, vous devez arrêter puis réamorcer votre système invité. Tant que le réamorçage de votre système invité n'est pas effectué, les additions invité demeurent inactifs.

Système invité de type Linux

Sur Ubuntu installez les paquets suivants : virtualbox-ose-guest-utils, virtualbox-ose-guest-x11 et virtualbox-ose-guest-dkms (si disponible).
Pour les distributions Linux ne proposant pas de paquet, reportez vous au chapitre suivant.

Système invité de type Windows

L'installation se fait sur une machine en cours de fonctionnement :

  • Dans le menu Périphériques → Installer les additions invité…
  • Avec le raccourcis touche hôte + D

VirtualBox va monter automatiquement une image ISO fournie avec l'émulateur. Si un message indique que les additions ne sont pas disponibles vous pouvez au choix :

Après le téléchargement ou l'installation du paquet, recommencez l'installation des additions invité.

Si la carte son ne fonctionne pas avec un système invité Windows Vista ou Windows 7, installez les pilotes de la carte son Realtek AC'97.

Partage réseau

VirtualBox offre plusieurs manières de gérer l'accès au réseau du système invité :

  • Non attaché: équivaut à une interface Ethernet sur laquelle aucun câble n'est connecté ;
  • NAT ;
  • Adaptateur réseau hôte ;
  • Réseau interne: Les machines virtuelles sont reliées entre elles mais isolées de l'extérieur ;
  • Bridge (ou « accès par pont »), les machines virtuelles peuvent communiquer totalement entre elles vers l'extérieur via la machine hôte.

Ces options sont disponibles dans les paramètres du système invité

Afin d'alléger cette page, veuillez consulter :

FIXME: les pages de la doc citée précédemment sont à restructurer, même chose pour la description des modes d'accès réseau.

Résolution d'écran avec un live-CD

Lorsque l'on utilise un Live CD Ubuntu sous VirtualBox, la résolution d'écran est limitée à 800x600.
Pour obtenir une meilleure résolution :

  1. Éditer le fichier /etc/X11/xorg.conf avec les droits d'administration ;
  2. Ajoutez les trois lignes suivantes :
    Section "Monitor"
        HorizSync    31-67
    EndSection
  3. Enregistrez les changements ;
  4. Redémarrez la session du live CD.

Utilisation avancée

Cette rubrique est optionnelle, les informations citées précédemment suffisent pour une utilisation basique. Elle s'adresse aux personnes curieuses d'apprendre ou disposant de quelques connaissances techniques.

Les instantanés

L'utilisation d'instantanés permet de revenir à un état antérieur, c'est une sorte de restauration système. Dans la fenêtre de gestion VirtualBox, sélectionnez l'onglet instantané puis cliquez sur l'appareil photo.

Vous pouvez également enregistrer l'état de la machine lorsque celle ci est en cours d'utilisation, c'est un sorte de mise en veille prolongée qui accélérera le démarrage de la machine. Combiné aux instantanés cela permet de gagner du temps.

Si vous souhaitez détruire la machine, il vous faudra détruire auparavant les instantanés enregistrés.

Si vous souhaitez revenir à l'état d'un instantané, supprimez les étapes ultérieures, sachant que vous perdrez ce qui a été modifié ou ajouté entre temps. Si vous avez fait plusieurs instantanés, vous pouvez supprimer les instantanés intermédiaires, ils seront fusionnés avec l'instantané précédent.

Exemple

Vous venez d'installer un nouveau système, de le configurer, de l'optimiser et de compresser votre fichier .vdi. Avant d'installer les premiers logiciels ou mises à jour il est intéressant de sauvegarder cet état avant d'aller plus loin. Cela permet de restaurer un système sain en quelques secondes.

La proposition suivante, concerne l'installation de Windows XP qui occupe moins de place et demande moins de ressources que les versions suivante de Windows. Le système fonctionnera déconnecté d'internet rendant inutile l'utilisation de mise à jour de sécurité, d'antivirus et de firewall.

  1. Créez une machine virtuelle pour accueillir Windows XP ;
  2. Configurez votre machine pour « débrancher » la carte réseau virtuelle ;
  3. Installez Windows XP ;
  4. On va conserver le système déconnecté d'internet: désactivez les mises à jours et le firewall ;
  5. On utilise les instantanés de VirtualBox: désactivez les restaurations système ;
  6. Configurez et optimisez selon vos besoins le système pour l'alléger au maximum l'utilisation du disque et des ressources système ;
  7. Éteignez votre OS Guest ;
  8. Compresser votre image disque (voir plus bas) ;
  9. Redémarrez votre OS Guest ;
  10. Dans le menu machine, choisissez « fermer… » et choisissez l'option « enregistrez l'état de la machine » ;
  11. Dans l'interface VirtualBox, allez dans l'onglet « Instantané » et saisissez un instantané portant le nom config propre (par exemple).

Vous venez de finir l'installation et l'optimisation d'un système complet ainsi que sa protection contre les modifications. En cas de détérioration vous pouvez restaurer votre configuration en quelques seconde. Toutes modification faite après la création de l'instantanée sera détruite.

Exécution d'une Machine

Vous pouvez exécuter une machine virtuelle sans passer par l'interface de gestion de VirtualBox. Pour cela utilisez la commande :

VBoxManage startvm "<nom de votre machine virtuelle>"

ou encore, si vous exécutez la machine virtuelle depuis un serveur sans interface graphique, utilisez la commande :

vboxheadless --startvm "nom de votre machine virtuelle"

Utilisez les guillemets s'il y a un espace dans le nom de votre machine virtuelle.

La commande précédente ne fonctionne plus pour VirtualBox 3.2.4 voici la commande qui la remplace :

VBoxManage startvm --type headless "UUID de la machine virtuelle"

On trouve l'UUID de la machine virtuelle en éditant le fichier ./.VirtualBox/VirtualBox.xml.

Si vous désirez créer un lanceur que vous placerez sur le bureau ou sur le tableau de bord, créez un lanceur. Dans la petite fenêtre qui apparaît, entrer le nom de votre lanceur dans le champs « Nom » et la commande ci-dessus dans le champs « Commande ». Votre lanceur créé, vous pouvez cliquer dessus et vous aurez votre machine virtuelle.

Si vous souhaitez garder le processus au premier plan, une autre commande peut être utilisée :

VirtualBox -startvm "<nom de votre machine virtuelle>"

Utilisation d'un disque dur physique

Il est possible de démarrer un système d'exploitation déjà présent (donc déjà installé) dans VirtualBox. Actuellement, l'interface graphique de VirtualBox ne le permet pas, mais un jour peut être…

Compresser un disque dur virtuel

Une image disque à taille dynamique est agrandie en fonction des besoins du système invité. Elle ne diminue pas si l'espace n'est plus occupé, à la longue, ceci peut devenir gênant. L'objectif de cette solution est de réduire l'espace occupé par l'image disque à son espace réellement occupé. Cette solution consiste à cloner le disque dur sur un second qui recevra alors uniquement les données écrites.

Clonezilla, qui sera utilisé par la suite, ne peut pas cloner un disque vers un disque de taille inférieure.

La procédure décrite ci-après permet aussi de passer d'un disque à taille fixe vers un disque à taille variable.

  1. Créez un nouveau disque dur à taille dynamique, dont la taille est égale ou supérieure au disque que vous souhaitez compresser ;
  2. Ouvrez les préférences du système invité concerné, dans la rubrique support ajoutez le nouveau disque dur en tant que IDE Primaire Esclave ;
  3. La taille des disques étant probablement identique, seul leur UUID permettra de les différencier sous Clonezilla. Pour connaître l'UUID des disques virtuels, tapez ceci dans un terminal.
    VBoxManage showvminfo "Nom de votre système invité"
  4. Téléchargez Clonezilla et montez le dans le système invité ;
  5. Démarrez le système invité et lancez Clonezilla ;
  6. Choisissez device-device disque/partition vers disque/partition pour cloner le disque ;
  7. Choisissez disque local vers disque local pour utiliser les disques en attachements de le système invité ;
  8. Effectuez le clonage du disque contenant le système (celui qui doit être compressé) vers le nouveau disque dur (encore vierge) ;
  9. Après le clonage, éteignez le système invité ;
  10. Ouvrez les préférences du système invité, retirez le disque dur d'origine des attachements du système invité afin de garder uniquement le nouveau disque dur qui vient de recevoir le clonage ;
  11. Modifier l'emplacement du disque pour le placer en IDE Primaire Maître ;
  12. Le système invité occupe à présent uniquement l'espace qui lui est strictement nécessaire ;
  13. Si tout fonctionne correctement, vous pouvez supprimer l'ancien disque dur.

Copier un disque virtuel

Si vous avez besoin de dupliquer (ou tout simplement sauvegarder) l'un de vos disques virtuel, voici la procédure :

cd ~/.VirtualBox/HardDisk/
VBoxManage clonevdi nom_du_disque_existant.vdi nom_de_votre_copie.vdi

Il vous suffira de l'ajouter par la suite dans le manager de virtualbox.

Redimensionner un disque virtuel

Il faut créer un nouveau disque virtuel de la taille voulue puis cloner le contenu de l'ancien disque virtuel vers le nouveau :

VBoxManage clonehd ancien.vdi --existing nouveau.vdi

"ancien.vdi" et "nouveau.vdi" sont à remplacer respectivement par les noms de vos disques. Puis une fois la machine virtuelle démarrée sur le nouveau disque, le disque dur virtuel a effectivement changé de taille mais pas encore la (dernière, si vous en avez plusieurs) partition, pour terminer il faut donc le faire. Pour une machine virtuelle Windows il faut aller dans "Gérer" dans le bouton de droite sur l'icone "Poste de travail", puis l'onglet "Gestion des disques", clic droit sur la partition puis "Étendre le volume". L'opération est immédiate.

Copier une machine virtuelle

N'hésitez pas à utiliser les options d'import/export très pratiques pour cloner vos machines virtuelles, les uuid, mac adresses etc, seront régénérés.

VBoxManage export Mamachine -o Mamachine.ovf 
VBoxManage import Mamachine.ovf

L'option -dry-run est conseillé pour simuler l'import et détecter des erreurs éventuelles. Il permet aussi d'accéder aux « more options » de l'import, par exemple si vous souhaitez importer plusieurs fois une machine virtuelle, il peut être intéressant de changer le nom :

VBoxManage import ./MaMachine/MaMachine.ovf --vsys 0 --vmname MaNouvelleMachine

Réduire un disque virtuel (à taille variable ou fixe)

Vous pourrez rencontrer ce besoin si vous n'avez plus assez d'espace physique pour contenir les différents disques durs virtuels dynamique. Cela peut se rencontrer si vous avez été trop optimiste ou que vous vous êtes fait avoir par les Gio et Go ! Donc il peut arriver qu'une machine virtuelle soit bloquée car le système invité croit pouvoir écrire un fichier alors que cela est refusé par le système hôte car il n'a plus la place physique pour le faire ! En effet, NTFS et d'autres systèmes de fichiers peuvent vouloir écrire des données à la fin du disque virtuel cela aura pour effet d'augmenter au maximum le VDI à taille variable. Par exemple, admettons que Disque_a_compresser.vdi fasse 100 Gio et que vous n'avez la place que pour 90 Gio (les données utiles occupent 50 Gio dans notre exemple).

La première étape est de faire une sauvegarde de votre disque à réduire (je vous conseille de ne plus travailler qu'avec celui-ci avant de terminer les manipulations). Vous pouvez utiliser un support externe en cas de manque de place.

vboxmanage clonevdi ancien.vdi Disque_a_compresser.vdi

Par la suite, s'il s'agit d'un OS Windows :

  • Essayez de réduire son volume (utilisez CCleaner ou autre permettant de vider les caches, les uninstalls inutiles, etc., vous pouvez vous inspirer de ce lien http://eljuky.com/Forum/Base_de_connaissances/reduire_l_occupation_disque_de_windows_xp_reel_et_virtualise__6-672-1.htm,
  • Défragmentez ! En effet, NTFS ou FAT écrivent des fichiers un peu partout sur le disque donc pour gagner sur la taille finale du disque il est indispensable d'obtenir des fichiers le plus contigus possibles (effectuez plusieurs fois si nécessaire avec l'outil Windows ou JKdefrag par exemple),
  • Remplacez l'espace vide par des 0. Vous pouvez réaliser cette opération à l'aide de SDelete (en CLI) ou via JKDefrag GUI. Cette opération est incontournable si vous souhaitez récupérer l'espace libre lors de la création du nouveau fichier vdi,
  • Une fois ces étapes terminées, éteignez votre VM.

S'il s'agit d'un Linux, voir : http://maketecheasier.com/shrink-your-virtualbox-vm (en anglais et paragraphe nommé : For Linux Guest). Je n'ai pas testé cette méthode.

Si vous souhaitez seulement réduire la taille du disque virtuel variable, il existe la commande : vboxmanage modifyvdi Disque_a_compresser.vdi compact

Une fois ces opérations terminées, il faut réduire la taille du volume vers celle que vous aurez souhaité. Pour changer la taille du volume, il suffit d'utiliser GParted (et que l'espace soit libre bien entendu) pour le réduire vers 89,9Gio. S'il s'agit d'un OS Windows, je vous conseille de démarrer votre machine sur un ISO Ubuntu et de lancer GParted. S'il s'agit d'un Linux, pas de problème. Cette opération sera relativement rapide, car le disque n'étant plus fragmenté, GParted n'aura pas à déplacer de fichier mais uniquement à changer la taille dans la table des partitions du disque (virtuel).

Ensuite créez un nouveau disque VDI sur votre machine (Disque_compresse), celui-ci doit être d'une taille au moins supérieure au volume de données à copier (dans notre exemple 90 Gio). Puis clonez le disque dur vers celui qui a une taille inférieure :

vboxmanage clonehd Disque_a_compresser.vdi --existing Disque_compresse.vdi

Une fois la copie terminée, vous avez donc un clone de votre disque qui occupera très certainement dans les 50 Gio et dont l'espace maximal sera de 89,9 Gio.

Dans la configuration de votre machine virtuelle, remplacez le disque initial ancien.vdi par Disque_compresse.vdi. Faites un essai et validez que toutes les fonctionnalités, données sont bien présentes.

Si vous êtes fatisfaits, vous pouvez supprimer le disque ancien.vdi et copier le nouveau disque à sa place :

vboxmanage clonevdi Disque_compresse.vdi Disque_definitif.vdi

N'oubliez pas de modifier le disque à utiliser dans la configuration de votre VM et c'est terminé.

Prise de contrôle à distance (version PUEL uniquement)

Dans le cadre de la virtualisation des serveurs ou des postes de travail (VDI: Virtual Desktop Infrastructure), l'ordinateur sur lequel tourne la machine virtuelle, n'est plus l'ordinateur sur lequel on exploite la machine virtuelle.

L'ordinateur hôte ne dispose pas obligatoirement d'une interface graphique pour économiser les ressources machines (la machine est alors lancée avec la méthode headless). Il devient donc indispensable de pouvoir prendre le contrôle de la station à distance.

Virtualbox PUEL propose cette fonctionnalité, sans devoir installer de couche logicielle supplémentaire.

Sur l'ordinateur hébergeant le système invité

  1. Ouvrez les préférences du système invité ;
  2. Allez dans la rubrique Affichage → Affichage distant ;
  3. Spécifiez un numéro de port pour la machine (un numéro de port différent par machine virtuelle).

Sur le client distant

VirtualBox PUEL mettant en œuvre le protocole RDP (Remote Desktop Protocol), la prise de contrôle à distance est compatible avec le client Terminal Server.

Il est donc possible de prendre le contrôle de n'importe quel type de machine virtuelle (Windows, Linux…) depuis des postes Windows ou Linux.

Lancer le client Terminal Server et configurer votre connexion avec l'adresse IP de l'ordinateur hébergeant le système invité et le numéro de port correspondant à la machine virtuelle cible.

Problèmes connus

Codes d'erreurs

Les codes erreurs sont plus précis que de long discours. Pour connaitre le code d'une erreur, cliquez sur l'intitulé Détails de la fenêtre VirtualBox qui annonce un problème.

VBOX_E_XML_ERROR

Le fichier xml cité dans la fenêtre d'erreur est corrompu ou ne peut pas être mis à jour. Cela peut arriver si vous utilisiez l'édition PUEL (propriétaire) et que vous êtes passé à l'édition OSE (libre).

  1. Supprimez votre machine depuis VirtualBox ;
  2. Supprimez le dossier portant le nom de votre machine situé dans
    /home/<votre compte ubuntu>/.VirtualBox/Machines

VERR_FILE_NOT_FOUND

Le matériel de votre ordinateur a changé (ex: lecteur DVD retiré, …).

  1. Rejetez la machine (équivaut à un arrêt brutal de la machine) ;
  2. Aller dans les préférences ;
  3. Supprimer ce matériel pour la machine.

VERR_VM_DRIVER_NOT_INSTALLED

Vous avez mis votre noyau à jour et devez mettre à jour les modules VirtualBox. Utilisez la commande suivante :

sudo apt-get install virtualbox-ose-modules-`uname -r`

Après une mise à jour du noyau, il peut s'écouler un certain temps avant que les paquets correspondants pour Virtualbox-ose soient disponibles. Si le module pour un nouveau noyau est manquant, on peut le créer avec module-assistant :

  1. On télécharge les sources de virtualbox-ose:
    sudo apt-get install virtualbox-ose-source
  2. On crée le module:
    sudo m-a prepare virtualbox-ose
    sudo m-a a-i virtualbox-ose

    si la commande m-a renvoie une erreur, installez le paquet module-assistant

  3. On charge le module:
    sudo modprobe vboxdrv

Pour automatiser le chargement du module au démarrage du système, il suffit de rajouter « vboxdrv » à la fin du fichier (il y sera déjà si un module a été installé auparavant) :

/etc/modules

Dans la plupart des cas, installer le paquet dkms permet d'automatiser cette action à chaque mise à jour.

VERR_VM_DRIVER_NOT_ACCESSIBLE

Vous devez rétablir les droits sur /dev/vboxdrv. Pour cela, taper :

sudo chgrp vboxusers /dev/vboxdrv
sudo chmod 666 /dev/vboxdrv

Si les utilisateurs de VirtualBox appartiennent bien au groupe « vboxusers » vous ne devriez pas avoir de soucis. Pour ajouter un ou des utilisateur(s) au groupe, vous devez indiquez les comptes qui appartiennent au groupe vboxusers.

VERR_VMX_IN_VMX_ROOT_MODE

Vous avez installé KVM et VirtualBox ne peut pas exécuter KVM en mode super utilisateur. Vous devez désinstaller KVM, le recompiler et redémarrer votre ordinateur.

  1. Supprimez le module KVM:
    sudo apt-get remove kvm
  2. Redémarrez
  3. Après le redémarrage, tapez :
    sudo rmmod kvm_intel
    sudo rmmod kvm

Si vous avez besoin de KVM en parallèle de VirtualBox, consultez le rapport de bug sur launchpad : https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588

NS_ERROR_FAILURE

Vous avez désinstallé l'édition OSE de VirtualBox pour la remplacer par l'édition PUEL et des paramètres ne peuvent pas être mis à jour. Vous devez renommer ou supprimer l'ancien fichier de configuration pour permettre la création du nouveau fichier.

  1. Renommez le fichier3) ou supprimez le
    ~/.VirtualBox/VirtualBox.xml
  2. Démarrez VirtualBox.

Codes d'erreurs (version PUEL uniquement)

VERR_VM_DRIVER_NOT_INSTALLED

Vous avez mis votre noyau à jour et devez mettre à jour les modules VirtualBox. Il faut recompiler le noyau, dans un terminal

sudo /etc/init.d/vboxdrv setup

Dans la plupart des cas, installer le paquet dkms permet d'automatiser cette action à chaque mise à jour.

VERR_VM_DRIVER_VERSION_MISMATCH

Suite à une mise à jour, il faut recompiler le noyau, dans un terminal

sudo /etc/init.d/vboxdrv setup

Dans la plupart des cas, installer le paquet dkms permet d'automatiser cette action à chaque mise à jour.

VERR_VMX_IN_VMX_ROOT_MODE

Vous avez installé KVM et VirtualBox ne peut pas exécuter KVM en mode super utilisateur. Vous devez désinstaller KVM, le recompiler et redémarrer votre ordinateur.

  1. Supprimez le module KVM:
    sudo apt-get remove kvm
  2. Redémarrez
  3. Après le redémarrage, tapez :
    sudo rmmod kvm_intel
    sudo rmmod kvm

Si vous avez besoin de KVM en parallèle de VirtualBox, consultez le rapport de bug sur launchpad : https://bugs.launchpad.net/ubuntu/+source/virtualbox-ose/+bug/292588

Message « Spawning session... »

Si, à l'ouverture d'une machine virtuelle, une petite fenêtre s'ouvre avec le message « Spawning session… » et que celle-ci reste bloquée à 0%, vous devez:

  1. Fermer VirtualBox ou tuer le processus si besoin ;
  2. Recompiler le module en tapant dans un terminal:
    sudo /etc/init.d/vboxdrv setup

Écran noir après l'accueil d'un CD

Si, après avoir sélectionné « Lancer Ubuntu » ou « Lancer Kubuntu », vous obtenez un écran noir et plus rien ne se passe.
Utilisez la fonction Machine → Redémarrage ou encore la touche Hôte + R pour effectuer un « reset ».

Écran bleu Windows

Après une mise à jour de VirtualBox (notamment vers la version 1.6.2 disponible pour Hardy sous architecture AMD64), les machines virtuelles Windows peuvent présenter un écran bleu lors de leur démarrage.

Pour résoudre le problème :

  1. Sélectionnez votre machine virtuelle dans VirtualBox ;
  2. Cliquez sur le bouton « Préférences » ;
  3. Allez dans la rubrique « Supports » ;
  4. Sélectionnez dans « Attributs » le type « PIIX3 » à la place de « PIIX4 » et inversement selon votre configuration.

Écran noir Windows

Il est possible qu'après avoir lancé Windows dans votre machine virtuelle, vous vous retrouviez avec un écran noir, juste avant que le logo Windows avec sa barre de chargement n'apparaissent.

Pour résoudre le problème :

  1. Sélectionnez votre machine virtuelle dans VirtualBox ;
  2. Cliquez sur le bouton « Préférences » ;
  3. Allez dans la rubrique « Système », puis dans l'onglet « Carte mère » ;
  4. Sélectionnez dans « Paramètres étendus » l'option « Activer l'IO APIC ».

Obtenir le plein écran sous Vista

Si vous utilisez un système hôte Vista utilisant un système invité Ubuntu et que vous n'arrivez pas à obtenir le plein écran du système invité.

  1. Vérifiez que vous avez amélioré l'émulation ;
  2. Si le problème persiste, après redémarrage, ouvrez le fichier /etc/X11/xorg.conf et cherchez-y les lignes suivantes:
    Section "Screen"
            Identifier    "Default Screen"
            Device        "VirtualBox graphics card"
            Monitor       "Generic Monitor"
            DefaultDepth  24
    EndSection

Modifiez-les de façon à obtenir ceci :

Section "Screen"
        Identifier    "Default Screen"
        Device        "VirtualBox graphics card"
        Monitor       "Generic Monitor"
        DefaultDepth  24
        SubSection "Display"
                Depth         24
                Modes         "1280x1024" "1024x768" "800x600"
        EndSubSection
EndSection

Fenêtre transparente

Ce problème apparait à cause de Compiz Fusion. Pour résoudre ce problème, deux solutions sont possibles :

En désactivant les effets de bureau

Si vous ne l'avez pas encore installé le gestionnaire des effets de bureau Compiz, référez-vous à sa documentation.

Une fois le gestionnaire ouvert :

  1. Allez dans la catégorie « Gestion des fenêtres » ;
  2. Cochez et ouvrez « Règles de Fenêtre » ;
  3. Dans « Pas de visuels ARGB » collez ceci:
    title=Sun VirtualBox

En modifiant la commande à exécuter

Il faut remplacer la commande à exécuter

VirtualBox

par

env XLIB_SKIP_ARGB_VISUALS=1 VirtualBox

Dans certain cas, cela ne fonctionne que si l'accélération 3D est désactivée.

Perte du réseau après une mise à jour du kernel sur le système hôte GNU/Linux

Si votre machine virtuelle refuse de démarrer avec l'option « Activer la carte réseau » cochée, ou que vous n'avez plus de réseau dans le système invité, cela peut provenir d'une mise à jour du kernel linux du système hôte (kernel version 2.6.32 ou supérieur), par exemple lors de la mise à niveau de Ubuntu 9.10 Karmic vers Ubuntu 10.04 Lucid. Vous devriez également rencontrer les erreurs suivantes en entrant la commande « dmesg » dans un terminal :

[...]
[   40.951855] vboxdrv: Successfully loaded version 3.2.6 (interface 0x00140001).
[   41.160114] vboxnetflt: no symbol version for RTSemFastMutexCreate
[   41.160119] vboxnetflt: Unknown symbol RTSemFastMutexCreate
[   41.160303] vboxnetflt: no symbol version for RTR0Init
[   41.160306] vboxnetflt: Unknown symbol RTR0Init
[   41.160687] vboxnetflt: no symbol version for SUPDrvLinuxIDC
[   41.160690] vboxnetflt: Unknown symbol SUPDrvLinuxIDC
[...]

Le problème vient du fait que DKMS n'a pas bien installé le module vboxnetflt pour la nouvelle version du kernel. Pour le résoudre, rien de plus simple ! Il suffit de relancer l'installation de virtualbox, en entrant la commande suivante dans un terminal :

sudo /etc/init.d/vboxdrv setup

Pour suivre la correction de ce bug, vous pouvez consulter le rapport de bug sur le site virtualbox, et celui sur le site de debian.

Défilement très lent sur Ubuntu Server

Si le défilement des écrans est très lent avec VirtualBox sur Ubuntu Server, il faut éditer le fichier /etc/modprobe.d/blacklist-framebuffer.conf avec les droits d'administration pour y ajouter la ligne suivante :

blacklist vga16fb

Source sur ubuntuforums.org.

Imprimante non fonctionnelle sur le système invité

Sous VirtualBox 3.2, si votre imprimante est grisée dans la liste des périphériques USB alors que les autres périphériques (clé USB…) fonctionnent, essayez d'ajouter votre utilisateur aux groupes lp et lpadmin.

Iphone 4 non reconnu

Sous VirtualBox 3.2 PUEL, l'iPhone 4 n'est pas correctement reconnu via le port USB. Il reste en « recovery mode » malgré l'ajout de l'utilisateur courant dans le groupe vboxusers et l'ajout d'un filtre USB pour la machine virtuelle.

La pseudo solution consiste à lancer VirtualBox avec les droits du super utilisateur (ce qui peut se révéler très dangereux) :

gksu VirtualBox

Ensuite il faut recréer une machine virtuelle avec le disque VDI utilisé habituellement. Pour finir, lancer la machine virtuelle et procéder à la mise à jour, cette dernière ne devrait plus s'interrompre.

Can't open /etc/init.d/functions

On retrouve ce message d'erreur avec VirtualBox 3.2 PUEL.

Le problème vient du fait qu'il existe un fichier /etc/redhat-release sur Ubuntu (car celui-ci est parfois nécessaire pour pouvoir installer certains logiciels commerciaux). Le programme d'installation croit alors être sur Redhat et cherche le fichier /etc/init.d/functions.

Pour corriger le problème, il faut renommer/supprimer ce fichier (/etc/redhat-release) et relancer l'installation ou la mise à jour.

Désinstallation

Pour supprimer VirtualBox supprimez les paquets :

  • virtualbox-ose si vous utilisez l'édition OSE
  • virtualbox-3.2 si vous utilisez l'édition PUEL

Le dossier ~/.VirtualBox contenant vos machines virtuelles et leurs disques dur virtuels sera conservé quelque soit la méthode de désinstallation utilisée.

Voir aussi

Vous pouvez visitez le forum dédié à la virtualisation pour y poser des questions ou participer selon vos connaissances.

Sites officiels et ressources

Quelques tutoriels

Tutoriels vidéos


Contributeurs principaux: Percherie, luigifab.

1) seulement pour la première utilisation
3) pour le jour où vous réutiliserez l'édition OSE

utilisateurs/luigifab/virtualbox.txt · Dernière modification: Le 16/04/2011, 16:37 par YannUbuntu
Le contenu de ce wiki est sous licence : CC BY-SA v3.0