Eine VM kann nicht auf einer anderen VM installiert werden

23

Auf meinem Host-Computer läuft Windows 10, und mein Gast ist Ubuntu in VirtualBox. Ich versuche eine 3. VM auf dem Ubuntu zu betreiben, aber VirtualBox sagt:

Fehler beim Öffnen einer Sitzung für die virtuelle Maschine Windows XP. VT-x ist nicht verfügbar. (VERR_VMX_NO_VMX).

Es gab auch einen Fehlercode von 0x80004005 zurück

Ich habe natürlich die Virtualisierung aktiviert. Es ist nicht einmal eine Option, um in meinem BIOS (MSI z170a) zu deaktivieren. Meine Maschine ist sehr hochwertig, also weiß ich, dass sie es kann. Ich habe alles ausgeschlossen, was ich kann.

SidedTech
quelle
4
FWIW kann KVM geschachtelt machen.
Jonas Schäfer
1
Soweit ich mich erinnere, sollte eine interne 32-Bit-VM funktionieren, da hierfür keine Hardwarevirtualisierung (VT-x) erforderlich ist. Vorausgesetzt, Sie interessieren sich für 32-Bit-Windows XP, sollte dies für Sie funktionieren.
CodesInChaos
4
Warum überhaupt die Virtualboxen verschachteln?
Xen2050
4
@ Xen2050 weil, VMception.
David Refoua
@DRSDavidSoft Das war auch meine erste ... SidedTech hätte nach VMception suchen können , hätte gefunden Können Sie einen Maschinenemulator (Bochs) in einer virtuellen Maschine ausführen? was indirekt auf seine Frage antwortet. Ich hätte gedacht, dass ich meine Linux-Installation auf eine VM verschieben musste [aus gutem Grund], aber ich möchte trotzdem meine VMs ausführen, die ich unter Linux behalte und weiß nicht, ob dies der Fall ist Das Kopieren von Konfigurationsdateien zu Win wird funktionieren und ich möchte es nicht versuchen "
Xen2050

Antworten:

45

Was Sie versuchen, ist geschachtelte Virtualisierung. Es wird in virtualbox nicht unterstützt und hat für sie in keiner Weise Priorität.

Sie müssen stattdessen die XP-VM auf dem Host ausführen.

In THEORY könnten Sie ganz normales QEMU in der VM ausführen (es emuliert den gesamten Prozessor und so ziemlich das gesamte System), um dies zu tun, aber die Leistung wird wirklich sehr, sehr schlecht sein.

Geselle Geek
quelle
Die Leistung wird wahrscheinlich an frühere PC-Virtualisierungslösungen erinnern (nicht hardwaregestützt). Denken Sie träge MS-DOS auf moderner Hardware ...
ein CVn
4
@ MichaelKjörling Warum der Vergleich? Frühe PC-Virtualisierung wurde hardwaregestützt, nur nicht wie heute. Mit VMWare wurde Ring 0-Code in Ring 1 ausgeführt, wobei einige Anweisungen und andere Tricks wie das Neuschreiben von Kernel-Code überfüllt waren. Soweit ich mich erinnere, war die Methode von VMWare tatsächlich ein paar Prozent schneller als VT-x, als VT-x laut damaligen Benchmarks zum ersten Mal herauskam, also überhaupt nicht langsam. Im Übrigen funktioniert die Ausführung einer geschachtelten alten Version von VMWare oder von VBox mit deaktiviertem VT-x auf einem 32-Bit-Gast möglicherweise tatsächlich und relativ gut. Auch wenn ich es nur aus Neugier tun würde.
Nitro2k01
@ nitro2k01Wenn Micheal auf "frühe" Virtualisierungslösungen wartete, meinte er das wirklich früh wie Mitte der 90er Jahre früh. Damals gab es ein Produkt namens Virtual PC (später von Microsoft gekauft), das nicht nur auf einem Mac, sondern auch auf einer PowerPC-CPU lief, die x86 emuliert. Ihre VMWare ist nicht früh, es ist definitiv sehr modern
slebetman
@slebetman Virtual PC wurde 1997 zum ersten Mal veröffentlicht. VMWare wurde 1999 zum ersten Mal veröffentlicht. Die Benchmark-Vergleiche mit VT-x wurden natürlich viel später durchgeführt, aber ich erwähnte es nur, um zu zeigen, dass die ursprüngliche Virtualisierungsmethode von VMWare nicht unbedingt langsam war. Der ursprüngliche virtuelle PC ist trotz des Namens keine virtuelle Maschine, sondern ein Emulator.
Nitro2k01
@ nitro2k01: AH ja. Ich erinnere mich daran. VMWare Fusion, die auch x86 auf PowerPC-Computern emuliert. Vielen Dank, dass Sie mich daran erinnert haben. Also VMWare, durch Nachweise, die Sie selbst erbracht haben. Ursprünglich war es wirklich so, wie Michael es erwähnte (ungeachtet der Tatsache, dass er VMWare nicht speziell erwähnte)
slebetman