VirtualBox - virtualiser un O.S. préinstallé
Par Blacksad le mercredi, décembre 26 2007, 18:51 - GNU/Linux - Lien permanent
Vous avez un double boot et en avez marre de passer de votre GNU/Linux à votre Windows pour une application récalcitrante à la vie sur la banquise ?
Alors lisez la suite et vous verrez comment virtualiser un O.S. installé sur une partition de votre disque grâce à VirtualBox, l'outil libre de virtualisation d'O.S.
VirtualBox
Si comme moi vous avez une partition bootable de Windows vous pouvez, au lieu de virtualiser un Windows, utiliser cette partition (même si elle n'apparaît pas dans le Grub). Ainsi lorsque vous booterez sous Windows vos changement fait sous VirtualBox seront toujours effectif.
La tache est un peu laborieuse mais une fois que c'est fait c'est trés pratique et rassurez vous vous n'aurez rien de plus à faire si vous réinstallez votre GNU/Linux du moment que vous conservez bien précieusement vos fichier de configuration de Virtualbox.
Voici ma configuration:
utilisateur: blacksad
GNU/Linux: Kubuntu 8.04
O.S. à virtualiser: Windows XP installé sur la partition /dev/sda1
Dites vous bien qu'en cas de configuration différente il se peut que les commandes à saisir soient différentes, à vous de ne pas recopier bêtement mais de comprendre ce que l'on vous demande de saisir pour l'adapter.
Installation de VirtualBox:
Allez sur le site officiel: http://www.virtualbox.org/wiki/Downloads
Dans Binaries (all plateforms), télécharger la version qui correspond à votre O.S. (dans mon cas Ubuntu 8.04) et installez la.
ajoutez-vous au groupe vboxusers:
sudo adduser blacksad vboxusers
Virtualiser son O.S.
VirtualBox est maintenant fonctionnel, vous pouvez grace à lui tester tous les O.S. que vous souhaitez.
Nous allons ici nous occuper uniquement de la virtualisation d'un O.S. (en l'occurence Windows XP) déjà installé sur une de vos partition.
Cette partition ne doit pas etre montée pour que Virtualbox puisse l'utiliser:
sudo umount /dev/sda1
astuce: si comme moi vous n'avez aucun interet à voir votre particion Windows sous GNU/Linux vous pouvez directement l'enlever du fichier /etc/fstab ce qui vous épargnera une ligne à taper à chaque fois que vous virtualiserez votre O.S.
Il faut donner des droits suffisant sur cette partition:
sudo chmod 666 /dev/sda1
remarque: ces droits sont effectif pour la durée de votre session seulement. Il faut donc refaire la manipulation à chaque redémarrage de votre GNU/Linux.
Ce n'est pas top coté sécurité mais je n'ai vraiment que mon O.S. Windows sur cette partition, si toutefois vous avez une alternative plus clean je suis preneur.
On créé le lien entre VirtualBox et la partition:
sudo VBoxManage internalcommands createrawvmdk -filename /home/blacksad/.VirtualBox/WinXP.vmdk -rawdisk /dev/sda -partitions 1 -relative -register
Dans mons cas "1" car Windows est installée sur ma premiére partition, à adapter donc selon les cas.
La commande précédente a créé deux fichiers nécessaire pour virtualiser votre O.S. avec VirtualBox.
Nous allons en prendre possession:
sudo chown blacksad:users /home/blacksad/.VirtualBox/WinXP.vmdk
sudo chown blacksad:users /home/blacksad/.VirtualBox/WinXP-pt.vmdk
Lancez VirtualBox (he oui, enfin)
Dans fichier>gestionnaire de disque virtuel, indiquez lui le disque dur WinXP.vmdk (et la disquette de boot, voir ci-dessous)
Complements:
Probleme de Grub:
Théoriquement vous avez fait tout le nécessaire pour pouvoir virtualiser votre O.S. installé physiquement sur votre disque dur.
Le problème qui se pause dans mon cas est que le Grub est installé sur la même partition que Windows (sda1) et donc lorsque que je virtualise dans VirtualBox il me lance le grub qui évidement se fout lamentablement en l'air.
L'astuce pour contourner se problème est de dire à VirtualBox de toujours utiliser une disquette de démarrage pour démarrer directement la partition sda1 en court-circuitant le lancement du Grub.
Récupérez une disquette de démarrage:
http://sebseb.31.free.fr/pub/vmware/floppy_boot_xp.img
Paramétrez Virtualbox pour l'utiliser:
Allez dans fichier>gestionnaire de disque virtuels.
Sélectionnez l'onglet disquette et ajoutez le fichier image (si vous voulez etre certain de na pas la perdre mettez là dans le répertoire .VirtualBox).
Ensuite rendez-vous dans les préférence de votre machine virtuelle:
- Disque dur : Vérifier que la case Maitre primaire est cochée et pointe que le fichier vmdk créé avec VBoxManage
- Disquette : cliquer "installer la disquette" et sur le fichier image.
- Général : cliquer sur l'onglet avancé et la partie ordre d'amorçage, sélectionner uniquement disquette.
Probléme d'ecran noir:
Si comme moi le chargement de l'O.S. n'en fini pas et que vous rencontrez invariablement un écran désespérément noir cette petite astuce est pour vous:
Ouvrez VirtualBox et cliquez sur "préférence"
Allez dans l'onglet "avancé" et dans "options avancés" cochez la totalité des options:
- Activer l'CPI
- Activer l'IO APIC
- Enable VT-x/AMD-V
Liens utiles:
// article mis à jour pour la derniére fois le 19/06/08
Commentaires
Salut
Je viens de virtualiser avec succès une partition WinXP située sur sda4 à côté de mon Pingoin,
merci pour cette explication
Tu dis:
"Il faut donc refaire la manipulation à chaque redémarrage de votre GNU/Linux. "
Il se trouve que j'utilise Compiz qui bouffe de la ressource sur mon Gnome, alors je ne sais si mon truc va répondre correctement à ton souci : je lance VirtualBox au moyen d'un petit lanceur rendu exécutable dont voici le texte (à adapter of course)
##########"Lanceur VirtualBox##########
!#/bin/bash
sudo umount /dev/sda4 &
sudo chmod 666 /dev/sda4 &
##Rétablissement du gestionnaire métacity, moins goinfre que Compiz-Fusion:
metacity --replace &
VirtualBox &
###################
Ca marche bien, sachant que je me suis quand-même rendu propriétaire permanent des vmdx, je ne sais si c'est bien honnête...
Enfin, dans la commande
"...-partitions 1 -relative -register "
tu devrais préciser que le chiffre correspond à la patition que l'on vise ( c'est 4, chez moi) ...
Voili-voilou
:-)
Juste une question : est-ce que dans ce cas windows utilise les pilotes et la puissance de la carte graphique qui est installée (Geforce 8600GT MXM dans mon cas) ou utilise t'il le matériel simulé par Virtualbox ?
Est-ce que si on est dans le second cas cela ne fout pas le bazar dans windows au niveau des pilotes quand on redémarre windows grâce au dual boot pour profiter pleinement de la puissance de la carte graphique et autres matériels (ie pour avoir l'OpenGL, ...).
Merci pour tes réponses, j'attend de savoi ça pour voir si j'essaie ;)
Vivement l'OpenGL dans Virtualbox !
Bonjour,
Impossible de créer les deux fichiers .vmdk... la console me renvoi les messages suivants :
VirtualBox Command Line Management Interface Version 1.5.6
(C) 2005-2008 innotek GmbH
All rights reserved.
[!] Failed to create the VirtualBox object!
[!] Primary RC = 0x80004005
[!] Full error info present: true , basic error info present: true
[!] Result Code = 0x80004005
[!] Text = Could not load the settings file '/root/.VirtualBox/VirtualBox.xml' (VERR_OPEN_FAILED).
FATAL ERROR: Attribute 'version' has a value, '1.3-linux', that does not match its #FIXED value, '1.2-linux'
Location: '/root/.VirtualBox/VirtualBox.xml', line 3, column 83
[!] Component = VirtualBox, Interface: IVirtualBox, {76b25f3c-15d4-4785-a9d3-adc6a462beec}
[!] Callee = <NULL>, {00000000-0000-0000-0000-000000000000}
uen piste ?
Bonjour,
Tout d'abord merci pour ces expliquations qui m'ont permis de virtualisé Windows XP.
Je suis sur Debian Etch (donc pas de sudo, mais un utilisateur root avec son propre mot de passe)
Je voudrais ajouter quelques petits problèmes que j'ai rencontré :
- Pour les droits qu'il faut donner à la partition, moi j'ai rajouté mon utilisateur au groupe disk :
ls -l /dev/hda
brw-rw---- 1 root disk 3, 0 2008-07-16 18:49 /dev/hda
Donc pas besoin de faire un chmod 666 ni de chown sur le device. Pour ajouter l'utilisateur au groupe disk, il suffit de faire "adduser $USER disk", $USER étant votre login d'utilisateur. N'oubliez de redémarrer votre shell et le module virtualbox pour prendre en compte les nouveaux droits (ou simplement l'ordinateur).
- Ensuite pour la création du lien entre VirtualBox et la partition, il faut bien l'appeler en root (chose qui n'est pas précisé dans la doc ubuntu) et il faut donner le chemin d'accès absolu pour le paramètre '-filename' sinon on a droit à l'erreur de frank.
- Pour l'image de la disquette de démarrage, j'ai dû modifier le boot.ini comme c'est expliqué dans la doc d'ubuntu
- J'ai eu aussi un écran bleu avec l'erreur STOP: 0x0000..007B je crois et ça venait du fait que le controleur IDE n'était pas le même, donc Windows plantait. Pour contourner ce problème, il faut installer le MergeIDE (sur le site de virtualbox : http://www.virtualbox.org/wiki/Migr... section Hard Disk Support). Il suffit donc de le télécharger, redémarrer sous Windows, décompresser le zip et exécuter le bat.
- Enfin dernière petite astuce, pour éviter tout conflit matériel, j'ai créer deux profils matériels sous Windows (Poste de travail -> Propriétés -> Matériel -> Profils matériels) avant de l'avoir émuler sous VirtualBox. Donc à chaque démarrage du Windows, il me demande quel profil je souhaite charger (Normal/VirtualBox) et pour l'instant ça marche impec.
- Pour Sebeto, si tu boote Windows en natif tu auras bien sur les performances de ta carte graphique. Si tu le boote sur VirtualBox tu utilises juste le matériel simulé par VirtualBox donc pas d'OpenGL. Je n'ai pas eu de problème de drivers au niveau des pilotes étant donné que j'utilise deux profils différents depuis le début. Je ne sais pas si certains ont essayé avec le même profil et quelles conséquences cela provoque ?
Bonne continuation.
Bye, Xentor609 !
Merci pour tous ces commentaires si constructifs.
Il est dommage que je n'ai pas suffisamment de temps pour m'occuper de ce blog. Promis ca viendra.
- Chompitiarve, c'est corrigé ;)
- Sebeto, même si on utilise la partition physique de Windows, VirtualBox virtualise l'OS préalablement installé comme il le ferait avec une installation virtualisé classique.
Donc à l'heure actuelle: pas (ou trés peu) d'accélération graphique.
Le seul bazard constaté entre un demarrage classique sous Windows et une virtualisation de cette partition c'est au niveau des licences d'utilisation des logiciel.
J'ai remarqué le cas pour un logiciel de retouche d'image.
- frank, malheureusement je ne suis pas trop en mesure de t'etre d'une trés grande aide.
Vérifie bien que la partition Windows n'est pas déjà montée et tu as bien les droits root lors de ta tentative.
- Xento, il est recommandé d'utiliser deux profils mais de ce que j'ai vu sur ma machine, Windows gére trés mal ce système, que je les utilise ou pas, il se comporte de la même façon (nouveau périphérique détécté à chaque fois etc...) j'ai abandonné cette astuce qui du coup etait une perte de temps au démarrage.