[[virtualbox]]
Piste: » virtualbox
VirtualBox
VirtualBox est un logiciel permettant de créer des ordinateurs virtuels, tout comme VMPlayer/VMWare ou QEmu pour ensuite installer de nombreux systèmes d'exploitation invités qui fonctionneront dans le système d'exploitation réel de votre ordinateur. Deux versions, dites "non OSE", sont proposées par l'éditeur :
- une gratuite pour un usage personnel ou éducatif (licence PUEL) ;
- une payante pour les entreprises.
Il existe une troisième version Open Source dite "OSE" qui est entièrement libre mais amputée de certaines fonctionnalités pour les entreprises, et est disponible actuellement dans le dépôt Ubuntu Universe.
VirtualBox est disponible pour GNU/Linux, MacOS et Windows.
VirtualBox possède une interface (en QT) qui vous permettra de gérer très simplement vos différentes machines virtuelles (il existe une interface en SDL : VBoxSDL) et une interface en GTK+ (VBoxGTK).
À partir de la version 2.1, VirtualBox gère l'accélération matérielle OpenGL.
Dans le cas des systèmes Windows, le changement brutal d'environnement matériel est quasiment fatal à tous les coups. Ceci est d'autant plus vrai pour les moutures NT (et donc Windows XP et ses successeurs).
Lexique
| Abréviation | Signification | Traduction |
|---|---|---|
| VM | Virtual Machine | Machine virtuelle |
| OS | Operating System | Système d'exploitation |
| OS Host | celui qui lance VirtualBox, normalement votre Ubuntu | |
| OS Guest | l'OS que vous virtualisez avec VirtualBox | |
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
Installation de VirtualBox
Préalables
Avant d'installer VirtualBox, installez les paquets linux-headers-generic et build-essential.
Installation de la version OSE
Il suffit d'installer le paquet virtualbox-ose. (dépot Universe)
Autorisation du compte utilisateur en l'ajoutant dans le groupe « vboxusers ».
Installation de la version non OSE
A partir du site officiel (.DEB)
Il suffit de vous rendre sur le site officiel de VirtualBox et d'installer le paquet .DEB correspondant à votre architecture (généralement i386, ou sinon AMD64 si vous êtes en 64 bits)
Par les dépots de virtualbox.org
Ajoutez un des dépôts non officiels suivants à vos sources de mises à jour (choisissez celui correspondant à votre version d'Ubuntu) :
| Version | Dépôt |
|---|---|
| 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 |
| Ubuntu 6.06 LTS | deb http://download.virtualbox.org/virtualbox/debian dapper non-free |
| Clé d'authentification à ajouter | |
Copiez-collez cette ligne dans un terminal pour ajouter la clé d'authentification du dépôt :
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
Rechargez la liste des paquets, puis installez le paquet virtualbox-3.0 :
Lors de l'installation, il y aura un avertissement sur le fait qu'il faut ajouter votre compte utilisateur au groupe « vboxusers » (nous y reviendrons juste après).
Désinstallation
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.
Après l'installation
Autoriser l'utilisation par un compte utilisateur
Pour autoriser votre compte utilisateur du système à utiliser VirtualBox, il faut l'ajouter au groupe vboxusers, copier-coller ceci dans un terminal pour le faire :
sudo adduser $LOGNAME vboxusers
($LOGNAME est une variable d'environnement système qui renvoie automatiquement votre nom d'utilisateur, inutile donc de le remplacer dans la commande).
Si un message d'erreur vous indique que le groupe n'existe pas, vous pouvez l'ajouter de la façon suivante :
sudo groupadd vboxusers
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
faut pas oublier de le monter
sudo mount /proc/bus/usb
Puis recompilez le module:
sudo /etc/init.d/vboxdrv setup
N'oubliez pas de vous déconnecter et vous reconnecter pour que l'ajout de groupe soit pris en compte avant de lancer virtualbox.
Si vous n'avez pas envie de vous déconnecter, tapez
sudo -u $USER -s
Pour ouvrir un shell prenant en compte votre nouveau groupe.
Si vous n'avez pas envie de vous déconnecter, et que vous avez installé un serveur SSH sur votre machine vous pouvez ouvrir un terminal et taper :
ssh -X monlogin@localhost
id -a
→ vous devez voir le group 122(vboxusers)
xlogo pour valider le display, puis on peut lancer Virtualbox
Premier lancement
sudo rmmod kvm-<archi>
Vous pouvez aussi éditer le fichier /etc/modprobe.d/blacklist et y ajouter la ligne :
blacklist kvm-<archi>
afin d'éviter que le module ne soit rechargé à chaque démarrage.
Vous pouvez suivre ce tutoriel, 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:
- 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)
- 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).
- Installation de l'OS émulé (via un CD ou une image ISO)
- 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
- 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 ».
VirtualBox va monter automatiquement une image ISO fournie avec l'émulateur, ce qui provoquera le démarrage automatique de l'installation de ces pilotes.
- 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.
-
- 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.run» en tant que root.
sudo apt-get install build-essential cd /media/cdrom0 && sudo sh ./VBoxLinuxAdditions.run
Une fois l'installation terminée un reboot de la machine virtuelle est demandé.
résultat bonne gestion de la capture de la souris.
Ces pilotes ne fonctionnent pas avec toutes les distributions … mais avec les versions stables d'Ubuntu ça devrait aller.
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.
Utilisation avancée
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)
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 deux manières de gérer l'accès au réseau de l'OS Guest : en NAT ou en utilisant l'interface de l'hôte (HOST). Ces deux options sont disponibles dans les paramètres (settings) de l'OS invité (Guest).
NAT
Le NAT fonctionne sans autre configuration. VirtualBox met à disposition un serveur DHCP pour l'OS invité (configuré en "IP dynamique") qui a dès lors accès au LAN (pour autant que l'OS hôte y ait accès …).
Dans ce cas l'OS invité pourra communiquer facilement avec l'OS hôte via un répertoire de partage ou via une liaison Samba (voir infos plus bas).
- Le « mapping de ports », une option à connaitre
Dans le cas particulier où l'on souhaite pouvoir accéder à l'OS invité à partir de l'OS hôte, il est possible de recourir à ce que l'on appelle un « mapping de ports ». Ceci est utile par exemple si vous faites « tourner » un serveur FTP, http … sur votre OS invité. Il sera ainsi accessible depuis l'OS hôte (en lançant une requête sur localhost) et même depuis les ordinateurs extérieur connectés à l'ordinateur hébergeant la machine virtuelle (si les ports définis par le mapping ne sont pas bloqués).
Vous pouvez le mettre en œuvre avec les commandes suivantes (à faire une fois l'OS invité éteint) :
vboxmanage setextradata "{nom de machine virtuelle}" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/{nom du mapping}/Protocol" TCP
vboxmanage setextradata "{nom de machine virtuelle}" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/{nom du mapping}/GuestPort" 22
vboxmanage setextradata "{nom de machine virtuelle}" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/{nom du mapping}/HostPort" 2222
Ces commandes auront pour effet de rediriger les paquets TCP reçus sur le port 2222 de l'OS hôte (venant de toutes ses interfaces) vers le port 22 de l'OS invité.
Host interface networking
Il y a aussi une autre solution qui permet une communication directe entre les OS hôte et invité.
C'est l'option « Host Interface Networking » : très puissante, elle vous demandera un peu de travail. Elle est développée en détail à la page virtualbox_reseau.
C'est simplifié avec ubuntu 8.04 et virtualbox ose : http://forum.ubuntu-fr.org/viewtopic.php?id=217680
Problème : installer le réseau avec Vista en invité
A cause de l'ancienneté de certain matériel, Microsoft Windows Vista ne fournit plus les pilotes de certaines cartes réseau "virtualisées", ceci n'est pas un problème : d'une part, on dispose de plusieurs cartes réseau virtuelles, et d'autre part, les pilotes sont fournis dans les additions clients.
Il suffit donc de les monter comme expliqué ci-après puis ensuite d'installer le pilote comme vous en avez l'habitude sous windows en recherchant le pilote sur le cdrom.
Les périphériques USB
: Les périphériques USB fonctionnent parfaitement après installation si l'on déclare l'utilisateur "root" dans le groupe "vboxusers" ;
donc toutes les modifications, concernant l'USB, qui suivent sont inutiles dans ce cas précis !
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.
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.
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.
Commun à Ubuntu Gutsy et Hardy
: Cette section semble inutile : vous devriez pouvoir passer directement à la partie Hardy ou Gutsy.
Modifiez le fichier /etc/init.d/mountdevsubfs.sh
Changer cette ligne (Ligne 40~):
# # Magic to make /proc/bus/usb work # #mkdir -p /dev/bus/usb/.usbfs #domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644 #ln -s .usbfs/devices /dev/bus/usb/devices #mount –rbind /dev/bus/usb /proc/bus/usb
par :
# # Magic to make /proc/bus/usb work # mkdir -p /dev/bus/usb/.usbfs domount usbfs “” /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644 ln -s .usbfs/devices /dev/bus/usb/devices mount –rbind /dev/bus/usb /proc/bus/usb
Ubuntu Hardy & Intrepid
grep vbox /etc/group vboxusers:x:124:ionstorm
Repérer le n° après le x (ici, 124, mais il sera peut-être différent chez vous)
sudo gedit /etc/fstab
Ajouter ces 2 lignes à la fin, en remplaçant au besoin 124 par votre n° :
## usbfs is the USB group in fstab file: none /proc/bus/usb usbfs devgid=124,devmode=664 0 0
sudo gedit /etc/init.d/mountkernfs.sh
Rajouter ces lignes après "do_start () {" en remplaçant au besoin 124 par votre n° :
## Mount the usbfs for use with Virtual Box domount usbfs usbdevfs /proc/bus/usb -o noexec,nosuid,nodev,devgid=124,devmode=664
Allez dans Administrations–> Utilisateurs et Groupes –> Gérer les Groupes
Assurez-vous d'avoir les droits sur vboxusers en cliquant sur propriétés et en cochant l'utilisateur approprié
Redémarrer ubuntu.
Ubuntu Gutsy
Modifiez aussi la ligne du fichier /etc/udev/rules.d/40-permissions.rules
Changer cette ligne (Ligne 67~):
USB devices (usbfs replacement) SUBSYSTEM==”usb_device”, MODE=”0664″
par celle ci:
# USB devices (usbfs replacement) SUBSYSTEM==”usb_device”, GROUP=”usbusers”, MODE=”0664″
Allez ensuite dans système → administration → Utilisateurs et groupes
cliquez sur Gérer les groupes puis ajouter un groupe
Remplissez la première ligne par :
usbusers
et cochez les utilisateurs qui doivent être membres de ce groupe.
ensuite vérifier le group_id crée pour le groupe "usbusers", grâce à la commande:
grep 'usbusers' /etc/group
Notez le group_id retourné la commande précédente, qui a la forme suivante:
usbusers:x:[votre numéro de groupe]:[La liste des utilisateurs membre du groupe]
ensuite ajoutez cette ligne au fichier /etc/fstab :
none /proc/bus/usb usbfs devgid=<GROUP_ID>,devmode=664 0 0
Avec <GROUP_ID> l'identifiant de groupe retourné par la commande précèdent.
Redémarrer Ubuntu.
Ubuntu 6.06 LTS
Si, au démarrage du périphérique, une fenêtre apparaît, vous demandant de vérifier les droits usbfs (exemple : Not permitted to open the USB device, check usbfs options), il vous faut :
- vérifier que le groupe usbfs existe et que vous êtes membre de ce groupe. Dans une console, tapez :
grep 'usbfs' /etc/group
qui, si tout est correctement paramètré, devrait vous retourner :
usbfs:x:[un numéro]:[La liste des utilisateurs membre du groupe]
- Si le terminal ne vous affiche rien, le groupe usbfs n'existe pas. Lisez le paragraphe précédent.
- Si le groupe existe mais que votre nom d'utilisateur n'apparaît pas à la fin de la ligne, tapez dans votre console ouverte :
sudo addgroup $LOGNAME usbfs
- Si tout est correct, notez le nombre que le terminal a affiché, puis éditez le fichier /etc/fstab. Recherchez la ligne :
none /proc/bus/usb usbfs devgid=<un_nombre>,devmode=664 0 0
et assurez-vous que la valeur de devgid correspond bien à ce que vous avez noté. Sinon, remplacez la valeur, enregistrez puis redémarrez votre ordinateur (le vrai, pas le virtuel).
Problème 3
Si ça ne marche toujours pas, essayez de modifier le fichier /etc/udev/rules.d/40-permissions.rules.
Changer cette ligne (Ligne 67~):
SUBSYSTEM=="usb_device", MODE="0664"
par :
# Edited to enable USB devices with VirtualBox # Original line commented out # SUBSYSTEM=="usb_device", MODE="0664" SUBSYSTEM=="usb_device", MODE="0666"
le « # » est au cas où vous voudriez revenir en arrière
Modifiez aussi la ligne du fichier /etc/fstab rajoutée dans la solution 1 :
none /proc/bus/usb usbfs devgid=<NoGroupefstab>,devmode=666 0 0
Le devmod doit être cohérent : 666 au lieu de 664.
Ubuntu toutes versions
Est-ce encore d'actualité ?
Problème 4
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…
Scanners USB
Certains scanners ont des problèmes avec la version 1.5.2 de VirtualBox. C'est en particulier le cas du scanner Epson V100 Photo mais aussi de scanners Canon ou HP (source : forum VirtualBox). En ce qui concerne le Epson V100 Photo il est bien reconnu sous XP, mais, lorsque l'on lance une pré-visualisation ou un scan à partir du programme Epson Scan on a un message d'erreur indiquant que le scanner ne répond pas et le programme plante.
Un retour à la version 1.4 de VirtualBox permet de contourner ce problème si, bien sûr, l'on n'a pas besoin aussi d'une fonctionnalité nouvelle de la version 1.5.2.
Pour les versions antérieures à Gutsy il suffit de télécharger ici le paquet correspondant à votre version d'Ubuntu et de l'installer après avoir désinstallé la version 1.5.2.
Pour Gutsy, comme il n'existe pas de paquet, il faut utiliser le fichier .run (disponible ici) qui s'installe avec la commande :
sudo ./VirtualBox_1.4.0_Linux_x86.run install
Lors du passage de 1.5.2 à 1.4 on peut continuer d'utiliser la même image disque (fichier .vdi). Par contre il faudra créer une nouvelle machine virtuelle car le format des fichiers xml ou sont décrits les machines virtuelles n'est pas le même entre les 2 versions. Lors de la création de cette nouvelle machine virtuelle il suffira de choisir le fichier vdi existant au lieu d'en créer un nouveau.
Le répertoire de partage
Pour faciliter le partage entre l'OS Host, et l'OS Guest, VirtualBox offre un système simple (cependant le partage Netbios via Samba marche très bien).
Prérequis : Additions client installées (Guest addition), ainsi que l'option réseau dans VirtualBox (préférences/réseaux/activer adaptateur de réseaux)
(note : une fois le répertoire de partage correctement configuré, il est possible de lancer la VM SANS activer le contrôleur réseau. Le repertoire de partage reste actif. Cela permet donc d'isoler l'OS guest du réseau.
Installation des additions client (Guest addition)
- Lancez virtualbox
- Lancez l'host invité (Guest)
- Dans la fenêtre du Guest, vous avez une barre d'outils en haut avec 3 menus dont les noms sont :
"Machine"
* "Périphériques"
"Aide"
ou bien si c'est en anglais :
"Machine"
* "Devices"
"Help"
Ensuite en bas du menu Périphérique/Devices, vous cliquez sur "Installer les additions client ".
Il ne vous reste plus qu'à suivre la procédure d'installation (Suivant → suivant → Terminer).
Création d'un répertoire de partage
Il faut d'abord partager le dossier voulu en faisant clique droit –> options de partage
ensuite cocher la case "partager ce dossier" puis choisissez le nom du partage et cocher la case "permettre aux autres utilisateurs de modifier ce dossier"
Version simple
Dans les préférences de la VirtualBox (guest non booté), cliquez sur « Répertoires partagés », cliquez sur « Ajouter un nouveau répertoire partagé », donnez le chemin d'accès et donnez lui un nom. Retenez bien ce nom, il correspond à « sharename » dans les exemples qui suivent.
Version geek
Vous allez passer par la ligne de commande. Vous devrez d'abord éteindre votre OS Guest avant d'effectuer cette manip. Dans l'OS Host (votre ubuntu), vous devrez taper quelque chose du style :
vboxmanage sharedfolder add "xp" -name sharename -hostpath "/home"
- "xp" est ici le nom de votre machine virtuelle (celle ci ne doit pas être lancée, et il est préférable d'éviter les tirets dans le nom de la machine virtuelle)
- sharename est le nom de partage désiré (ne pas mettre de _ dans le nom)
- "/home" est le chemin absolu que vous voulez partager. Attention, ce répertoire doit appartenir au groupe vboxusers (utiliser chgrp) sous peine de voir une erreur 67 dans windows.
Accès au partage
Pour accéder à ce partage dans un OS Guest:
- De type Windows :
Version Simple
dans l'explorateur Windows, Outils > Connecter un lecteur réseau Choisissez la lettre que vous voulez pour désigner le fichier (ex Z:) Dossier \\vboxsvr\sharename
Version Geek
dans une invite de commandes (command.com, ou Démarrer → Exécuter → « cmd »), puis on tape :
net use X: \\vboxsvr\sharename
(sharename= nom du dossier partagé crée précédement)
Et le lecteur apparait à la lettre X dans le poste de travail…
mount -t vboxsf sharename mountpoint
"mountpoint" est un répertoire de montage que vous devrez créer au préalable : exemple :
sudo mkdir -p /mnt/partage
sudo mount -t vboxsf -o uid=`id -u` -o gid=`id -g` sharename /mnt/partage
Pour automatiser le montage du partage au démarrage de l'OS GNU/Linux virtuel, modifiez le fichier /etc/fstab en rajoutant cette ligne à la fin :
sharename mountpoint vboxsf defaults 0 0
Suppression du répertoire de partage
Pour enlever ce point de montage, dans votre OS Host (votre ubuntu), il vous faudra quitter votre session virtualbox, et taper :
VBoxManage sharedfolder remove "xp" -name "sharename"
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
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
Fournir le user "moncompte" au prompt.
Les « snapshots »
Elles vous pemettent de revenir à un état antérieur. C'est une sorte d'image disque.
Attention: vous devez prendre le "snapshot" lorsque la machine virtuelle est arrêtée (powered off) ou suspendue (saved) mais NON lorsqu'elle est en fonctionnement (running). Curieusement cette dernière possibilité n'est pas bloquée automatiquement par VirtualBox alors qu'elle entraîne des dysfonctionnements.
Procédez de la façon suivante: ouvrez la fenêtre VirtualBox, regardez la partie droite, sélectionnez l'onglet Snapshots, puis cliquez sur l'appareil photo, renseignez et sauvegardez.
Si vous souhaitez détruire la VM, il vous faudra détruire auparavant les snapshots enregistrées.
Si vous souhaitez revenir à l'état d'une snapshot, vous détruisez (discard) les étapes ultérieures, sachant que vous perdrez ce qui a été modifié ou ajouté entre temps.
Lancement direct d'une VM
Vous shuntez l'étape du serveur VirtualBox. Utilisez la commande suivante :
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éer, vous pouvez cliquer dessus et vous aurez votre machine virtuelle.
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.
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>
Cette méthode n'est pas pratique, si quelqu'un sait se servir de UDEV à cette fin, merci d'indiquer le mode opératoire en lieu et place du précédent
- Voir la méthode « Qui marche chez moi™ » sur udev. – ProgFou
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).
- -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.
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.
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émarré 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)
Problèmes connus
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".
Je vous explique que le paramétre setup n'est pas implementé. On obtient ceux-ci : * Usage: /etc/init.d/vboxdrv {start|stop|restart|status} Si vous obtenez l'erreur VERR_VM_DRIVER_VERSION_MISMATCH il n'ya rien à faire ! il faut repasser à windows XP pour installer Virtual BOX pour Windows et installer ubuntu ou linux dessus !
C'est qu'ils n'ont pas testé à fond virtualbox version linux !
Normalement ça le fait sur toutes les systéme ubuntu !
Bizarre : la version ancienne semble fonctionner !
Erreur lors du lancement de VirtualBox après une mise à jour
Si vous obtenez un message du type :
VERR_VM_DRIVER_VERSION_MISMATCH
Tapez :
sudo /etc/init.d/vboxdrv setup
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.
Erreur lors du lancement de VirtualBox
Si vous obtenez un message du type :
mv: ne peut déplacer /home/VotreNom/.virtualBox/ … vers …
Il faut vous redonner les droits sur ce dossier caché avec cette commande :
sudo chown utilisateur:utilisateur -R .VirtualBox
Remplacer utilisateur par votre nom de connexion.
Apparition d'une fenêtre avec le 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
Erreur au lancement d'une VM
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
groups
Pour ajouter un ou des utilisateur(s) au groupe « vboxusers », référez-vous au paragraphe « Installation de VirtualBox ».
Erreur au lancement d'une VM
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).
Pas besoin de recompiler le kernel, il vous suffit de supprimer le module KVM en fonction de votre processeur :
- intel
sudo modprobe -r kvm_intel
- amd
sudo modprobe -r kvm_amd
Erreur au lancement d'une VM
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
Erreur au lancement d'une VM
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
sudo apt-get install virtualbox-ose-modules-`uname -r`
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).
Il faut recompiler le kernel, dans un terminal: sudo /etc/init.d/vboxdrv setup , Après la recompilation, relancer VirtualBox
Erreur au lancement d'une VM
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.
É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 ».
É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é.
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
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
Apparemment, VirtualBox n'est pas capable d'amorcer un noyau SMP.
En même temps, la majorité des distributions est fournie avec un noyau non-smp ou generic et VirtualBox ne gère la virtualisation que d'un seul processeur.
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.
Liens
- Documentation PDF (en anglais)
- VirtualBoxImages - Ressources en machines virtuelles gratuites préinstallées
- virtualbox.wordpress - Autre site de ressources en machines virtuelles gratuites préinstallées (en anglais)
- Ce site en anglais est très complet (sources pour activer USB) : http://gwos.org/doku.php/udsf:virtualbox.
- Convertir une machine VMware (.vmdk) en VirtualBox (.vdi)
Contributeurs: Fabien26,sbig77,vorach,omega13, DarkHylian et BravoJR.

