Meine Situation

Meine Situation

Meine Situation

Ich verwende VirtualBox v5.2.32 auf einem Ubuntu 18.04-Host. Ich habe einen Windows 10-Gast (64-Bit) erstellt. Ich habe VirtualBox v6.0.10 im Windows 10-Gast installiert (Windows 10 Pro – v1903 – 64-Bit). Ich versuche, einen Ubuntu-Gast (64-Bit) innerhalb des Windows 10-Gasts zu erstellen. Ich sehe nur 32-Bit-Optionen innerhalb des Windows-Gasts. Nach mehreren Versuchen, das Problem zu beheben, sehe ich immer noch nur 32-Bit-Optionen.

Meine Absicht

Der Zweck der Erstellung einer VM innerhalb einer VM besteht darin, sicherzustellen, dass VirtualBox funktioniert, damit ich die Vagrant-Konfiguration in einer Windows 10-Umgebung testen kann. Unsere Vagrant-Konfiguration verwendet 64-Bit-Basisimages, daher muss ich in der Lage sein, 64-Bit-Gäste innerhalb dieses Windows 10-Gasts einzurichten.

Was ich bereits versucht habe

...auf dem Ubuntu-Host

Ich habe überprüft Enable VT-x/AMD-V,System > BeschleunigungRegisterkarte in der VirtualBox-Konfiguration des Ubuntu-Hosts für den Windows 10-Gastcomputer.

...auf dem Windows-Gast

Im Windows-Gastcomputer kann ich sehen, dass die physischen CPU-Details des Hosts weitergegeben werden inEinstellungen > System > Infound es zeigt sich als„64-Bit-Betriebssystem, x64-basierter Prozessor“.

Dies ist eine Standardinstallation von Windows 10 Pro, ohne zusätzliche Software (d. h. keine zusätzliche Virenschutzsoftware).

Ich inspizierteWindows-Funktionenum sicherzustellen, dass die folgendennichtgeprüft:

  • Bewachter Gastgeber
  • Hyper V
  • Plattform für virtuelle Maschinen
  • Windows Hypervisor-Plattform
  • Windows-Subsystem für Linux

...weil meine Google-Suche darauf hinzudeuten scheint, dass einige oder alle dieser Punkte ein Problem darstellen könnten.

Basierend auf einem VirtualBox-Forum (Ich habe einen 64-Bit-Host, kann aber keine 64-Bit-Gäste installieren), mit setze gpedit.mscichLokale Computerrichtlinie > Computerkonfiguration > Administrative Vorlagen > System > Device Guard > Virtualisierungsbasierte Sicherheit aktivierenzu Disabled. Ich überprüfe auch, dassWindows-Sicherheit > Gerätesicherheit > Details zur Kernisolierungist eingestellt auf Off.

Ich habe die VirtualBox-Installation „repariert“. Ich habe VirtualBox deinstalliert, neugestartet, neu installiert und dann noch einmal neugestartet.

Verwandte Stack Exchange-Fragen und andere Referenzen

Ich habe mir diese verwandten, zuvor gestellten Fragen angesehen und ihre Vorschläge befolgt, wie in den obigen Schritten angegeben. Alles, was ich finde, scheint mit einem 64-Bit-Windows-Host zusammenzuhängen, der direkt auf dem Hostcomputer ausgeführt wird, und nicht mit einem Windows-Host, der selbst eine Gast-VM ist.

Antwort1

Ich verwende VirtualBox v5.2.32 auf einem Ubuntu 18.04-Host. Ich habe einen Windows 10-Gast (64-Bit) erstellt. Ich habe VirtualBox v6.0.10 im Windows 10-Gast installiert. Ich versuche, einen Ubuntu-Gast (64-Bit) innerhalb des Windows 10-Gasts zu erstellen. Ich sehe nur 32-Bit-Optionen innerhalb des Windows-Gasts. Nach mehreren Versuchen, das Problem zu beheben, sehe ich immer noch nur 32-Bit-Optionen.

VirtualBox unterstützt nicht das Hosten einer 64-Bit-virtuellen Maschine innerhalb einer anderen virtuellen Maschine.

Ich habe VT-x/AMD-V in der VirtualBox-Konfiguration des Ubuntu-Hosts für den Windows 10-Gastcomputer aktiviert.

Obwohl Sie VT-x/AMD-V aktiviert haben, was der Grund dafür ist, dass Sie die erste 64-Bit-virtuelle Maschine ausführen können, wird es nicht an die virtuelle Maschine weitergegeben. Die verschachtelte Virtualisierung von VirtualBox unterstützt die Bereitstellung der Virtualisierungstechnologie x86-Erweiterung für eine verschachtelte virtuelle Maschine nicht. Aus diesem Grund können Sie in der zweiten virtuellen Maschine kein 64-Bit-Betriebssystem ausführen.

Alles, was ich finde, scheint mit einem 64-Bit-Windows-Host zusammenzuhängen, der direkt auf dem Hostcomputer ausgeführt wird, und hat nichts mit einem Windows-Host zu tun, der selbst eine Gast-VM ist.

Dies liegt daran, dass Ihr Wunschziel äußerst nischenspezifisch ist. Was Sie wollen, ist mit VirtualBox und Ihrer aktuellen Hardware nicht möglich.

Oracle VM VirtualBox unterstützt verschachtelte Virtualisierung auf Hostsystemen, die AMD-CPUs ausführen. Diese Funktion ermöglicht die Weitergabe von Hardwarevirtualisierungsfunktionen an die Gast-VM. Das bedeutet, dass Sie einen Hypervisor wie Oracle VM VirtualBox, Oracle VM Server oder KVM auf einem Oracle VM VirtualBox-Gast installieren können. Anschließend können Sie VMs innerhalb der Gast-VM erstellen und ausführen.

**Allerdings ist das, was Sie wollen, selbst mit aktivierter verschachtelter Virtualisierung mit der AMD-Hardware, die Sie derzeit haben, nicht möglich. Damit VirtualBox verwendet werden kann, muss Ihr Prozessor Folgendes unterstützen:Schnelle Virtualisierungsindizierung.

Rapid Virtualization Indexing (RVI), während seiner Entwicklung als Nested Page Tables (NPT) bekannt, ist eine hardwaregestützte Virtualisierungstechnologie der zweiten Generation von AMD für die Memory Management Unit (MMU) des Prozessors.

AMD-V gilt als Hardwarevirtualisierung der ersten Generation. Um die verschachtelte Virtualisierung auf einem System mit dem erforderlichen Prozessor zu aktivieren, müssen Sie die Option --nested-hw-virt mit dem Befehl modifyvm verwenden.

Quelle:Verschachtelte Virtualisierung

Der Hostcomputer ist ein AMD Opteron 6338P. VT-x/AMD-V aktivieren ist in der VM-Konfiguration für den Windows-Gastcomputer aktiviert. Daher sollte VT-x dem Windows-Gast zugänglich sein.

VT-X gibt es nur auf Intel-Hardware. Ihr AMD Opteron 6338P unterstützt nur AMD-V. Die von Ihnen gewählte Option ermöglicht Ihnen jedoch, ein 64-Bit-Betriebssystem innerhalb der virtuellen Maschine auszuführen. Es aktiviert nicht tatsächlich die begrenzte verschachtelte Virtualisierung, die VirtualBox unterstützt.

Antwort2

64-Bit-VMs benötigen VT-x, um zu laufen. Wenn VT-x also nicht für die VM verfügbar gemacht wurde, können Sie keine andere VM innerhalb der aktuellen VM ausführen. Sie müssen aktivierenverschachtelte Virtualisierung in der Windows-VMdurch Laufen

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

Natürlich müssen Sie zuerst prüfen, ob Ihre CPU verschachtelte Virtualisierung unterstützt oder nicht

Aber es sieht aus wieVirtualBox unterstützt nur verschachtelte Virtualisierung auf AMDSie müssen also einen anderen Hypervisor verwenden

Siehe auch

verwandte Informationen