Décider entre une machine virtuelle ou une configuration à double démarrage


26

Je voudrais configurer un PC pour exécuter ubuntu la plupart du temps, mais je dois également exécuter XP pour des applications et des tests spécifiques. Dans le passé, j'aurais simplement configuré une machine à double démarrage, puis redémarré et démarré sous Windows XP selon les besoins.

Cependant, comme la machine a plusieurs cœurs et une mémoire importante, je pense que je peux utiliser les hyperviseurs Virtual Box, Xen ou VMWare. Je pense à faire d'Ubuntu la VM "hôte" et d'avoir XP comme VM invitée. Ce serait particulièrement bien pour tester / déboguer / développer car il est possible d'exécuter des applications dans les deux systèmes d'exploitation simultanément. Je n'ai jamais configuré de machine virtuelle auparavant et je pense qu'en posant les questions ci-dessous, je peux éviter certains essais et erreurs.

Fondamentalement, je dois décider si une configuration à double démarrage ou VM est plus appropriée pour ce que je veux faire.

Voici mes questions:

  1. Je n'ai pas toujours besoin de faire tourner XP. Les hyperviseurs me permettent-ils d'arrêter la machine virtuelle invitée afin que la machine virtuelle hôte puisse ensuite utiliser immédiatement toutes les ressources de mémoire et de processeur? Lorsque j'affiche ensuite la machine virtuelle invitée, est-il facile de provisionner la quantité de mémoire et d'autres ressources qu'elle utilise? Idéalement, j'aimerais pré-configurer cela à l'avance, puis activer / désactiver la machine virtuelle invitée sans y penser.

  2. Est-il possible ou conseillé d'avoir l'OS hôte 64 bits et l'OS invité 32 bits? Alternativement, si les deux machines virtuelles sont 32 bits et que j'ai 8 Go de RAM, l'hyperviseur peut-il fournir à chaque machine virtuelle 4 Go de RAM lorsqu'elles s'exécutent simultanément?

  3. Quels hyperviseurs conviennent le mieux aux configurations telles que je les ai décrites?


VMware est meilleur si vous utilisez XP comme OS hôte. Virtual Box est préférable si vous utilisez Ubuntu comme OS hôte.
Curious Apprentice

Réponses:


17

D'après mon expérience, c'est une bonne idée d'exécuter un système d'exploitation moins utilisé dans une machine virtuelle. Cela évite les redémarrages et permet un échange de données facile entre les deux mondes. En règle générale, nous devrions avoir le système d'exploitation avec lequel nous travaillons le plus en tant que système d'exploitation hôte pour exécuter le système d'exploitation invité que nous n'utilisons pas souvent.

De mon côté, je ne peux parler que pour Virtual Box, car j'ai très peu d'expérience avec d'autres solutions. Cependant, Virtual Box est stable, gratuit et disponible sur toutes les plateformes. Je le recommande.

Les inconvénients et les avantages d'une machine virtuelle sont résumés dans cette réponse , donc je ne les répéterai pas ici.

Juste une chose en plus: si vous développez un logiciel, vous trouverez peut-être assez agréable d'avoir le bug sauvage dans une machine virtuelle uniquement.

Pour répondre à vos questions:

  1. Oui, vous pouvez simplement arrêter le système d'exploitation invité pour avoir toutes les ressources sur l'hôte. Vous pouvez même enregistrer un état de machine pour continuer votre travail après l'avoir à nouveau réveillé.

  2. L'architecture n'a pas vraiment d'importance. J'exécute à la fois des machines 64 bits et des machines 32 bits sur mon hôte 64 bits. Ils ressentent la même chose. Si votre processeur propose la virtualisation (c'est très probablement le cas), vous pouvez même exécuter des invités 64 bits sur un hôte 32 bits.

  3. Cela dépend de besoins très spécifiques où l'une ou l'autre solution peut être meilleure en ce moment - nous ne pouvons pas vraiment donner de recommandation pour tous les aspects. Ces choses changeront également probablement avec le temps.

Essayez-le, ce n'est pas si compliqué, et le support de Virtual Box est excellent.

Voici un exemple d'utilisation de la mémoire des machines Virtual Box:

entrez la description de l'image ici

Le côté gauche est

  • Ubuntu 11.10 64 bits sur un processeur AMD double cœur, 2 utilisateurs connectés avec une utilisation de mémoire de 2,3 Gio par diverses applications.
  • Une RAM Windows XP 32 bits 4 Gio en cours d'exécution.
  • Une deuxième RAM Windows XP 32 bits 1 Gio en cours d'exécution.

La VM 1 Gio est envoyée pour s'arrêter en position 1 , la VM 4 Gio est envoyée pour s'arrêter en position 2 .

L'augmentation de la taille de la mémoire des machines virtuelles a conduit à une utilisation intensive du swap qui a rendu le système presque insensible. L'exécution de 2 machines virtuelles avec 4 Gio chacune n'était pas autorisée sur mon système ici (8 Gio). L'une des machines a ensuite été arrêtée à partir du gestionnaire Virtual Box.


Merci! Il semble y avoir quelques différences dans les réponses quant à savoir si l'on peut avoir (par exemple) 8 Go de RAM physique et allouer simultanément 4 Go chacun à deux VM 32 bits. Qu'en dites-vous?
Angelo

@ Angelo: vous pouvez librement attribuer n'importe quelle quantité de RAM à une machine mais vous avez besoin de RAM pour l'hôte pour faire fonctionner la machine virtuelle. Virtual Box ne permet pas d'affecter plus de 88% de RAM à une machine.
Takkat

merci, oui je comprends qu'il doit y avoir des frais généraux pour la boîte virtuelle. Ce que je demande, c'est si je peux obtenir une grande quantité de RAM physique (par exemple 8 Go ou 16 Go), puis allouer le maximum possible (4 Go) à chaque machine 32 bits lors de l'exécution simultanée. Il semble que dans l'autre réponse, les machines virtuelles 32 bits sont limitées au partage des premiers 4 Go de mémoire physique (ma question n'était peut-être pas claire). Est-ce le cas?
Angelo

@Angelo: mes tests (voir modifier) ​​indiquent que - à condition d'avoir suffisamment de RAM - vous devriez pouvoir exécuter plusieurs machines 32 bits en utilisant 4 Gio en même temps.
Takkat

5

Avec Virtualbox, vous pouvez même ajouter un lien vers votre machine virtuelle XP sur votre bureau ou entre votre application pour la démarrer en un rien de temps, et vous pouvez facilement basculer entre invité et hôte également.

En fermant votre invité, l'hôte retrouve immédiatement ses ressources puisque les machines virtuelles sont à votre système comme une application. Même lorsque vous exécutez une machine virtuelle, si elle n'a pas utilisé tout le ram conçu pour elle, elle sera donnée dynamiquement à l'hôte. Exemple: si vous avez un total de 8 Go de mémoire RAM, vous définissez une quantité de 4 Go de RAM sur votre invité, mais il n'utilise que 2 Go dans ses processus, l'hôte pourra accéder à 6 Go de RAM.

En fait, il est très facile de définir la mémoire et d'autres ressources sur votre machine virtuelle, et elles seront mémorisées à chaque démarrage de la machine virtuelle.

Il n'y a aucun problème à exécuter un invité 32 bits sur un hôte 64 bits, je le fais tous les jours.

Vous pouvez même exécuter un invité 32 bits sur un hôte 32 bits, ce qui ne pose absolument aucun problème.

Alternativement, si les deux machines virtuelles sont 32 bits et que j'ai 8 Go de RAM, l'hyperviseur peut-il fournir à chaque machine virtuelle 4 Go de RAM lorsqu'elles s'exécutent simultanément?

Je n'ai pas vraiment compris cette question, mais si vous avez un total de 8 Go de RAM, vous ne pouvez en dédier que la moitié (4 Go) à vos machines virtuelles, si vous souhaitez exécuter plusieurs machines virtuelles en même temps divisez 4 Go en nombre de VM que vous souhaitez exécuter.

Puisque vous êtes un premier temporisateur, je peux vous suggérer d'utiliser VM Virtualbox, ce qui est également bon pour les utilisateurs avancés afin que vous puissiez vous développer en l'utilisant. Il est disponible dans le dépôt officiel par terminal:

sudo apt-get install virtualbox

ou vérifiez-le simplement dans le Centre logiciel Ubuntu.

Il vient à vous avec une interface très conviviale et des assistants étape par étape faciles à faire.

Je serai heureux de prendre en charge la configuration de votre machine virtuelle si vous en avez besoin.


Merci! Si je comprends bien, vous dites que si j'ai plusieurs machines virtuelles 32 bits, elles sont limitées à l'utilisation d'une partie des mêmes 4 Go de mémoire physique?
Angelo

Oui, mais seulement si vous souhaitez les démarrer simultanément. Si vous prévoyez de les exécuter un par un, ils peuvent avoir toute la puissance de 4 Go.
neonboy

2

Réponses: A1: Oui, VirtualBox permettra d'émuler N'IMPORTE QUEL type d'ordinateur que vous voulez (tant qu'il répond aux spécifications de votre matériel), Vous pouvez même émuler une machine 64Bit dans un ordinateur 32Bit. Ainsi, chaque fois que vous démarrez une machine virtuelle, elle occupe la quantité de mémoire définie et l'espace VD que vous lui avez indiqué lors du démarrage. Même si la machine virtuelle n'utilise pas la totalité de sa mémoire, il y a toujours une mémoire nulle que la machine hôte ne peut pas utiliser. Donc, si vous avez une puissance de traitement suffisamment forte, vous pouvez même émuler D'AUTRES cartes processeurs, etc., bien que cela n'ait pas beaucoup de sens la plupart du temps et que vous ne puissiez pas le surveiller aussi facilement. Et en raison de son efficacité, la Virtualbox vérifie (en plus de la mémoire) la première fois que vous démarrez (et à tout moment après avoir spécifié), pour quels pilotes et tout ce dont elle a besoin au démarrage,

A2: Oui et très facilement, bien que si vous aviez deux VM prenant chacune la moitié de votre mémoire, vous devrez toujours avoir environ 50 à 100 Mo de RAM pour la virtualbox et l'hôte à utiliser lorsqu'ils s'exécutent en arrière-plan. Donc environ 3,75 Go pour chaque ...

A3: Lorsque vous dites que les hyperviseurs signifient OS hôte ou VMWare vs VirtualBox, car la réponse directe est que VMWare est obsolète et VirtualBox est stable. Vous devez donc décider de planter et de boguer mais VMWare rapide ou efficace et stable, mais prend toujours un peu de mémoire lors de l'exécution de VirtualBox ... Je préfère VirtualBox, mais beaucoup d'autres avec du matériel pas si capable aiment utiliser VMWare. ..Vous décidez, bien que je suggère d'utiliser Ubuntu avec openbox si vous voulez un minimum de processus à chaque fois que vous faites des machines virtuelles doubles ...


Merci! Il semble que virtualBox ou OpenBox pourrait être le ticket pour un matériel costaud. Quelqu'un connaît Xen?
Angelo

Xen est bon, mais Vbox est beaucoup plus facile à utiliser et vous offre une grande compatibilité avec Windows XP.
neonboy

@TenorB, parlez-vous d'un des produits open source de VMWare ou des produits commerciaux (VMWare Workstation / Fusion)?
Angelo

@Angelo Open source
TenorB

@Angelo VirtualBox et VMware sont deux produits différents.
haziz

2

À moins que vous ne deviez effectuer des tâches graphiques intensives sur l'invité, la machine virtuelle fonctionnera correctement. J'ai trouvé que Virtual Box était très facile à configurer pour ce que vous essayez de faire. Vous pouvez charger et décharger l'invité selon vos besoins. Vous pouvez facilement configurer l'utilisation de la mémoire et ajuster la quantité de mémoire allouée à l'invité. Il est préférable d'utiliser un hôte 64 bits avec plus de 3 Go de mémoire sur l'hôte. Si vous utilisez XP en tant qu'invité, ce sera très probablement un invité 32 bits qui fonctionne très bien.

Les trois gestionnaires de VM sont excellents. Xen est principalement configuré via la ligne de commande. Il est vraiment puissant, mais peut être un peu intimidant. VMware n'est pas open source si cela vous importe. Virtual Box fonctionne très bien et est simple à configurer. Certaines fonctionnalités nécessitent un module complémentaire propriétaire, mais elles ne sont généralement pas obligatoires.

La seule chose que je voudrais vous mettre en garde est la taille initiale du lecteur de disque. C'est vraiment difficile de changer la taille de la partition virtuelle après la configuration initiale. Je recommanderais de le rendre un peu plus grand que vous ne le pensez.

En bref, les machines virtuelles peuvent être formidables. C'est certainement plus pratique que le dual boot.

Bonne chance!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.