Wie kann ich eine virtuelle 64-Bit-Linux-Maschine unter einem 32-Bit-Linux installieren?

11

Ich habe einen Computer (Intel Core i5) mit 32-Bit-Linux installiert (Ubuntu 11.04) und möchte eine virtuelle 64-Bit-Linux-Maschine darauf installieren, damit ich 64-Bit-Befehlszeilenanwendungen darauf testen kann.

719016
quelle

Antworten:

6

Sowohl VMware als auch VirtualBox können eine virtuelle 64-Bit-Maschine auf einem 32-Bit-Hostsystem ausführen, wenn Sie über einen 64-Bit-Prozessor verfügen. Für VirtualBox muss Ihr Prozessor Hardware-Virtualisierungsunterstützung haben (entweder AMD-V oder VT-x , angezeigt als svmund vmxin der flags:Zeile /proc/cpuinfounter Linux). Die meisten x86-64-Prozessoren mit Ausnahme der früheren, und insbesondere ich denke, dass alle i5-Kernmodelle diese Unterstützung haben.

Andernfalls können Sie eine virtuelle Maschinentechnologie verwenden, die einen x86-64-Prozessor in Software wie Qemu emuliert. Aber es ist keine gute Idee, wenn Sie es nicht brauchen: Es ist langsam, speicherhungrig und umständlich.

Meine Empfehlung ist, nur einen 64-Bit-Host oder mindestens einen 64-Bit-Kernel zu bekommen. Sie können 32-Bit-Anwendungen auf einem x86-64-Kernel (auch bekannt als amd64) ausführen. Tatsächlich können Sie ein vollständig 32-Bit-Linux-Userland auf einem amd64-Linux-Kernel ausführen.

Ubuntu bietet in seiner i386-Distribution keinen 64-Bit-Kernel (Debian). Sie können den Kernel aus der amd64-Distribution herunterladen , und Anwendungen sollten nur ausgeführt werden, aber unter natty ist das Paket nicht einfach zu installieren .

Der einfachste Weg zum Ausführen von 64-Bit-Anwendungen wäre eine parallele Installation eines amd64-Ubuntu. Installieren Sie es auf einer separaten Partition, wobei Sie auch Ihre vorhandene 32-Bit-Installation beibehalten. Hängen Sie im 64-Bit-System die vorhandenen Partitionen ein und richten Sie dann ein 32-Bit-Schroot (siehe dieses Handbuch ) ein, um 32-Bit-Programme auszuführen.

Gilles 'SO - hör auf böse zu sein'
quelle
Ich habe mich für VMware entschieden und ein 64-Bit-11.04-Image eines Ubuntu-Servers instanziiert, und es funktioniert.
719016
5

Gilles weist darauf hin, dass ich mich geirrt habe, dass VirtualBox und VMware 64-Bit-Gäste auf 32-Bit-Hosts unterstützen. VirtualBox ist in den Ubuntu-Repositorys des virtualbox-osePakets verfügbar .

Die Dokumentation von VirtualBox enthält die folgenden Hinweise zum Ausführen von 64-Bit-Betriebssystemen:

VirtualBox unterstützt 64-Bit-Gastbetriebssysteme, auch auf 32-Bit-Hostbetriebssystemen, sofern die folgenden Bedingungen erfüllt sind:

  1. Sie benötigen einen 64-Bit-Prozessor mit Unterstützung für Hardwarevirtualisierung (siehe Abschnitt „Hardware vs. Softwarevirtualisierung“). [Ihr Prozessor erfüllt diese Anforderung.]

  2. Sie müssen die Hardwarevirtualisierung für die bestimmte VM aktivieren, für die Sie 64-Bit-Unterstützung wünschen. Die Softwarevirtualisierung wird für 64-Bit-VMs nicht unterstützt.

  3. Wenn Sie die 64-Bit-Gastunterstützung auf einem 32-Bit-Host-Betriebssystem verwenden möchten, müssen Sie auch ein 64-Bit-Betriebssystem für die jeweilige VM auswählen. Da die Unterstützung von 64 Bit auf 32-Bit-Hosts zusätzlichen Overhead verursacht, aktiviert VirtualBox diese Unterstützung nur auf ausdrückliche Anfrage.

Auf 64-Bit-Hosts (die normalerweise mit Unterstützung für Hardwarevirtualisierung ausgestattet sind) werden 64-Bit-Gastbetriebssysteme unabhängig von den Einstellungen immer unterstützt, sodass Sie einfach ein 64-Bit-Betriebssystem im Gast installieren können.

Warnung

Auf jedem Host sollten Sie den E / A-APIC für virtuelle Maschinen aktivieren, die Sie im 64-Bit-Modus verwenden möchten. Dies gilt insbesondere für 64-Bit-Windows-VMs. Siehe den Abschnitt "Registerkarte" Erweitert "". Darüber hinaus sollten Sie für 64-Bit-Windows-Gäste sicherstellen, dass die VM das Intel-Netzwerkgerät verwendet, da die AMD PCNet-Karte keine 64-Bit-Treiberunterstützung bietet. Weitere Informationen finden Sie im Abschnitt „Virtuelle Netzwerkhardware“. Wenn Sie den Assistenten "VM erstellen" der grafischen Benutzeroberfläche von VirtualBox verwenden (siehe Abschnitt "Erstellen Ihrer ersten virtuellen Maschine"), verwendet VirtualBox automatisch die richtigen Einstellungen für jeden ausgewählten 64-Bit-Betriebssystemtyp.

Wenn Sie Software-Virtualisierung verwenden müssen, können Sie das qemuPaket über die Ubuntu-Repositorys installieren . Es gibt mehrere GUI-Pakete zur Steuerung (ich bevorzuge aqemu), aber Sie können es auch über die Befehlszeile verwenden.

Alternativ können Sie stattdessen eine 64-Bit-Version von Linux ausführen. Ubuntu x86_64 unterstützt das Ausführen von 32-Bit-Binärdateien ohne jegliche Virtualisierung.

Patches
quelle
Danke. versuchte aqemu, bekam aber einen Fehler: unix.stackexchange.com/questions/15789/…
719016
Sie können einen 64-Bit-Gast auf einem 32-Bit-Host in VMware oder VirtualBox ausführen, sofern Ihre Hardware dies unterstützt.
Gilles 'SO - hör auf böse zu sein'
@ Gilles: Du hast recht; Nur KVM hat ein Problem damit. Vielen Dank!
Patches