Machine virtuelle portative

Hello,

Je souhaiterait savoir s’il existe un moyen d’héberger un player et une VM en autonome sur une clé USB.

L’idée serait de pouvoir se balader avec sa clé, de la planter dans n’importe quel ordi en train de tourner sous Windows et de pouvoir starter ma VM. Sans aucune installation sur le PC en question.

Est-ce que quelqu’un connaît une technique?

Est-ce que quelqu’un peut certifier que ce n’est pas possible?

Merci pour vos réponses.

A+

une VM, certainement pas.
Une machine virtuelle étant dépendante de l’hyperviseur, il faudrait au moins s’assurer que la machine sur laquelle tu branche ta clé dispose de l’hyperviseur en question et du matériel compatible.
Bref => intérèt zéro.

Par contre tu peux faire une clé USB type “live CD” qui permet de booter un système type linux avec tout ce que tu souhaites dessus, sans toucher à la machine en question (juste besoin de pouvoir booter sur une clé USB)

Avec Windows8 il y a la fonction Windows To Go, mais c’est réservé aux version entreprise:
technet.microsoft.com…

Salut,

Pour ma part, je pense que c’est possible :

  • virtualbox existe en version portable (ou peut être facilement portabilisé ==> cameyo)
  • Les fichiers et répertoires des VM peuvent se déplacer dans une arborescence sans aucune incidence
  • Le matériel est émulé

Parcontre si possible privilégier une MV VMWare (player ou Workstation), dans son arborescence il y a le DD mais aussi le fichier de configuration .vmx (qui se met à jour après un simple pop up demandant si “la machine virtuelle a été copiée ou déplacée?” (exemple : lorsque ta clé USB change de lettre dans le poste de travail), ce qui je crois n’est pas le cas de VirtualBox et VirtualPC

Ce n’est plus de la virtualisation alors :neutre:

La virtualisation repose sur les capacité du hardware: instructions du CPU , etc
Changer une VM de machine hardware n’est pas si simple, il faut que le VM soit bien configurée pour permettre une migration… sinon tu as les mêmes problèmes que quand tu déplaces un OS non virtualisé d’une machine à une autre.

Pas tout à fait, parce que dans ce cas-ci justement tu n’as aucune émulation.

Installes un XP en MV avec Virtual PC sur ton PC Core I7 par exemple; Que t’indique VPC au niveau du processeur? Certainement pas Core I7. Bah non tu as juste un pentium 3. La carte son une sound blaster 16, …

Ils m’arrive de bosser sur une VM au boulot qui sera tôt ou tard mise en production. Je la rapatrie sur un DD externe et continue de bosser dessus sur une configuration différente … et je n’ai jamais rencontré de souci. Il faut juste faire attention à deux ou trois détails (nombre de procs, ram, …)

C’est quand le dernière fois que tu as utilisé une machine virtuelle ?

Techniquement le principe de la machine virtuelle c’est d’accéder directement au CPU. La MV detecte clairement le CPU, le vrai cpu et pas une emulation.

Après tu peux avoir configuré ton hyperviseur pour que la machine virtuelle utilise telle ou telle capacité du CPU… mais pas de là à ce que la MV voit un tout autre CPU que celui sur lequel l’hyperviseur est installé.

J’ai un serveur Hyper-V qui tourne depuis des années, quelque soit l’OS que je colle dessus il détectera un Core 2 Quad Q6600 @ 2.4Ghz. Par contre en fonction du nombre de coeurs que j’assigne à la MV celle-ci verra un quatre coeur, un double coeur ou même un CPU à simple coeur. Mais ça restera un Q6600 @ 2.4Ghz

La carte son c’est une autre affaire, ça dépend des capacités de l’hyperviseurs et des extensions de virtualisation du CPU qui permettront ou non d’accéder aux cartes PCI, PCI-express, etc.

Si justement, les pilotes installés sur la VM sont ceux des cartes réseau, graphiques etc… qui sont tous des périphériques virtuels, pas les périphériques du host. Même si le host change, le matériel du guest restera le même. C’est d’ailleurs un des avantages apporté par la virtualisation.
De toutes façons, il est possible et prévu de pouvoir transférer une VM vers une machine physique et vice-versa : mais l’opération peu parfois être légèrement compliquée !

Après pour l’histoire des proc, peut être que Virtual Box gère les choses différemment, et il n’y a rien de surprenant à voir un autre proc… Sous esx en tout cas, c’est le même proc que l’on voit. Mais qemu de son côté émule tout : pas top côté performance, mais l’OS entier peut être déplacé comme un simple fichier excel. Tout comme pennywise, j’ai souvent bossé avec des vm que je balladais sur des clés USB. Par exemple, quand je voulais faire des petits domaines pour m’amuser, copy/pasta d’un xp, tu la lances dans workstation, il te demande si tu l’a copiée ou déplacé, tu dis c’est une copie, il te regénère MAC + UUID et le tour est joué… (puis j’ai appris qu’on pouvait faire des clones :D)

Euh… Faudrait voir à ne pas confondre émulation et virtualisation… Ce sont deux choses différentes.

Ben pris au sens strict du terme, oui.
D’ailleurs, on peut virtualiser autre chose que des machines : on peut virtualiser des apps, genre le mode XP sous 7.
Mais la virtualisation de machine peut se servir de matériel émulé, ou accéder directement au proc.
Sur un hyperviseur type 2 comme workstation, on peut avoir son matériel émulé ou en accès direct.
Donc oui, ce n’est pas pareil, mais c’est très lié.

L’important ce n’est pas d’être pointilleux sur le sens exact des mots, mais de répondre à OP.
Il veut avoir sa VM sur clé USB et tu lui dit : pas possible. Seulement, si c’est possible.
Par exemple : www.pendrivelinux.com…

Exclilion -> Merci je connais la différence entre les différent hyperviseur. Il n?empêche que Virtualisation et Emulation son deux choses différentes, le premier étant forcément lié au hardware du fait de l’accès direct au matériel par les MV (et aujourd’hui les hyperviseurs sont capables de donner de plus en plus d’accès directs grâce aux extensions de virtualisation des CPU)

Mode XP ça na rien d’une virtulisation d’application, le XP mode virtualise un Windows XP complet mais “publie” les applications via RDP à l’hote pour ne pas avoir à lancer le Windows XP et se retrouver avec un desktop dans le desktop.

C’est la même chose quand on fait du remoteApp depuis un un serveur Hyper-V.

Par contre je ne savais pas qu’il existait une version portable de virtualbox :jap:
Ceci dit, ça donne quoi avec un Windows en MV ? sur un distru linux adaptée, why not… mais avec un Windows ça me semble moins évident.

Hello tous,

Je vous remercie chaudement pour ce débat passionnant!

Mais ceci-dit, en conclusion quelle serait la meilleures solution à ma demande du début?

Merci.

Le mode XP si ce n’est pas de la virtualisation d’application, qu’est-ce que c’est alors ?
Tu pourra le faire passer par RDP, Corba ou même tunneler du X par ssh, à partir du moment où l’application est exécuté depuis un système virtualisé, que l’application est “sandboxée”, tu as de la virtualisation d’application.

Je pense qu’en fait ton erreur est de penser que virtualisation = vt-x/amd-v, et seulement ca.
Selon moi, la virtualisation ça ne se limite pas à ça, c’est l’ensemble des techniques utilisées pour créer des instances virtuelles d’un système, d’une application, d’un réseau…
Donc pour la virtualisation de serveur, on peut employer des techniques utilisant vt-x, etc, mais aussi de l’émulation hardware totale.
Un émulateur Android, si ce n’est pas une VM android qu’il fait tourner, comment appelle tu cela ? Eux appellent ça un virtual device.

Le terme virtualisation est vaste, il ne faut pas restreindre la virtualisation à un seul de ses domaines.

@Nachos13
A toi de voir !
Tu as la solution vm portable : mais c’est lent, très lent virtual box (du moins lors de mon dernier test). C’est gratuit par contre. VMWare ont de bien meilleures perf, mais vmware, c’est cher et je pense pas qu’ils ait leurs soft en version portable.
EDIT : j’ai donc testé Virtual Box dernière version rapidement, et franchement y’a eu du progrès depuis ! Un petit xp virtualisé tourne de façon très correcte.

Tu as sinon la solution clé de boot, mais bien entendu tu seras obligé de rebooter le système. Ca te permettra de booter sur un système genre Live Ubuntu.
Edité le 02/04/2013 à 20:25

La virtualisation d’application c’est comme le JAVA: on execute du code managé qui n’est pas lié directement au système d’exploitation (API, code natif, etc) sous-jacent.
C’est ce qui permet à une application JAVA (ou .Net, ou autre) de tourner sur n’importe quelle machine ou n’importe quel système à partir du moment où la machine virtuelle est installée sur ce système/hote.

A partir du moment où tu dois virtualiser et executer tout un système d’exploitation pour executer l’application on sort un peu du cadre de la simple virtualisation d’application.
Avec XP Mode tu as un Windows XP qui est totalement virtualisé (et qui nécessite la présence de matériel compatible AMD-v ou Intel V) qui va executer l’application… ensuite c’est juste une façon de présenter l’application à l’utilisateur.
Alors oui, au final c’est comme si tu n’avais qu’une application qui tourne parce que le système te le présente de la sorte, mais pour lancer ton paint en XP mode tu as derrière un truc qui te bouffe 2Go de ta RAM et x% de ton temps CPU.

Il y a quand même une différence entre un système virtualisé comme XP et une machine virtuelle JAVA ou simili non ?

et je repètes: faut pas non plus confondre virtualisation et emulation.
Même si au final ça peut aboutir à un resultat qui semble identique, la façon de procéder est différente.
A partir du moment où l’on parle de virtualisation cela sous-entend que le système hébergé accède à tout ou partie du matériel ou de l’hôte.
En émulation le système (qu’elle qu’entité que ce soit) il n’y a aucun lien direct entre l’hôte et le client.
L’emulateur récupères toutes les E/S du client pour les traduire en quelque chose que l’Hote peut executer.

En virtualisation l’hyperviseur ne fait que transmettre les E/S (en partie ou en intégralité), celles-ci étant ensuite “nativement” comprises par l’Hôte.

Cela s’applique aussi très bien pour des liens réseaux par.
On peut avoir une interface réseau virtuelle: On utilise une interface réseau matérielle existante, avec accès direct aux caractéristiques de la carte réseau
Comme on peut avoir une interface totalement émulée et dans ce cas l’interface créée n’a aucun lien avec le hardware, c’est l’emulateur qui fait croire qu’il y a telle interface alors qu’elle n’existe pas du tout, récupère les E/S, et les envois ensuite à l’hote.
En interface virtualisé, les E/S sont envoyées directement à l’Hote.

Et si on pense partir sur un système avec boot sur usb, on a quoi comme solutions?

Pour un boot sur USB, pas de souci tu as plein d’outils pour Linux, www.linuxliveusb.com… m’a servi plusieurs fois.
Et en allant voir sur ce même site, j’ai vu ça liveusb.info… qui m’a l’air pas mal non plus.

Pour faire un live Windows, c’est un peu plus compliqué, et ce n’est très certainement pas légal je pense.