[[virtualbox]]
Piste: » virtualbox
VirtualBox
VirtualBox est un logiciel permettant de lancer des machines virtuelles, tout comme VMPlayer/VMWare ou QEmu. VirtualBox permet d'installer de nombreux systèmes d'exploitation invités. Deux versions sont proposées par l'éditeur : la version de base est gratuite pour un usage personnel ou éducatif (licence PUEL), mais payante pour les entreprises. La version Open Source 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 Windows, Linux, et Mac.
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)
Ce qui différencie VirtualBox des autres virtualiseurs commerciaux, c'est qu'il offre une très bonne base GPL (et laisse augurer un avenir alléchant dans ce domaine), ainsi qu'une rapidité d'exécution bien supérieure à VMware par exemple. Ce qui en fait le virtualiseur idéal (à ne pas confondre avec un paravirtualiseur comme Xen), malgré quelques bugs de jeunesse.
VirtualBox ne permet cependant pas de virtualiser un autre OS déjà installé sur son PC.
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 : virtualbox / vboxmanage
- version non OSE : VirtualBox / VBoxManage
Installation de VirtualBox
Préalables
Avant d'installer VirtualBox, installez les paquets linux-headers-generic et build-essential.
Pour Ubuntu 6.06 LTS seulement, assurez-vous que les dépôts Universe soient actifs.
Installation de la version OSE
Depuis Gutsy, la version OpenSource Edition (OSE) est disponible directement dans le dépôt universe d'Ubuntu et est même visible dans l'outil Ajouter/supprimer du menu Applications de Gnome donc après avoir coché la case et appliqué dans cet outil vous pouvez passer à l'autorisation du compte utilisateur en l'ajoutant dans le groupe vboxusers.
Ainsi, il est possible d'installer VirtualBox depuis Gutsy en installant le paquet virtualbox-ose.
Installation de la version non OSE
Méthode classique
Ajoutez un des dépôts suivants à vos sources de mises à jour (choisissez celui correspondant à votre version d'Ubuntu) :
| Version | Dépôt |
|---|---|
| Ubuntu 8.04 LTS | deb http://www.virtualbox.org/debian hardy non-free |
| Ubuntu 7.10 | deb http://www.virtualbox.org/debian gutsy non-free |
| Ubuntu 7.04 | deb http://www.virtualbox.org/debian feisty non-free |
| Ubuntu 6.06 LTS | deb http://www.virtualbox.org/debian dapper non-free |
Copiez-collez cette ligne dans un terminal pour ajouter la clé d'authentification du dépôt:
wget -q http://www.virtualbox.org/debian/innotek.asc -O- | sudo apt-key add -
Rechargez la liste des paquets, puis installez le paquet virtualbox.
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).
Méthode automatisée
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
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 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
Vous pouvez suivre ce tutoriel, à partir du point 6. Il y a aussi cet autre excellent tutoriel, plus complet peut-être.
Vous pouvez lancer le logiciel par le menu Applications → Outils système 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 Guest à l'OS 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 drivers adaptés pour l'OS Guest : pour Windows et pour 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 drivers.
- Il est à noter que l'installation de ces drivers est prévu 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çu pour ce derniers ainsi que pour ses prédécesseurs fait l'objet d'un blâme de la part des utilisateurs de la VirtualBox.
- Quand l'OS Guest est de type Linux (user manual section 4.3.1) :
- installation des modules noyaux nécéssaires. 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.
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.
Problème virtualisation sous Vista : périphérique d'intégration non pris en compte par l'host pour cette résolution d'écran. Problème apparaît après redémarrage après installation des LinuxAdditions Problème a priori réglé depuis la version 1.40 de Virtualbox.
Solution aux problèmes sous Vista pour obtenir le plein écran :
Après installation des VBoxLinuxAdditions, après redémarrage, éditez le fichier /etc/X11/xorg.conf. Cherchez les lignes :
Section "Screen"
Identifier "Default Screen"
Device "VirtualBox graphics card"
Monitor "Generic Monitor"
DefaultDepth 24
EndSection
Et modifiez de façon à obtenir :
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)
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é
Le driver de la carte ethernet "virtualisée" par VirtualBox n'est pas par défaut contenue dans Vista (Serais-ce voulu par Microsoft ou serais-ce un hasard
)
La solution à ce problème est contenue dans le manuel de VirtualBox. Les drivers ont été inclus dans les "additions client". Il suffit donc de les monter comme expliqué ci-après puis ensuite d'installer le driver comme vous en avez l'habitude sous windows en recherchant le driver sur le cdrom.
Les périphériques USB
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.
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
Commun à Ubuntu Gutsy et Hardy
: Dans la pratique, modifier mountdevsubfs est inutile. Il suffit d'ajouter le groupe usbfs, d'en être membre et d'ajouter le point de montage.
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.
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
grep vbox /etc/group vboxusers:x:124:ionstorm
Repérer le n° après le x (ici, 124, mais il sera différent chez vous)
sudo gedit /etc/fstab
Ajouter ces 2 lignes à la fin, en remplaçant 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 124 par votre n° :
## Mount the usbfs for use with Virtual Box domount usbfs usbdevfs /proc/bus/usb -onoexec,nosuid,nodev,devgid=124,devmode=664
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.
* Pour HArdy modifiez fstab de cette façon
none /proc/bus/usb usbfs devgid=20,devmode=660 0 0
Redémarrer Virtualbox.
Ubuntu Feisty et précédents
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)
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 vous cliquez sur "Installer les adittions client ".
Il ne vous reste plus qu'a suivre la procedure d'instalation. (suivant –> suivant –> Terminer)
Création d'un répertoire de partage
Version simple
Dans les préférences de la VirtualBox, 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, dans une invite de commandes (
command.com, ou Démarrer → Exécuter → « cmd »), puis on tape :
net use X: \\vboxsvr\sharename
Et le lecteur apparait à la lettre X dans le poste de travail...
- De type linux, dans un vrai terminal
:
mount -t vboxsf sharename mountpoint
"mountpoint" est un répertoire de montage que vous devrez créer au préalable.
Pour automatiser le montage du partage au démarage de l'OS 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"
Si vous avez lancé en plein écran, vous pouvez reprendre la main avec Touche Host–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, vous allez peut-être 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 711 /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
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 :
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).
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 lancez votre machine.
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.
Problèmes connus
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.
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
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 ».
Mode plein écran
Si en passant en mode plein écran, votre machine virtuelle reste affichée entourée d'un large cadre noir, vous pouvez utiliser la commande suivante :
VBoxSDL -vm <nom_de_votre_machine_virtuelle_ou_l'UUID> -fullscreen
AMD 64
VirtualBox fonctionne sous Ubuntu 64 bits, mais ne permet pas encore l'émulation d'un système d'exploitation 64 bits.
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 du Guest
Pour un OS Guest XP, si vous avez une image disque .vdi définie en dynamique, il se peut que votre OS Guest vous renvoi une erreur en écriture (sur par ex le fichier temporaire lors d'une installation de logiciel). Pour solutionner ce problème, il faut créer une image disque fixe (source). Pas de solution, actuellement, pour conserver son image disque dynamique.
Liens
- Site Officiel : http://www.virtualbox.org/
- La documentation PDF (en anglais) : très intéressante…
- Un topic sur le forum francophone : http://forum.ubuntu-fr.org/viewtopic.php?id=89503
- Ce site en anglais est très complet (sources pour activer USB) : http://doc.gwos.org/index.php/VirtualBox
- Convertir une machine VMware (.vmdk) en VirtualBox (.vdi)
Contributeurs: Fabien26,sbig77,vorach,omega13 et DarkHylian.

