Comment puis-je installer une machine virtuelle Linux 64 bits sur un Linux 32 bits?

11

J'ai un ordinateur (Intel core i5) avec Linux 32 bits installé (ubuntu 11.04) et j'aimerais y installer une machine virtuelle Linux 64 bits afin de pouvoir y tester des applications en ligne de commande 64 bits.

719016
la source

Réponses:

6

Les deux VMware et VirtualBox peuvent exécuter une machine virtuelle 64 bits sur un système hôte 32 bits, si vous avez un processeur 64 bits. Pour VirtualBox, votre processeur doit avoir un support de virtualisation matérielle ( AMD-V ou VT-x , montré comme svmet vmxdans la flags:ligne de /proc/cpuinfosous Linux); la plupart des processeurs x86-64, à l'exception des précédents, et en particulier, je pense que tous les modèles Core i5, ont ce support.

À défaut, vous pouvez utiliser une technologie de machine virtuelle qui émule un processeur x86-64 dans un logiciel, tel que Qemu. Mais ce n'est pas une bonne idée si vous n'en avez pas besoin: c'est lent, gourmand en mémoire et maladroit.

Ma recommandation est de simplement obtenir un hôte 64 bits ou au moins un noyau 64 bits. Vous pouvez exécuter des applications 32 bits sur un noyau x86-64 (alias amd64), en fait, vous pouvez exécuter un espace utilisateur Linux entièrement 32 bits sur un noyau Linux amd64.

Ubuntu ne fournit pas de noyau 64 bits dans sa distribution i386 (Debian le fait). Vous pouvez récupérer le noyau de la distribution amd64, et les applications devraient simplement s'exécuter, mais sous natty le paquet n'est pas facilement installable .

Ainsi, la voie la plus simple pour exécuter des applications 64 bits serait de faire une installation parallèle d'un Ubuntu amd64. Installez-le sur une partition distincte, en conservant également votre installation 32 bits existante. Dans le système 64 bits, montez les partitions existantes, puis configurez un schéma 32 bits (voir ce guide) ) pour exécuter des programmes 32 bits.

Gilles 'SO- arrête d'être méchant'
la source
J'ai opté pour vmware, instanciant une image de serveur ubuntu 64bit 11.04, et ça marche.
719016
5

Gilles souligne que je me suis trompé sur VirtualBox et VMware prenant en charge les invités 64 bits sur les hôtes 32 bits. VirtualBox est disponible dans les référentiels Ubuntu du virtualbox-osepackage.

La documentation de VirtualBox fournit les conseils suivants concernant l'exécution de systèmes d'exploitation 64 bits:

VirtualBox prend en charge les systèmes d'exploitation invités 64 bits, même sur les systèmes d'exploitation hôtes 32 bits, à condition que les conditions suivantes soient remplies:

  1. Vous avez besoin d'un processeur 64 bits avec prise en charge de la virtualisation matérielle (voir la section intitulée «Virtualisation matérielle ou logicielle»). [Votre processeur répond à cette exigence.]

  2. Vous devez activer la virtualisation matérielle pour la machine virtuelle particulière pour laquelle vous souhaitez une prise en charge 64 bits; la virtualisation logicielle n'est pas prise en charge pour les machines virtuelles 64 bits.

  3. Si vous souhaitez utiliser la prise en charge d'invité 64 bits sur un système d'exploitation hôte 32 bits, vous devez également sélectionner un système d'exploitation 64 bits pour la machine virtuelle particulière. Étant donné que la prise en charge de 64 bits sur des hôtes 32 bits entraîne une surcharge supplémentaire, VirtualBox n'active cette prise en charge que sur demande explicite.

Sur les hôtes 64 bits (qui incluent généralement la prise en charge de la virtualisation matérielle), les systèmes d'exploitation invités 64 bits sont toujours pris en charge quels que soient les paramètres, vous pouvez donc simplement installer un système d'exploitation 64 bits sur l'invité.

Attention

Sur n'importe quel hôte, vous devez activer l'APIC d'E / S pour les machines virtuelles que vous avez l'intention d'utiliser en mode 64 bits. Cela est particulièrement vrai pour les machines virtuelles Windows 64 bits. Voir la section intitulée «Onglet« Avancé »». De plus, pour les invités Windows 64 bits, vous devez vous assurer que la machine virtuelle utilise le périphérique réseau Intel, car il n'y a pas de prise en charge de pilote 64 bits pour la carte AMD PCNet; voir la section intitulée «Matériel de réseau virtuel». Si vous utilisez l'assistant "Créer une VM" de l'interface utilisateur graphique VirtualBox (voir la section intitulée "Créer votre première machine virtuelle"), VirtualBox utilisera automatiquement les paramètres corrects pour chaque type de système d'exploitation 64 bits sélectionné.

Si vous devez utiliser la virtualisation logicielle, vous pouvez installer le qemupackage à partir des référentiels Ubuntu. Il existe plusieurs packages GUI disponibles pour le contrôler (je préfère aqemu), mais vous pouvez également l'utiliser à partir de la ligne de commande.

Vous pouvez également envisager d'exécuter une version 64 bits de Linux à la place. Ubuntu x86_64 prend en charge l'exécution de binaires 32 bits sans aucune virtualisation.

Patchs
la source
Merci. a essayé aqemu mais a obtenu une erreur: unix.stackexchange.com/questions/15789/…
719016
Vous pouvez exécuter un invité 64 bits sur un hôte 32 bits dans VMware ou VirtualBox, si votre matériel le prend en charge.
Gilles 'SO- arrête d'être méchant'
@ Gilles: Vous avez raison; seul KVM a un problème avec cela. Merci!
Correctifs