Nie można zainstalować maszyny wirtualnej na innej maszynie wirtualnej

23

Na moim hoście działa system Windows 10, a moim gościem jest Ubuntu w VirtualBox. Próbuję uruchomić trzecią maszynę wirtualną na Ubuntu, ale VirtualBox mówi:

Nie można otworzyć sesji dla maszyny wirtualnej Windows XP. VT-x nie jest dostępny. (VERR_VMX_NO_VMX).

Zwrócił również kod błędu 0x80004005

Oczywiście mam włączoną wirtualizację. W moim systemie BIOS nie ma nawet opcji wyłączenia (MSI z170a). Moja maszyna jest bardzo zaawansowana, więc wiem, że może ją uruchomić, wykluczyłem wszystko, co mogłem.

SidedTech
źródło
4
FWIW, KVM może zagnieżdżać się.
Jonas Schäfer
1
Z tego, co pamiętam, 32-bitowa wewnętrzna maszyna wirtualna powinna działać, ponieważ nie wymaga to wirtualizacji sprzętowej (VT-x). Zakładając, że interesuje Cię 32-bitowy system Windows XP, powinien on działać.
CodesInChaos
4
Po co w ogóle zagnieżdżać Virtualboksy?
Xen2050,
4
@ Xen2050, ponieważ VMception.
David Refoua
@DRSDavidSoft To też był mój pierwszy ... SidedTech mógł wyszukać VMception , znalazłby Czy potrafisz uruchomić emulator maszyny (Bochs) w maszynie wirtualnej? który pośrednio odpowiada na jego pytanie. Zgadłbym coś takiego: „Musiałem przenieść moją instalację linuksową na maszynę wirtualną [z jakiegoś dobrego powodu], ale nadal chcę uruchamiać moją maszynę wirtualną, którą trzymam w systemie Linux i nie wiem, czy tylko kopiowanie plików konfiguracyjnych, aby wygrać, zadziała i nie chcę próbować ”
Xen2050,

Odpowiedzi:

45

To, co próbujesz zrobić, to zagnieżdżona wirtualizacja. Nie jest obsługiwany w virtualbox i w żaden sposób nie jest dla nich priorytetem.

Zamiast tego musisz uruchomić maszynę wirtualną XP na hoście.

W TEORII można uruchomić zwykły stary QEMU na maszynie wirtualnej (emuluje cały procesor i prawie cały system), aby to zrobić, ale wydajność będzie naprawdę bardzo zła.

Journeyman Geek
źródło
Wydajność takiego działania prawdopodobnie będzie przypominać wczesne rozwiązania do wirtualizacji komputerów PC (nieobsługiwane sprzętowo). Pomyśl powolny MS-DOS na nowoczesnym sprzęcie ...
CVn
4
@ MichaelKjörling Dlaczego porównanie? Wczesna wirtualizacja komputera była wspomagana sprzętowo, ale nie w taki sam sposób jak dzisiaj. VMWare uruchamiał kod pierścienia 0 w pierścieniu 1 z pułapkami na niektóre instrukcje i innymi sztuczkami, takimi jak przepisywanie kodu jądra. O ile pamiętam, metoda VMWare była rzeczywiście kilka% szybsza niż VT-x, kiedy VT-x po raz pierwszy wyszedł, zgodnie z ówczesnymi testami, więc wcale nie był wolny. Nawiasem mówiąc, uruchomienie zagnieżdżonej starej wersji VMWare, a może VBox z wyłączonym VT-x na 32-bitowym gościu może faktycznie działać i działać stosunkowo dobrze. Nawet gdybym zrobił to tylko z ciekawości.
nitro2k01
@ nitro2k01 Kiedy Micheal wymyślił „wczesne” rozwiązania wirtualizacyjne, miał na myśli naprawdę wcześnie, jak w połowie lat 90. W tamtych czasach istniała rzecz zwana Virtual PC (później kupiona przez Microsoft), która działała nie tylko na komputerze Mac, ale na procesorze PowerPC emulującym x86. Twoje VMWare nie jest wcześnie, jest zdecydowanie bardzo nowoczesne
slebetman
@slebetman Virtual PC został wydany po raz pierwszy w 1997 roku. VMWare został wydany po raz pierwszy w 1999 roku, podobnie jak wtedy, gdy go wypróbowałem. Porównania testów porównawczych z VT-x zostały oczywiście wykonane znacznie później, ale wspomniałem o tym, aby pokazać, że oryginalna metoda wirtualizacji VMWare niekoniecznie była powolna. Oryginalny komputer wirtualny, pomimo nazwy, nie jest tak naprawdę maszyną wirtualną, ale emulatorem.
nitro2k01
@ nitro2k01: AH tak. Pamiętam to. Fuzja VMWare, która emulowała również x86 na komputerach PowerPC. Dziękuję za przypomnienie mi o tym. Więc VMWare, na podstawie dowodów, które sam dostarczyłeś. Początkowo naprawdę przypominał to, o czym wspomniał Michael (pomimo faktu, że nie wspomniał konkretnie o VMWare)
Slebetman