VirtualBox est un logiciel permettant de créer des ordinateurs virtuels, 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 :
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 qui est disponible actuellement dans le dépôt Ubuntu Universe.
VirtualBox est disponible pour GNU/Linux, MacOS et Windows.
VirtualBox possède une interface (réalisée avec 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).
Depuis 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).
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 |
Suivant que vous installez la version OSE ou non, les noms pour lancer les commandes diffèrent par la casse :
Avant d'installer VirtualBox, installez les paquets linux-headers-generic et build-essential.
Il suffit d'installer le paquet virtualbox-ose. (dépôts Universe)
Autorisation du compte utilisateur en l'ajoutant dans le groupe « vboxusers ».
Vous pouvez aussi installer le paquet virtualbox-ose-guest-utils.
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)
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.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 |
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).
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 (normalement fait automatiquement lors de l'installation):
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, tapez ceci pour ouvrir un shell prenant en compte votre nouveau groupe:
sudo -u $USER -s
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
sudo rmmod kvm-<archi>
Ou plus simplement
sudo /etc/init.d/kvm stop
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:
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).
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 :
VirtualBox propose des pilotes adaptés pour l'OS Guest : pour Windows et pour GNU/Linux.
Ceci permet
L'erreur système 67 s'est produite. Nom de réseau introuvable.
VirtualBox va monter automatiquement une image ISO fournie avec l'émulateur, ce qui provoquera le démarrage automatique de l'installation de ces pilotes.
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 » :
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.
Ces pilotes ne fonctionnent pas avec toutes les distributions … mais avec les versions stables d'Ubuntu ça devrait aller.
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.
Lorsque l'on utilise un Live CD Ubuntu sous virtualbox, la résolution d'écran est limitée à 800×600. Pour obtenir une résolution supérieur :
HorizSync 31.0 - 67.0
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
)
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.
Uniquement possible avec la version PUEL, la version OSE ne gère pas l'USB.
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.
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).
Exposée ici; virtualbox_partage avec un exemple détaillé pour un hôte Ubuntu et un invité Windows.
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.
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.
Article en Anglais expliquant la subtilité lexicale sous virtualbox: http://srackham.wordpress.com/cloning-and-copying-virtualbox-virtual-machines/
DANGER: la doc n' est pas claire: confusion entre ctrl+shift+D et ctrl+maj+D par exemple
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)
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>
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
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 :
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).
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é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)
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.
VBoxManage showvminfo "Nom de la VM"
VirtualBox fonctionne sous Ubuntu 64 bits, et permet à présent l'émulation d'un système d'exploitation 64 bits avec VirtualBox V2
pour régler les problèmes de son et de réseau pouvant exister lors de la virtualisation de Vista SP1 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
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
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
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.