TAF pour pouvoir virtualiser correctement

Idée principale

* Mettre tous ceux qui est lourd sur la machine proprement et pourquoi pas une nouvelle partition carrément dite /mnt/VBOX/

* Ceux qui restent sur les dossiers personnels (serveur nfs) de l'utilisateur

I. Configuration de la machine type/modele

* Donner les droits aux systèmes pour autoriser l'utilisateur

* Donner aux fichiers de conf cités plus haut les permissions ont les faisant appartenir au groupe vboxusers: sudo chgrp -R vboxusers /mnt/VBOX/

* Appliquer les droits nécessaires aux fichiers ou se trouve l'image seule pour un accès multiutilisateurs

* Ajouter les utilisateurs (pourquoi pas groupes!) dans vboxusers

* Modifier les paramètres par défaut de VirtualBox,

vboxmanage setproperty vdifolder /mnt/VBOX/ 
vboxmanage setproperty machinefolder default
vboxmanage setproperty vrdpauthlibrary default 
vboxmanage setproperty hwvirtexenabled no 

* Rendre l'image immutable avant de l'attacher, sinon pour la machine type avoir une image normal

vboxmanage registerimage disk iso.vdi -type normal 

* Créer la machine virtuelle

vboxmanage createvm -name WinXP -register

* Attacher le disque à la machine virtuelle, faire une translation d'adresse et mettre les snapshots dans un dossier temporaire:

vboxmanage modifyvm WinXP -hda disque-winxp.vdi -nic1 nat -snapshotfolder /mnt/VBOX 

* Partage de fichiers entre la machine virtuel WinXP et le poste host Ubuntu.

* Sur le poste hote Definir un dossier de partage

vboxmanage sharedfolder add WinXP -name Documents -hostpath "/nfs/home/$USERNAME/Documents" 

/!\ Sous WinXP

net use z: \\Vboxsvr\Documents

* Lancer WinXP sur Vbox en interface graphique: vboxmanage startvm WinXP -gui

* La configuration en mode graphique est beaucoup plus simple. Ne pas oublié d'activé l'usb, le son (mode ALSA), le dossier de partage ou bien les proprietés par defauts.

* Configuration dans WinXP:

II. Configuration sur les machines foad

* Créer une partition de 5Go pour mettre le disque et le snapshot, monter sur /mnt/VBOX

* Donner les droits aux dossiers /mnt/VBOX à tous les vboxusers.

* Diffuser l'image iso.vdi et le snapshot directement sur /mnt/VBOX/ de chaque poste client

VDI=$HOME
TMP=/mnt/VBOX
MAPAGE=/nfs$HOME/Desktop/

if [ -e $HOME/.VirtualBox ] ; then
    rm -rf $HOME/.VirtualBox
fi

# Nettoyage des disques de diffèrences
if [ -e $TMP/{* ] ; then 
    rm -rf $TMP/{*
fi

# repertoires des images sources des machines dans le homedir
vboxmanage setproperty vdifolder $VDI

# conf des machines restent dans le homedir
vboxmanage setproperty machinefolder defaults

# faire reconnaitre notre image modele
vboxmanage registerimage disk disque-winxp.vdi -type immutable

# creer la machine du nom de "WinXP"
vboxmanage createvm -name WinXP -register

# lui attacher l image disque'
vboxmanage modifyvm WinXP -hda disque-winxp.vdi -nic1 nat -snapshotfolder $TMP -audio alsa

# supprimer les extradatas
vboxmanage setextradata global "GUI/SuppressMessages" "remindAboutAutoCapture,remindAboutInputCapture,remindAboutMouseIntegrationOn"

vboxmanage sharedfolder add WinXP -name Documents -hostpath $MAPAGE


vboxmanage startvm WinXP -gui


Remarques

Erreurs rencontrées

* si on crée un autre fichier de configuration sur une machine cliente et qu'on y attache juste le disque image de la machine de test, en demarant la machine guest on a "Err. lecture disque Entrer Ctrl+Alt+Suppr pour redémarrer."

* quand on se log la premiere fois sur un compte utilisateur simple ou même avec pouvoir sur winXP, le partage est inacessible. On se logue en tant qu'admin, le partage fonctionne. On se relog en tant user sans pouvoir, le partage fonctionne.

* ça apparait quand on s'y attends pas! des fois des qu'on se log sur winxp, dès fois lorsque on fais des copies ! /!\ BLUE SCREEN OF DEATH: Le problème peut être du à ce fichier: VBOXSF.sys

* Lorsqu'on attache le disk iso.vdi depuis ndimby2, y a une méchante erreur /!\ Assertion failed: [mId && children().size() == 0] at '/build/buildd/virtualbox-ose-1.5.0-dfsg2/src/VBox/Main/HardDiskImpl.cpp' (536) in virtual nsresult HardDisk::trySetRegistered(PRBool). Please contact the product vendor!

* Lorsque la machine hôte est saturé en espace disque on a: Host system reported disk full. VM execution is suspended. You can resume after freeing some space.

ID Erreur: DevATA_DISKFULL Sévérité: Erreur non Fatale