Ceci est une ancienne révision du document !



VirtualBox

ATTENTION DOC EN RESTRUCTURATION ET RÉÉCRITURE, vous pouvez contacter percherie ou brazz

VirtualBox est un logiciel de virtualisation de systèmes d'exploitation. Fonctionnant au-dessus d'un système d'exploitation utilisant les ressources matérielles de l'ordinateur (système hôte), VirtualBox crée un ou des nouveaux 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 et en toute sécurité : les systèmes invités n'interagissent pas directement avec le système hôte. Le champ d'action des systèmes invités est confiné, limité à leur propre machine virtuelle.

Un logiciel, deux éditions

VirtualBox est proposé en deux éditions :

  • VirtualBox Open Source Edition (OSE)
    Cette édition est un logiciel libre, soumis aux termes de la licence GNU General Public License (GPL). Elle est entièrement fonctionnelle, mais est amputée de certaines fonctionnalités propriétaires surtout utilisées en entreprises.
  • VirtualBox (PUEL)
    Cette édition est un logiciel propriétaire, soumis aux termes de la licence VirtualBox Personal Use and Evaluation License (PUEL). Elle inclut toutes les fonctionnalités de l'édition OSE, ainsi que la gestion de périphériques USB et l'accès à la machine virtuelle par RDP. Son utilisation est gratuite pour un usage personnel ou éducatif uniquement ; pour un usage commercial, l'acquisition d'une licence d'exploitation est requise.

Les éditions OSE (libre) et PUEL (non-libre) de VirtualBox sont mutuellement exclusives : les deux éditions ne peuvent être installées en même temps dans votre système hôte Ubuntu. 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. Choisissez maintenant quelle édition de VirtualBox vous souhaitez installer.

Installation de VirtualBox OSE (libre)

L'édition libre de VirtualBox ne prend pas en charge l'accès aux périphériques USB. Seule l'édition PUEL de VirtualBox les gère.

Pour installer l'édition libre de VirtualBox, il suffit d'installer le paquet virtualbox-ose.


Toutes les dépendances de VirtualBox (interface de gestion des machines virtuelles, compilateur et gestionnaire des modules du noyau Linux) sont gérées et installées automatiquement en même temps que le moteur de VirtualBox.

Une fois l'installation complétée, VirtualBox est accessible depuis l'entrée de menu VirtualBox OSE du menu Applications → Accessoires.

Installation de VirtualBox PUEL (non-libre)

L'édition PUEL de VirtualBox est proposée dans le dépôt de paquets maintenu par l'équipe de VirtualBox. Vous devez ajouter l'adresse de ce dépôt et sa clé de signature à vos sources de logiciels avant de pouvoir installer VirtualBox.

Ubuntu Lucid Lynx venant de sortir, Sun n'a pas à ce jour (1 mai 2010) ouvert de dépôt pour cette version. Vous pouvez tout de même installer VirtualBox en utilisant le dépôt prévu pour karmic
  • Ajoutez le dépôt non officiel suivant à vos sources de mises à jour (choisissez celui correspondant à votre version d'Ubuntu) :
Version Dépôt
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.10 deb http://download.virtualbox.org/virtualbox/debian intrepid non-free
Ubuntu 8.04 LTS deb http://download.virtualbox.org/virtualbox/debian hardy non-free
  • 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/sun_vbox.asc -O- | sudo apt-key add -
  • Puis installez le paquet virtualbox-3.1. Toutes les dépendances de VirtualBox (interface de gestion des machines virtuelles, compilateur et gestionnaire des modules du noyau Linux) sont gérées et installées automatiquement en même temps que le moteur de VirtualBox.
  • 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 ;
  • 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 ;
  • Une fois l'installation complétée, vous devez clore votre session utilisateur, puis la rouvrir. Ceci est nécessaire afin de prendre en charge des nouvelles autorisations pour l'utilisation de VirtualBox.

Une fois l'installation complétée et votre session utilisateur close et rouverte, VirtualBox est accessible depuis l'entrée de menu Sun VirtualBox du menu Applications → Outils système.

« Seul mon compte d'utilisateur est habilité à exécuter VirtualBox PUEL. Comment faire pour autoriser d'autres utilisateurs à utiliser VirtualBox ? »
Seuls les utilisateurs membres du groupe vboxusers sont autorisés à utiliser VirtualBox. Ceux qui ne sont pas membres de ce groupe ne peuvent pas utiliser VirtualBox ; de fait, ils n'en verront même pas l'entrée de menu dans le menu Applications.

Pour autoriser un utilisateur à utiliser VirtualBox, vous devez ajouter son compte au groupe de membres vboxusers. Pour ce faire :

  1. Ouvrez l'outil de gestion des comptes d'utilisateurs (Système → Administration → Utilisateurs et groupes) et déverrouillez les fonctions d'administration ;
  2. Sélectionnez le compte d'utilisateur auquel l'accès à VirtualBox doit être autorisé, puis appuyez sur le bouton Propriétés ;
  3. Sous l'onglet Privilèges utilisateur, autorisez le privilège Utiliser VirtualBox et validez la modification ;
  4. Cet utilisateur doit clore toutes ses sessions utilisateur en cours pour que la nouvelle autorisation soit prise en compte.

Cette limite ne s'applique pas à l'édition OSE de VirtualBox. Tous les utilisateurs peuvent utiliser VirtualBox OSE.

Vous pouvez suivre ce tutoriel ou celui ci en vidéo, qui guide aussi l'installation et la configuration de VirtualBox.

Vous pouvez lancer le logiciel par le menu Applications → Outils système ou Applications → Accessoires ou avec la commande :

VirtualBox

À partir de la première ouverture de la fenêtre de VirtualBox, vous aurez à passer les étapes suivantes:

  1. Vérification des « global settings » pour adapter si vous le jugez préférable :
    • le répertoire d'installation de VDI et Machines qui sinon sera installé par défaut sur ~/.VirtualBox
    • le choix de la host key (la touche « Ctrl » de droite sera choisie par défaut, voir case Input)
  2. Création de la VM (taille, mémoire, son, USB, CD, etc.)

Veiller notamment à cocher les cases « enable audio », « enable usb », si vous voulez profiter de ces fonctionnalités dans le futur (en effet, il est arrivé que la mise en place de ces fonctionnalités, après coup, pose problème à certains utilisateurs).

  1. Installation de l'OS émulé (via un CD ou une image ISO)
  2. Rajout des « guest additions » (voir Amélioration de l'émulation…)

Lorsque vous serez satisfait de votre installation, pensez donc à prendre un snapshot.

En session, il est important de noter que pour passer de l'OS invité (Guest) à l'OS hôte (Host), il vous faudra presser la touche CONTROL (de droite) ou toute autre touche que vous aurez paramétré à cet effet comme Touche Host. Cette touche (configurable), permet d'effectuer les opérations les plus courantes :

  • Touche Host–F : mode plein écran
  • Touche Host–Suppr : envoie un Ctrl–Alt–Suppr à l'OS Guest
  • Touche Host–⌫ : envoie un Ctrl–Alt–⌫ à l'OS Guest
  • Touche Host–G : permet d'adapter la taille du système hôte à votre écran (bien pratique)
  • etc.

Améliorer l'émulation de l'OS Guest

VirtualBox propose des pilotes adaptés pour l'OS Guest : pour Windows et pour GNU/Linux.

Ceci permet

  • Un redimensionnement automatisé de la zone d'affichage de l'OS Guest, quand on redimensionne la fenêtre d'émulation dans l'OS Host.
  • La possibilité de passer la souris du Host au Guest, et vice versa, plus aisément.
  • Le partage de fichiers entre l'OS Host et l'OS invité sous peine d'obtenir le message :
L'erreur système 67 s'est produite. Nom de réseau introuvable.
  • Quand l'OS Guest est de type Windows :
    • Dans la session d'émulation, sélectionner « Install Guest Additions ».
    • Pour installer les additions clients et bénéficier de direct 3D sous Virtualbox 3.0 vous devez installer les additions clients en mode sans échec (safe mode [F8])

VirtualBox va monter automatiquement une image ISO fournie avec l'émulateur, ce qui provoquera le démarrage automatique de l'installation de ces pilotes.

Pour hardy : il semblerait que l'ISO ne soit plus disponible pour la version 1.5.6, en revanche l'ISO de la 1.6 fonctionne. elle est disponible ici : http://download.virtualbox.org/virtualbox/1.6.0/VBoxGuestAdditions_1.6.0.iso La derniére version de l'iso (2.2.0) disponible pour hardy , Intrepid et jaunty : http://download.virtualbox.org/virtualbox/2.2.0/
  • Il est à noter que l'installation de ces pilotes est prévue pour des Windows 2000 ou plus. Windows 98 tolère l'installation, mais peut ne pas marcher. Notamment les pilotes graphiques, qui n'ont pas été conçus pour ce dernier, ainsi que pour ses prédécesseurs fait l'objet d'un blâme de la part des utilisateurs de la VirtualBox.
Si vous avez installé la version VirtualBox OSE, l'installation de ces pilotes ne se fera pas. Mais la solution est ici
Après l'installation de Windows XP, avec l'option disque dur SATA d'activé (VirtualBox non-OSE 1.6.2 et 1.6.4, mais p-e aussi les version OSE, et les autres versions), vous pourrez remarquer qu'un périphérique inconnu est présent dans le gestionnaire de périphérique de Windows (a priori, également valable avec les autres versions de Windows). Pour remedier à cela il convient d'installer les pilotes SATA Mobile d'INTEL. Ces pilotes sont disponibles en suivant le lien suivant : iata82_enu.exe, une fois le fichier téléchargé & installé le périphérique inconnu devrait être (en toute logique, mais je ne garantie rien) reconnu. Jérémie Liénard, le 15/08/2008, Testé sur DELL Precision 3400 (Intel Q6600), Ubuntu Studio 8.04 noyau 2.6.24-19-rt, source : Forum VirtualBox Officiel
  • Quand l'OS Guest est de type GNU/Linux (user manual section 4.3.1) :
    • installation des modules noyaux nécessaires. Par chance ceux-ci sont déja installés par défaut sur les versions récentes d'Ubuntu (user manual section 2.2.2 de Virtualbox)
    • Dans la session d'émulation, sélectionner « Install Guest Additions ».

VirtualBox « devrait » monter automatiquement une image ISO fournie avec l'émulateur. Si rien ne se passe, l'installation du paquetage build-essential peut résoudre le problème. Tout fermer, relancer Vitualbox et la machine virtuelle puis re-sélectionner « Install Guest Additions ». Si ça ne marche toujours pas, tenter une installation « à la main » :

  • aller dans le répertoire ou le CD-ROM est monté (/media/cdrom0) et lancer la commande « sh ./VBoxLinuxAdditions-[archi].run » en tant que root ( [archi] peu être x86 ou amd64) ( à compter de virtualbox 3.xx).
sudo apt-get install build-essential
cd /media/cdrom0 && sudo sh ./VBoxLinuxAdditions-[archi].run

Sur VirtualBox 3.xx

cd /media/cdrom0 && sudo ./autorun.sh

Ou encore, double cliquer sur le cd VBOXADDITIONS_3. sur le bureau, double cliquer sur autorun.sh depuis la fenêtre qui s'ouvre. Votre mot de passe sudo est demandé et l'installation se fait.

Une fois l'installation terminée un reboot de la machine virtuelle est demandé.

Résultat : bonne gestion de la capture (et surtout de la "relâche") de la souris.

FIXME Ces pilotes ne fonctionnent pas avec toutes les distributions … mais avec les versions stables d'Ubuntu ça devrait aller.

Avec un Host Windows Seven, si vous avez des soucis de son, essayez d'installer les Mises à Jour de l'OS.
Si le noyau de la machine virtuelle est mis à jour, il faut procéder à une ré-installation de ces Additions. Vous le remarquerez vite au fait que votre souris est de nouveau capturée entièrement par la machine virtuelle, et qu'il faille un Ctrl-droit pour la libérer.

Nom des commandes

Suivant que vous installez la version OSE ou non, les noms pour lancer les commandes diffèrent par la casse :

  • version OSE (Code Source Ouvert) : virtualbox / vboxmanage
  • version non OSE (Code Source Fermé) : VirtualBox / VBoxManage

L'utilisation est assez aisée car VirtualBox possède une interface graphique très simple (bien qu'il soit possible de tout scripter avec la commande vboxmanage ou VBoxManage)

Gestion SATA

Le contrôleur SATA n'est plus inclus dans la version 3.1 Il est réintroduit dans la version 3.1.6

Pilote logiciel Intel

Le pilote SATA quand il est couplé à l'ICH6 est gérable par le "Gestionnaire de stockage Matriciel Intel" - cela résout la prise en charge par le gestionnaire de périphériques matériels sous Windows.

Activer le son

Dans la fenêtre principale de VirtualBox, cliquez sur Machine→Préférences puis allez dans la section Audio et cochez Activer l'audio, avec le périphérique (réel) de votre choix ET le périphérique virtuel (ex: simuler une vieille SoundBlaster16) de votre choix.

Le réseau

VirtualBox offre plusieurs manières de gérer l'accès au réseau de l'OS Guest : en NAT , en utilisant l'interface de l'hôte (HOST), en mode bridgé, en réseau local… Ces options sont disponibles dans les paramètres (settings) de l'OS invité (Guest).

Pour voir en détail ces différentes configurations, aller sur la page VirtualBox et le réseau

Pilote Logiciel Intel

Il est possible d'obtenir les pilotes logiciels pour :

- cela résout la prise en charge par le gestionnaire de périphériques matériels sous Windows.

Les périphériques USB

Avec la version libre, les ports usb ne sont pas utilisable d'origine. Référez vous à la Partie activation de l'usb un peu plus bas.

VirtualBox offre la possibilité de filtrer les périphériques USB (rendre disponible certains périphériques USB dans l'OS Guest). En clair, cette fonction sert à monter automatiquement les périphériques lors du démarrage du guest.

Pour voir les périphériques USB dans votre OS Guest, il vous suffit de cocher « Enable USB Controller » avant de lancer votre machine virtuelle.

Il faut d'abord peupler la liste des périphériques et leurs caractéristiques dans le champ ad hoc. Si le périphériques USB est connecté et monté dans l'OS Host, il suffit de cliquer sur « Ajouter » (à droite de la zone de filtres) les champs « Filtre USB » se remplissent automatiquement. Si non, il faudra entrer les informations à la main dans les champs.

La case à cocher à gauche du périphérique déclaré précédemment permet (si cochée) de monter automatiquement le périphérique dans l'OS Guest lors de sa connexion.

Attention, le périphérique n'est disponible que dans un OS à la fois (l'OS Host ou un des OS Guest). Ceci a des conséquences.

Par exemple, si vous démarrez votre OS Guest alors que votre clé USB (périphérique USB déclaré et coché dans « USB controller ») est en cours de transfert sur votre OS Host, ce transfert sera interrompu de manière « sauvage » (sans éjection). Cette fonction automatique est donc à utiliser avec prudence.

Si un périphérique USB n'est pas déclaré dans le champ filtre (ou est déclaré mais avec la case ad hoc décochée) et s'il est monté dans l'OS Host, il apparaitra dans la liste déroulante en bas à droite de la fenêtre du Guest (le sigle USB)une fois l'OS Guest lancé et pourra être monté d'un simple clic si nécessaire. Il se retire (virtuellement) par la même manipulation et est de nouveau disponible pour le Host.

Activation de l'usb

Si la fonction usb n'apparaît pas dans les options ou que vous obtenez un message du genre :

Could not load the Host USB Proxy Service (VERR_FILE_NOT_FOUND). The service might be not installed on the host computer.

Ajoutez l'utilisateur courant au groupe vboxusers si cela n'a pas été fait :

sudo usermod -G vboxusers -a `whoami`

Editer le fichier de gestion des permissions pour l'usb :

sudo /etc/udev/rules.d/40-basic-permissions.rules

Remplacez les lignes suivantes :

# USB devices (usbfs replacement)
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
SUBSYSTEM=="usb_device",		MODE="0664"

Par :

USB devices (usbfs replacement) et ajout pour support USB dans Virtualbox
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="vboxusers"
SUBSYSTEM=="usb_device",                MODE="0664", GROUP="vboxusers"

Relancez udev :

sudo /etc/init.d/udev restart

Ubuntu toutes versions

Le périphérique n'est toujours pas reconnu? Peut-être avez vous coché trop tardivement la case "enable USB" après le lancement de la VM? Rien n'est perdu. Revenez sur VirtualBox, supprimez (delete) la VM en question (en commençant par les snapshots). Pas d'inquiétude, le VDI est sauvegardé par défaut. Recréez une nouvelle VM en chosisissant comme disque le VDI sauvegardé (et non un nouveau disque), cochez bien toutes vos options et démarrez la VM. Cela devrait normalement suffire…

Le répertoire de partage

Pour faciliter les échanges entre l'OS Host, et l'OS Guest, VirtualBox offre un système simple mais efficace de communication: le partage de répertoire.

Avec cette option positionnée, les deux machines (réelle et virtuelle) peuvent échanger des données par ce canal (on peut le considérer un peu comme une sorte de buffer d'interface)

On peut aussi échanger par le partage Netbios via Samba, cela marche également très bien.

Pour voir en détail ces différentes configurations, aller sur la page Le répertoire de partage

Méthode « Samba IP »

Exposée ici; virtualbox_partage avec un exemple détaillé pour un hôte Ubuntu et un invité Windows.

Autre méthode Samba

Si la première méthode ne fonctionne pas (net use… répond que le chemin réseau n'a pas été trouvé), pas d'inquiétude car la solution samba fonctionne très bien.

Prenons comme exemple de partage le répertoire « /home/moncompte/Partage », sur une machine ayant un compte d'utilisateur "moncompte" et dont la machine s'appelle "mamachine" (moncompte@mamachine:~/$).

Faire un clic droit sur le répertoire et choisir « Dossier partagé ». Installez Samba si jamais Ubuntu vous pose la question.

Puis créez un compte dans Samba, en utilisant votre compte (il est important de prendre un compte qui existe déjà sur votre Ubuntu). Faire la commande :

moncompte@mamachine:~/$ sudo smbpasswd -a moncompte

Démarrer VirtualBox et , avant de lancer votre machine virtuelle , cliquer sur "Préférences\Répertoires partagés" et ajoutez-y un répertoire partagé , qui bien entendu est le répertoire que vous avez créer précedemment (home/moncompte/Partage).

Puis aller dans votre windows Guest, et exécuter "cmd" pour avoir un terminal. Il ne reste plus qu'à y rentrer la commande :

net use M: \\mamachine\Partage (couramment: net use **M: \\vboxsrv\Partage**)

Vous pouvez vérifier la lettre qui sera utilisé (M: \\… dans cette exemple)au moment où vous créer dans "Préférences\Répertoires partagés" , une note en bas de page vous précise la commande à utiliser).

Fournir le user "moncompte" au prompt.

Les instantanés

Ils vous pemettent 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.

Déplacement des fichiers

Si vous êtes amenés à déplacer vos fichiers contenus dans ".VirtualBox", vous devez le faire à l'aide de la commande suivante :

VBoxManage clonevdi /home/charles/.VirtualBox/HardDisks/monOS.vdi /home/pascal/.VirtualBox/HardDisks/monOS.vdi

Dans cet exemple, on clone le disque virtuel de l'utilisateur "charles" et on place la copie chez l'utilisateur "pascal". Cette opération est nécessaire car il n'est pas possible de déplacer directement les fichiers .vdi (rupture de liens). Au préalable, il faut bien entendu s'assurer des droits de lecture dans le répertoire origine et d'écriture dans le répertoire cible.

Incorporer les snapshots + copie et clonage

Article en anglais expliquant la subtilité lexicale sous virtualbox: http://srackham.wordpress.com/cloning-and-copying-virtualbox-virtual-machines/

La doc n'est pas claire: en cas de confusion entre ctrl+shift+D et ctrl+maj+D un petit rappel:

"Sur les claviers, la touche Maj est aussi appelé par son nom anglais Shift" dixit http://fr.wikipedia.org/wiki/Touche_Maj

Lancement direct d'une VM

Vous shuntez l'étape du serveur VirtualBox. Utilisez la commande suivante :

Attention: guillemets s'il y a un espace dans le nom, sinon les guillemets ne sont pas nécessaires.
VBoxManage startvm "nom VM"

Ou encore, si vous désirez créer un lanceur que vous placerez sur le bureau ou sur le tableau de bord et qui pointerait directement vers une machine virtuelle, sans passer par le menu principal de VirtualBox, il suffit de créer un lanceur via menu_contextuel(clic droit)–>"Créer 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.

Une autre commande peut également être utilisée : VirtualBox -startvm "nom VM". Elle permet de garder le processus en premier plan, ce qui peut etre utile si vous souhaitez lancer un script réseau (création d'un pont) avant et/ou après l'éxécution de la machine virtuelle.
Pour ceux qui ont installé la dernière version Sun xVM VirtualBox 1.6 pour Hardy Heron, il faut écrire (en respectant la casse) VBoxManage startvm "nom VM" pour que cela fonctionne.
Sous Ubuntu 9.04 (Jaunty Jackalope) et avec la version Sun xVM VirtualBox 2.2 il faut aussi écrire en respectant la casse : VBoxManage startvm "nom VM".

Si vous avez lancé en plein écran, vous pouvez reprendre la main avec Touche Host–F (touche Ctrl de droite + touche F)

Utilisation d'un disque dur physique dans Virtual Box

En voyant l'interface proposée par Innotek, vous vous dites "c'est pas possible ?"! Eh bien, détrompez-vous. C'est un peu long, il ne faut pas avoir peur, bien que l'opération soit légèrement risquée.

Avant tout, il vous faut avoir l'accès complet à ce disque. Pour ce faire, faites, dans un terminal :
 sudo chmod 777 /dev/<votre_disque>

Ceci permettra de disposer pleinement du disque, cela dit, s'il existe d'autres utilisateurs de votre station de travail, ou n'importe quel autre processus dont vous n'êtes pas sûr à 100% de son fonctionnement intègre, vous allez sans doute préférer :

sudo chown <votre_nom_dutilisateur> /dev/<votre_disque>

et pour être sûr d'avoir les droits nécessaire après cela, faites :

sudo chmod 644 /dev/<votre_disque>

Dans le fichier

/etc/udev/rules.d/10-vboxdrv.rules

ajouter à la fin du fichier la ligne suivante :

 KERNEL=="sdd", OWNER="<votre_nom_dutilisateur>", GROUP="vboxusers", MODE="0664", OPTIONS+="last_rule" 

–VM

Méthode alternative : L'ajout l'utilisateur censé accéder à la machine virtuelle au groupe "disk" permet de régler le problème des droits d'accès par une méthode plus simple et plus propre que celle proposée ci-dessus.

sudo usermod -a -G disk $USER
  • Cette méthode a l'inconvénient de donner l'accès à tous les disques du système ce qui s'avère extrêmement dangereux dans le cas où un virus (ou autre type d'intrus) réussirait à faire son entrée dans le compte utilisateur concerné. – ProgFou

Premièrement : création d'un disque virtuel particulier

Il faut créer un disque virtuel qui ne contiendra que les informations d'accès au disque physique. Un utilitaire de VirtualBox permet de configurer ceci très facilement :

(Cette commande n'est pas disponible avec virtualbox-ose, il vous faudra utiliser virtualbox-2.*)

VBoxManage internalcommands createrawvmdk -filename /<chemin>/<future_image>.vmdk -rawdisk /dev/<votre_disque> -partitions x -register

Je pense que c'est explicite, mais tout de même, je détaille.

Explication :

  • createrawvdmk → pour indiquer le type d'image que l'on veut créer, un acces raw ici.
  • -filename → le fichier image sortant (que vous utiliserez dans la VM). Nom de fichier absolu uniquement
  • -rawdisk → le périphérique raw, c'est-à-dire le disque dur, que vous souhaitez employer dans la VM.
  • -partitions → la ou les partition(s) du dit disque dur que vous voulez rendre accessible. Le x représente un numéro de partition, vous pouvez mettre plusieurs partitions en séparant les numéro par une virgule (,).
  • -register → indique que l'on veut sauvegarder cette image parmi la liste d'image de VirtualBox (elle sera donc présente dans son gestionnaire de disque).

ou alors vous pouvez aussi l'utiliser ainsi :

VBoxManage internalcommands createrawvmdk -filename /<chemin>/<future_image>.vmdk -rawdisk /dev/<votre_disque_entier> -register

par <votre_disque_entier> j'entends par exemple 'sda', ce qui aura pour effet de démarrer sur votre grub habituel.

Dans ce cas là, faites bien attention à ne pas repartir sur le même ubuntu que celui qui fait tourner a machine virtuel ! Les conséquences pourraient être facheuses.
Si vous obtenez le message d'erreur suivant :
VirtualBox Command Line Management Interface Version 1.5.6
(C) 2005-2008 innotek GmbH
All rights reserved.

Error opening the raw disk: VERR_ACCESS_DENIED</file>

C'est que vous n'avez pas l'accès nécessaire au disque (voir un peu plus haut).

Deuxièmement : configuration de la machine virtuelle

Ouvrez VirtualBox comme à vos habitudes, et créez une nouvelle machine. Assignez lui le système d'exploitation correspondant, et l'image de disque que vous venez de créer. Validez cette configuration et enfin lancez votre machine.

Vous pouvez bien sûr éditer vos préférences pour cette machine comme pour toute autre machine. Elle n'a rien de différent des autres machines, hormis le fait qu'elle accède directement à un disque.
Un problème important a lieu avec Windows XP en guise de système invité, en outre son incapacité à changer de profil matériel comme de chemise, il refuse de se lancer.

1) Méthode 1

Une solution probable serait d'employer une méthode à la VMware :

Repérez le disque dur que vous voulez utiliser dans la VB, et montez-le :

sudo mount /dev/<votre_disque> /<votre_point_de_montage> -t <le_système_de_fichier>

Si ce disque est déjà présent dans votre fstab, il suffit de faire :

sudo mount /dev/<votre_disque>

N'oubliez pas que vous pouvez avoir un problème de montage avec les NTFS, donc documentez-vous à ce sujet en lisant ce tutoriel.

Vous allez avoir besoin d'une disquette de démarrage. Voici le lien donné par un contributeur dans la section VMWare Server : http://sebseb.31.free.fr/pub/vmware/floppy_boot_xp.img

Téléchargez puis montez l'image de disquette de démarrage de Windows XP :

sudo mount floppy_boot_xp.img /<votre_point_de_montage> -o loop

Le plus courant pour cette fonction est :

sudo mount floppy_boot_xp.img /media/floppy0 -o loop

Copiez le fichier boot.ini de la partition d'amorce de windows XP dans la disquette d'amorce que vous venez de monter :

sudo cp -fv /<point_de_montage_du_disque_windows>/boot.ini /media/floppy0

Ceci fait, on démonte ces disques :

sudo umount /media/floppy0
sudo umount /dev/<votre_disque>

Et servez-vous de cette disquette (c'est-à-dire du fichier floppy_boot_xp.img) pour démarrer dessus dans votre VB.

2) Méthode 2

Créez un MBR:

sudo apt-get install mbr
install-mbr ~/.VirtualBox/WindowsXP.mbr --force
VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/Windows.vmdk -rawdisk /dev/sdb -partitions 1 -mbr ~/.VirtualBox/WindowsXP.mbr -relative -register

Pour un windows sur /dev/sdb1

Et, important, il faut activer l'option "IO APIC" pour booter un windows existant (utiliser le CD de XP et l'option réparer a partir de VirtualBox pour repasser a l'anceinne gestion ACPI)

Compresser un disque dur virtuel

Une image disque à taille dynamique est agrandie en fonction des besoins de l'OS guest. Mais elle ne diminue pas si l'espace n'est plus occupé. Ceci peut devenir gênant, donc voila une solution pour 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.

  • Créer un nouveau disque dur à taille dynamique, dont la taille est égale ou supérieure au disque qu'on souhaite compresser.
Clonezilla, qui sera utilisé par la suite, ne peut pas cloner un disque vers un disque de taille inférieure
  • Ouvrir les préférences de la VM concernée. Et ajouter le nouveau disque dur en attachements en tant que IDE Primaire Esclave.
  • La taille des disques étant probablement identique, seul l'UUID permettra de les différencier sous Clonezilla. Pour connaître l'UUID des disques virtuels, taper ceci dans un terminal.
VBoxManage showvminfo "Nom de la VM"
  • Télécharger Clonezilla et le monter dans la VM.
  • Démarrer la VM et lancer Clonezilla.
  • Choisir device-device disque/partition vers disque/partition pour cloner le disque.
  • Choisir disque local vers disque local pour utiliser les disques en attachements de la VM.
  • Effectuer le clonage du disque contenant le système (celui qui doit être compressé) vers le nouveau disque dur (encore vierge).
  • Après le clonage, éteindre la VM.
  • Réouvrir les préférences de la VM. Retirer le disque dur d'origine des attachements de la VM, afin de garder uniquement le nouveau disque dur qui vient de recevoir le clonage.
  • Modifier l'emplacement du disque pour le placer en IDE Primaire Maître.
  • Vous pouvez maintenant supprimer l'ancien disque dur.
  • La VM occupe à présent uniquement l'espace qui lui est strictement nécessaire. Évidemment rien ne lui empêche de continuer à grossir. Cette opération peut donc être répétée par la suite.

Mon compte d'utilisateur ne peut pas exécuter VirtualBox ni créer des machines virtuelles. Que faire ?

FIXME Autorisation du compte utilisateur en l'ajoutant dans le groupe « vboxusers ».

J'ai installé la version PUEL de VirtualBox, mais ma machine virtuelle ne prend pas en charge les périphériques USB. Que faire ?

Pour le support de l'usb, exécutez la commande

echo "none /proc/bus/usb usbfs devgid=$(grep plugdev /etc/group | sed 's/plugdev:x:\(.*\):.*/\1/'),devmode=664 0 0" | sudo tee -a /etc/fstab

N'oubliez pas de le monter

sudo mount /proc/bus/usb

Puis recompilez le module

sudo /etc/init.d/vboxdrv setup
Sous Ubuntu 10.04 (Lucid) hald n'est plus utilisé mais il est nécessaire à la gestion des périphériques USB sous Virtual Box il donc faut le lancer avec la commande
sudo hald --daemon=no

(avant de démarrer Virtual Box)

VERR_FILE_NOT_FOUND

Si vous obtenez un message du type :

VBox status code: -102 (VERR_FILE_NOT_FOUND)

C'est parce que le matériel de votre ordinateur a changé (ex : lecteur DVD retiré, …). Il faut rejeter la machine, aller dans les préférences et supprimer ce matériel pour la machine.

VERR_SSM_LOAD_CONFIG_MISMATCH

Si vous obtenez un message du type :

VBox status code: -1825 (VERR_SSM_LOAD_CONFIG_MISMATCH)

C'est que la machine virtuelle était en veille, et VirtualBox a été réinstallé. Rejetez la machine virtuelle (équivaut à un arrêt brutal de la machine), et relancez-la.

VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION

Si vous obtenez un message du type :

VERR_SSM_UNSUPPORTED_DATA_UNIT_VERSION

C'est parce que votre machine virtuelle n'a pas été fermée, mais est restée dans un état de sauvegarde. Désinstallez la nouvelle version, revenez à la version précédente, ouvrez votre machine virtuelle, puis refermez-la (option « Arrêter l'ordinateur »). Réinstallez la nouvelle version de VirtualBox et vous pourrez ouvrir à nouveau votre machine virtuelle.

VERR_VM_DRIVER_NOT_ACCESSIBLE

Si vous obtenez un message du type :

VBox status code: -1909 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 le vérifier depuis Gnome, utilisez Système → Administration → Utilisateurs et groupes. Pour voir en console a quels groupes l'utilisateur courant appartient, tapez simplement :

groups

Pour ajouter un ou des utilisateur(s) au groupe « vboxusers », référez-vous au paragraphe « Installation de VirtualBox ».

VERR_VM_DRIVER_NOT_INSTALLED

Si vous obtenez un message du type :

VirtualBox kernel driver not installed. The vboxdrv kernel module was either not loaded or /dev/vboxdrv was not created for some reason. Please install the virtualbox-ose-modules package for your kernel, e.g. virtualbox-ose-modules-generic..
VBox status code: -1908 (VERR_VM_DRIVER_NOT_INSTALLED).

Suivre le conseil donné: installer virtualbox-ose-modules-XXX selon le type de votre noyau:

uname -r

exemple de résultat sous Hardy:

2.6.24-19-generic

il faut donc installer le paquet apt://virtualbox-ose-modules-generic-2.6.24-19-generic

De manière générale, on peut utiliser la commande suivante :
sudo apt-get install virtualbox-ose-modules-`uname -r`

Version OSE

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 :

On télécharge les sources de virtualbox-ose :

sudo apt-get install virtualbox-ose-source

On crée le module (si la commande m-a renvoie une erreur, installer le paquet apt://module-assistant) :

sudo m-a prepare virtualbox-ose
sudo m-a a-i virtualbox-ose

Et on le charge :

sudo modprobe vboxdrv

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

Version non OSE

Ce message peut arriver lors de la mise à jour du noyau (kernel). Il faut recompiler le kernel, dans un terminal

sudo /etc/init.d/vboxdrv setup

Après la recompilation, relancer VirtualBox.

VERR_VM_DRIVER_VERSION_MISMATCH

Si vous obtenez un message du type :

VERR_VM_DRIVER_VERSION_MISMATCH

Tapez :

sudo /etc/init.d/vboxdrv setup

VERR_VMX_IN_VMX_ROOT_MODE

VirtualBox can't operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot.
VBox status code: -4011 (VERR_VMX_IN_VMX_ROOT_MODE).

Supprimez le module KVM :

sudo aptitude purge kvm

et un reboot.

Après le reboot, tapez :

sudo rmmod kvm_intel
sudo rmmod kvm

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

Message "Spawning session..."

Si au lancement d'une VM, une petite fenêtre s'ouvre avec le message "Spawning session…" et que celle-ci reste bloquée à 0%, vous devez :

  • fermer virtualbox ou tuer le processus si besoin
  • Recompiler le module en tapant dans un terminal :
sudo /etc/init.d/vboxdrv setup

Écran noir après le menu d'accueil d'un CD

Si juste après avoir sélectionné « Lancer Ubuntu » ou « Lancer Kubuntu » vous obtenez un écran noir et plus rien ne se passe, redémarrez la VM. Attention ne la fermez pas, faites juste Machine → Redémarrage ou encore « Host+R ».

Ecran bleu lors du lancement de machines virtuelles Windows après une mise à jour

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, sélectionnez une machine virtuelle dans la liste, cliquez sur le bouton "Préférences", puis sur l'onglet "Avancé". Dans la liste déroulante "Type du contrôleur IDE", sélectionner "PIIX3" à la place de "PIIX4".

Écran noir après le démarrage de windows

Il est possible qu'après avoir lancé windows dans votre VM, vous vous retrouviez avec un écran noir, juste avant que le logo windows avec sa barre de chargement n'apparaissent. Si c'est le cas vous pouvez essayer d'<activer l'IO APIC> dans les préférences de votre VM dans la partie général, dans l'onglet avancé.

Solution aux problèmes sous Vista pour obtenir le plein écran

Après installation des VBoxLinuxAdditions, 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         "1680x1050" "800x600" "640x480"
        EndSubSection
EndSection

La résolution utilisée sera la première dans le champ "Modes". Notez que vous pouvez utiliser la résolution de votre choix, ici il s'agit de 1680×1050.

Mode plein écran

Si en passant en mode plein écran, votre machine virtuelle reste affichée entourée d'un large cadre noir :

1/ Si ce n'est déjà fait, installez les "additions client". (Si vous avez installé la version OSE, avec Windows en invité sous Ubuntu, voir ici.)

2/ Si, après avoir installé les additions client, vous n'avez toujours pas la possibilité de modifier la résolution écran dans XP invité (sous XP : dans "Propriétés –> Paramètres… régler la résolution…"), par exemple si le curseur est bloqué sur 800 x 600, et qu'il est impossible de le déplacer et donc d'augmenter ainsi la résolution, vous pouvez faire ceci :

  • Arrêter Virtualbox s'il est déjà démarré.
  • Lancer dans un terminal la commande suivante, en indiquant la résolution maximale souhaitée (celle de votre écran), 1280 x 800 dans notre exemple :
VBoxManage setextradata global GUI/MaxGuestResolution 1280,800
  • Puis lancer successivement les deux commandes suivantes :
sudo /etc/init.d/vboxdrv stop

(vous aurez dans le terminal ce message : "Stopping VirtualBox kernel module vboxdrv") puis :

sudo /etc/init.d/vboxdrv start

(vous aurez dans le terminal le message "Starting VirtualBox kernel module vboxdrv [ OK ]"

  • Redémarrer Virtualbox et l'invité (XP dans notre exemple). On peut alors régler la résolution. Vous n'aurez peut-être pas la possibilité de régler en "1280 x 800", mais en utilisant les touches "Ctrl" de droite (maintenue appuyée) puis "F", l'invité se mettra en plein écran à la bonne résolution.

Il peut être nécessaire aussi d'activer l'ajustement automatique de la taille de l'écran de l'invité (soit par le menu "Machine" de Virtualbox, soit en utilisant les touches Host (Ctrl de droite) + G.)

3/ Dans d'autres cas, vous pouvez utiliser la commande suivante :

VBoxSDL -vm <nom_de_votre_machine_virtuelle_ou_l'UUID> -fullscreen
Cette commande lance directement votre machine virtuelle, et ne vous donne donc pas accès a toutes les options de configuration de Virtualbox. Il faut donc vous assurer de tout paramétrer correctement avant de l'utiliser au quotidien.
Un petit réajustement de l'écran « touche Host+A », suivi de « touche Host+F » peut aussi suffire pour y arriver.

Fenêtre transparente

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

Via le manager de compiz

Si vous ne l'avez pas encore installé référez-vous à installation.

Une fois le gestionnaire ouvert, allez dans la catégorie "Gestion des fenêtres" puis cochez et ouvrez "Règles de Fenêtre". Puis sous "Pas de visuels ARGB" collez ceci :

title=Sun VirtualBox

Fermez ensuite le gestionnaire, réouvrez VirtualBox et le tour est joué :-)

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.

AMD 64

VirtualBox fonctionne sous Ubuntu 64 bits, et permet à présent l'émulation d'un système d'exploitation 64 bits avec VirtualBox V2

Vista 64 bits Guest

Pour régler les problèmes de son et de réseau pouvant exister lors de la virtualisation de Vista SP1 64 bits

Réseau - Vista 64 bits

configurer un adaptateur comme ci après :

type d'adaptateur : Intel PRO/1000 MT Desktop (8254OEM)

attaché à : NAT

les pilotes sont sur le CD des Guest Additions

Audio - Vista 64 bits

Choisir comme Pilote hôte : Pilote audio ALSA ; et comme contrôleur : ICH AC97

Télécharger les pilotes AC97 sur le site http://www.realtek.com.tw/downloads/

Accepter les conditions

Ensuite télécharger Vista/Win7 (32/64 bits) Driver only (ZIP file) (~30Mo) téléchargement rapide possible par serveur ftp en choisissant Express

Placer le fichier téléchargé dans un répertoire de partage - le décompresser

Installer le pilote (je suis passé par le gestionnaire de périphérique de Vista pour l'installation) vérifier le son ;-)

Noyau SMP

VirtualBox ne gère la virtualisation que d'un seul processeur. Sur les processeur dual-core, chaque session VirtualBox ne tournera que sur un processeur. Pour exploiter plusieurs processeurs ou plusieurs core de processeur, utiliser kvm Virtualbox gère maintenant la virtualisation de plusieurs processeurs (jusqu'à 32!).

Erreur en écriture de l'Invité

Pour un SE Invité de type Windows XP, si vous avez une image disque .vdi définie en dynamique, il se peut que votre SE Invité vous renvoie une erreur en écriture (sur par exemple le fichier temporaire lors d'une installation de logiciel). Pour résoudre ce problème, il faut créer une image disque fixe (source). Pas de solution, actuellement, pour conserver son image disque dynamique.

Une autre possibilité consiste à utiliser la FAT32 pour formater ce disque virtuelle, car effectivement le type NTFS supporte mal un disque à image dynamique.

Erreur de kernel au lancement

cette erreur fait suite à une mise à jour du kernel de votre distribution. Pour corriger le problème: quitter Virtualbox ou

killall VirtualBox 

- puis lancer dans une console la commande:

sudo /etc/init.d/vboxdrv setup

et attendez les messages suivants:

* Stopping VirtualBox kernel module * done.
* Recompiling VirtualBox kernel module * done.
* Starting VirtualBox kernel module * done.

relancer Virtualbox.

Changer la résolution d'écran avec les Lives CD Ubuntu

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

Ceci concerne uniquement Les Lives CD Ubuntu, si vous virtualisez une version installée, utiliser les pilotes invités
  • Editer le fichier /etc/X11/xorg.conf avec les droits d'administration.
  • Dans la section "Monitor", ajouter la ligne :
HorizSync         31.0 - 67.0
  • Enregistrer les changements.
  • Puis fermer et redémarrer une nouvelle session.

Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez (~/.VirtualBox sera conservé dans tous les cas).

  • virtualbox.1272745237.txt.gz
  • Dernière modification: Le 18/04/2011, 14:45
  • (modification externe)