Vmware avec windows sur disque physique

Un article de Wiki de la communauté Mandriva.

Jump to: navigation, search

Sommaire

[modifier] Versions

Tuto utilisables sur les versions 2007.x, 2008.0 et 2008.1.

[modifier] Introduction

L'objectif de ce petit tuto est d'intaller une machine virtuelle contenant windows sur une partition physique réelle permettant ainsi d'avoir le même windows à la fois en virtuel sous linux et en dual boot.

[modifier] Mises en garde

Attention !
L'installation dans vmware d'une machine virtuelle utilisant un disque physique est périlleuse. Elle peut engendrer la perte d'un disque complet. C'est une manipulation à réserver de préférence à des utilisateurs avertis, à vos risques et périls.
Attention !
L'installation dans vmware d'une machine virtuelle utilisant un disque physique nécessite une modification des droits d'accès à certains disques. Cette manipulation comporte des lacunes de sécurité et doit être mûrement réfléchie avant application.

[modifier] Prérequis

  1. Placez vous en root. Sauf indication spéciale, la majorité des manipulations le nécessite.
  2. Installez, si ce n'est fait, vmware server. Voir le tuto Vmware server
  3. il est préférable d'avoir windows installer sur un disque IDE . En effet, l'installation sur SATA n'est pas aisé et conduit bien généralement à un écran bleu au démarrage de la machine virtuelle. A ce stade, reportez à la section écran bleu furtif.

[modifier] Configuration de udev

Attention !
Cette manipulation comporte des lacunes de sécurité et doit être mûrement réfléchie avant application.

Vmware doit avoir un accès en lecture/écriture à certains disques pour fonctionner correctement. Cela signifie que les utilisateurs vmware doivent avoir les droits associés. Pour ce faire il est nécessaire de suivre les étapes suivantes:

[modifier] Création d'un groupe vmware

Créez un groupe "vmware" comprenant les utilisateurs root et tous ceux qui utiliseront vmware.

À noter !
l'utilisation du groupe "disk" est également possible en ajoutant à ce groupe tous les utilisateurs potentiels de vmware. Cependant, dans ce cas, l'ensemble de vos disques (exceptés les disques IDE qui sont en root:root, pourquoi?) deviennent accessibles par les utilisateurs, y compris ceux qui ne sont pas utilisés par vmware. Cette méthode est donc déconseillée.

[modifier] Modification des règles

Ajoutez un fichier /etc/udev/rules.d/94-local.rules contenant, pour chaque disque auquel vmware accédera une ligne de ce type:

BUS=="<bus>", KERNEL=="<disque>", GROUP="vmware", MODE="0660"
  • <bus> est égal à scsi pour un disque SATA et ide pour un disque ide.
  • <disque> est le nom du disque vu par le gestionnaire de device udev du kernel (sda,sdb,hda,...)

exemple: pour accéder à la première partition d'un disque ide et un disque SATA cela donne:

BUS=="scsi", KERNEL=="sda", GROUP="vmware", MODE="0660"
BUS=="ide", KERNEL=="hda", GROUP="vmware", MODE="0660"
À noter !
vmware doit avoir accès à tous les disques qui seront accéder par le programme d'amorçage et les O/S accessibles à partir de ce programme d'amorçage. La majorité du temps, il n'y a qu'une partition à accéder et on obtient une simple ligne donnant accès au disque contenant cette partition.
Attention !
Même si une seule ou partie des partitions contenu dans un disque n'est utile pour la virtualisation, l'accès au disque complet doit être donné à vmware, l'accès à la partition n'est pas utile.

[modifier] Modification des règles pour une mandriva 2007

Pour les utilisateurs d'une version mandriva 2007.x, udev pose quelques problèmes. Alors que pour la version 2008.0, dans le cas de règles concurrentes, la dernière gagne (c'est pourquoi les règles ajoutées ont été placées en 94-...), pour ces versions antérieures la logique est un peu obscure et ne suit pas la documentation. Voici ce qui a marché dans le cas du système précédent pris en exemple: le contenu du fichier /etc/udev/rules.d/94-local.rules est le suivant:

KERNEL=="sda", NAME="%k", GROUP="vmware"
BUS=="ide", KERNEL=="hda", GROUP="vmware"

Ensuite il faut ajouter un lien symbolique /etc/udev/rules.d/10-local.rules sur /etc/udev/rules.d/94-local.rules.

[modifier] Prise en compte des modifications

Tapez udevtrigger et vérifier que vos devices appartiennent bien au nouveau groupe "vmware" avec les droits en écriture pour le groupe.

[modifier] Configuration de windows

Amorcez windows en physique à partir de votre dual boot. Ouvrez les propriétés systèmes (clic droit sur le poste de travail puis propriétés ou panneau de configuration->système) puis sélectionnez l'onglet matériel (voir figure ci dessous).

Image:Vmware-xp-existant-20.jpg

Cliquez sur profils matériels vous obtenez la fenêtre suivante:

Image:Vmware-xp-existant-21.JPG

Normallement la vôtre ne contient qu'un profil, que vous renommez "profil reel". Toujours à partir du même profil, cliquez sur copier pour créer un nouveau profil "profil virtuel". Dernière chose: cochez l'option attendre que l'utilisateur... (voir figure précédente)

[modifier] Création d'un disque virtuel d'amorçage

Placez vous dans la le répertoire contenant l'ensemble des configurations des machines virtuelles. Normalement:

Image:Konsole.png
[utilisateur@ordi ~]$ cd /var/lib/vmware/Virtual\ Machines/

Passer en utilisateur root : su (sinon mke2fs ne fonctionnera pas)

Créez une image de disque vide:

dd if=/dev/zero of=bootdisk.img bs=1k count=512
mke2fs -F bootdisk.img

Puis modifiez les droits (sinon ce sera un fichier root non manipulable).

Image:Konsole.png
[utilisateur@ordi ~]$ chmod 0666 bootdisk.img

Montez l'image obtenu dans la loop:

mkdir /mnt/grub
mount -o loop bootdisk.img /mnt/grub

Puis créez dans ce disque virtuel un répertoire grub en y plaçant les stagex

mkdir -p /mnt/grub/boot/grub
cp /boot/grub/stage[12] /mnt/grub/boot/grub

Créez un fichier /mnt/grub/boot/grub/menu.lst et éditez le comme suit:

timeout=0

title Windows
root (hd0,0)
makeactive
chainloader +1
À noter !
Cette méthode est extrêmement souple est permet d'imaginer bon nombre de possibilité d'amorçage virtuel. La configuration ci dessous correspond à un amorçage simple instantanée sur une partition windows sur le premier disque. Mais on peut imaginer un amorçage multiboot windows(s)/linux(s) avec un peu de graphisme, comme au démarrage du PC physique. Un peu de connaissance de la configuration de grub sera en revanche nécessaire.

Démontez le disque:

umount /mnt/grub
rmdir /mnt/grub

Puis générez le secteur d'amorçage à l'aide de grub:

grub --device-map=/dev/null <<EOF
device (fd0) bootdisk.img
root (fd0)
setup (fd0)
quit
EOF

[modifier] Création de la machine virtuelle

À noter !
pour cette section vous pouvez ne pas travaillez en root mais sous un login utilisateur

[modifier] Démarrage de vmware

Lancez vmware:

# vmware

Vous obtenez la fenêtre suivante:

Image:Vmware-xp-existant-1.jpg

Sélectionnez local host et connect. Vous obtenez la fenêtre suivante.

[modifier] Création de la machine virtuelle

Image:Vmware-xp-existant-2.jpg

Cliquez sur Create a new virtual machine (figure précédente). Une fenêtre s'ouvre, cliquez sur Next.

Image:Vmware-xp-existant-3.jpg

Sélectionnez l'option custom (figure précédente) puis cliquez sur Next

Image:Vmware-xp-existant-4.jpg

Dans la fenêtre représentée par la figure précédente, choisissez Microsoft Windows et n'oubliez pas sélectionner la version de windows dans la liste déroulante du bas puis Next.

Image:Vmware-xp-existant-5.jpg

Cette écran (figure précédente) vous permet de changer le nom de la machine virtuel et le lieu de stockage des fichiers de configuration. Quand tout est ok (habituellement rien à faire) Next.

Image:Vmware-xp-existant-6.jpg

Sélectionnez ici (figure précédente) le nombre de processeurs puis Next.

À noter !
il est possible que ce step ne soit accessible que sur les systèmes multi processeurs (virtuels ou réels).
Astuce !
Avec un processeur double coeur, certains ont observé de meilleures performances en configurant la machine sur un processeur sur 2007.1 en 32 bits et 2 processeurs sur 2008 en 64 bits ... Allez savoir: essayez et prenez ce qu'il vous arrange!

Image:Vmware-xp-existant-7.jpg

A vous de voir (figure précédente) puis Next

Image:Vmware-xp-existant-8.jpg

Dans la fenêtre représentée par la figure précédente, sélectionnez la quantité de mémoire allouée à la machine virtuelle puis Next.

Astuce !
Allouez la moitié de la mémoire disponible sur l'hypothèse d'une utilisation concurrente linux/windows.

Image:Vmware-xp-existant-9.jpg

Dans la fenêtre représentée par la figure précédente, sélectionnez le type de réseau que vous souhaitez dans l'OS hôte windows puis Next.

Astuce !
Utilisez le bridged. Dans ce cas la machine virtuelle est vu du réseau comme une machine physique et possède sa propre adresse IP: ainsi la configuration du routeur, de samba et autre se fait de manière courante. L'utilisation du NAT nécessite une configuration plus poussé de l'OS d'accueil.

[modifier] configuration des disques

Image:Vmware-xp-existant-10.jpg

Dans cet écran (figure précédente) rien de particulier, sinon le choix de l'adaptateur scsi. Pas de conseil sur ce sujet: se reporter à la documentation.

Image:Vmware-xp-existant-11.jpg

C'est là que ça se complique (figure précédente): sélectionnez Use a physical disk (for advanced users) et Next.

Image:Vmware-xp-existant-12.jpg

Dans cet écran (figure précédente) sélectionnez le device contenants les partitions auquelles vous voulez avoir accès dans vmware. Cochez la case use individual partitions. Puis Next.

Image:Vmware-xp-existant-17.jpg

Sélectionnez dans ce nouvel écran (figure précedente) la (les) partition(s) à laquelle (auxquelles) vous voulez avoir accès de puis vmware. Puis Next.

À noter !
Il est possible d'avoir accès à un disque complet en sélectionnant l'option "use entire disk". Dans ce cas l'étape de choix des partitions n'existera pas.
À noter !
Prenez soin de configurer udev en fonction des choix faits ici entre l'option "entire disk" et "individual partition"


Image:Vmware-xp-existant-13.jpg

Cliquez sur Finish (figure précédente) et voilà:

Image:Vmware-xp-existant-14.jpg

Attention, à ce stade vous n'avez déclarez qu'une partition. Cela suffira dans la majorité des cas, mais s'il y en a d'autres, cliquez sur Edit virtual machine settings (figure précédente) et opérez autant de fois que nécessaire les opérations suivantes:

Image:Vmware-xp-existant-15.jpg

Dans cette fenêtre (figure précédente), cliquez sur +Add

Image:Vmware-xp-existant-16.jpg

Sélectionnez Hard Disk et Next (figure précédente): vous retrouvez alors les mêmes opérations que précédemment: selectionnez Use a physical disk (for advanced users) ...

[modifier] Ajout du disque virtuel d'amorçage

Copiez dans votre répertoire contenant la configuration de la machine virtuelle que vous venez de créer, le fichier bootdisk.img. La commande doit donner quelque chose comme ça:

Image:Konsole.png
[utilisateur@ordi ~]$ cp /var/lib/vmware/Virtual\ Machines/bootdisk.img /var/lib/vmware/Virtual\ Machines/<le nom de votre machine>/

De retour sous vmware, éditez les propriétés de votre machine virtuel (bouton Edit virtual machine settings), puis sélectionnez Floppy 1. Vous obtenez la fenêtre suivante:

Image:Vmware-xp-existant-22.jpg

Sélectionnez alors l'option Use a floppy image et à l'aide de la commande Browse, allez chercher le fichier bootdisk.img dans le répertoire de configuration de votre machine. Puis cliquez sur Valider

[modifier] Premier démarrage de la machine

Bon ben voilà c'est prêt. Cliquez en suite sur power on this virtual machine. Regardez, c'est beau:

Image:Vmware-xp-existant-18.jpg

A partir de là l'utilisation est comme sur une machine physique en dehors de l'utilisation de la souris qui se partage entre les deux machines: la physique (linux) et la virtuelle (windows). Pour basculer la souris sur la machine virtuelle, cliquez dans la partie de la fenêtre représentant l'affichage de la machine virtuelle. A ce moment toutes les actions clavier et souris sont redirigées vers la machine virtuelle. Pour ramener les actions souris et clavier vers la machine physique, faites <ctrl>+<alt>. On verra plus tard que sous windows l'opération peut être simplifiée. Bon, trêve de bavardage, on continue:

Vous êtes actuellement dans l'amorçage windows avec le choix du profil (figure précédente). Sélectionnez le profil virtuel et windows apparait.

À noter !
lors du premier amorçage avec le profil virtuel, windows va mettre à jour automatiquement toute la configuration HW. Ca sera un peu plus long que par la suite.

Il ne reste plus qu'à installer les vmware tools: dans les menu vmware, cliquez sur VM>install vmware tools. Vmware va automatiquement installer quelques outils qui améliorent les performances et simplifient la vie, notamment pour la souris qui, lorsque windows sera démarré, pourra passer de la machine virtuelle à la machine physique de manière transparente, sans les manipulations précédemment décrites.


[modifier] Troubleshooting

[modifier] Ecran bleu furtif

Il est possible qu'au démarrage de la machine virtuel, vous obteniez un écran bleu furtif avant reboot de la machine (virtuelle..ouf). C'est généralement un problème de configuration du type de disque amenant une incompatibilité entre le le disque virtuel vmware et le driver utilisé dans windows. Ce problème est systématique si Windows est installé sur un disque SATA. Résolution ici: http://www.jellykernel.org/index.php?option=com_content&task=view&id=225&Itemid=49

[modifier] Références

[modifier] vmware

[modifier] udev

  • Pour de plus grandes information sur udev, installez le package udev-doc et accédez à la documentation ici: ///usr/share/doc/udev-doc/index.html.

[modifier] grub

  • documentation (normalement installé par défaut sinon installez le package grub-doc): /usr/share/doc/grub-doc-0.97/