2011-07-19 17:33:56 +0000 2011-07-19 17:33:56 +0000
82
82

Kann man einen Maschinenemulator (Bochs) innerhalb einer virtuellen Maschine betreiben?

Ist es möglich, sagen wir, VirtualBox auf Windows 7 mit einem Linux-Gast laufen zu lassen und innerhalb dieser Linux-Maschine Bochs laufen zu lassen?

Der Grund ist, dass ich daran interessiert bin, mit der OS-Entwicklung zu beginnen, und ich habe festgestellt, dass alle Tutorials und so auf *nix-Maschinen viel einfacher zu befolgen sind. Ich habe versucht, Cygwin zu benutzen, aber ich denke, es fügt eine weitere Ebene der Komplexität hinzu und macht die Dinge nicht unbedingt einfacher.

Antworten (3)

63
63
63
2011-07-19 18:49:44 +0000

Lange Rede kurzer Sinn: ja.

Jede virtuelle Maschine ist technisch gesehen “unabhängig” voneinander, und mit VirtualBox könnten Sie dies problemlos tun, da es sowohl auf Windows- als auch auf Linux-Host-Betriebssystemen (emuliert oder nicht) unterstützt wird. Sie könnten einfach Windows als Ihr “Basis-Host”-Betriebssystem verwenden, Linux in einer VM laufen lassen und dann das Betriebssystem als neuen Basis-Host für Bochs verwenden.

Beachten Sie, dass Ihre einzige Einschränkung hier Ihre Hardware ist. Abhängig von den Anforderungen Ihrer Entwicklung benötigen Sie möglicherweise mehr Speicher oder ein Upgrade auf ein 64-Bit-“Basis-Host”-Betriebssystem. Wenn Sie Ihre Linux-Distributionen mit Bedacht auswählen, sollte jedes moderne System in der Lage sein, beliebige Verschachtelungen wie diese durchzuführen.

Sie werden eine verbesserte Leistung sehen, wenn Sie die x86-Virtualisierung Unterstützung auf Ihrem Computer aktivieren (wenn Ihr Motherboard und Ihre CPU dies unterstützen), und AFAIK können Sie diese Funktion an mehrere verschachtelte virtuelle Maschinen “durchreichen”. Wenn wir n virtuelle Maschinen ineinander verschachtelt haben, wird dies unterstützt, solange das 1-te bis n-1-te verschachtelte Gastbetriebssystem Unterstützung für x86-Virtualisierung hat (der Basis-Host muss es ebenfalls unterstützen). Beachten Sie, dass es immer noch einige Sicherheitsprobleme gibt, auf die Sie achten müssen, wenn Sie dies tun, also treffen Sie die entsprechenden Vorsichtsmaßnahmen.

32
32
32
2014-05-29 16:27:47 +0000

Für jeden, der diese Frage liest, die akzeptierte Antwort sieht und denkt, dass dies auch für VirtualBox gilt, lesen Sie bitte Kommentar von @superbatfish zur ursprünglichen Frage. Er macht einen guten Punkt über den Unterschied zwischen Virtualisierung und Emulation.

Genauer gesagt, “hardwareunterstützte VM” ist im “Top-Level”-Gastbetriebssystem nicht verfügbar (d. h. zum Zeitpunkt dieses Schreibens bietet VirtualBox keine Hardware-VM in Gastbetriebssystemen ). Mit VirtualBox bedeutet dies, dass Sie nur 32-Bit-“verschachtelte” Gastbetriebssysteme erstellen können, selbst wenn der Top-Level-Gast 64-Bit ist und Ihr “echter” Host über Hardware-VM verfügt.

ist vielleicht kein Showstopper für Sie, aber es ist erwähnenswert. Ich brauchte dies, um Vagrant auf einem Ubuntu-Gast innerhalb von Windows laufen zu lassen, um das Kochbuch Chef zu testen.

-2
-2
-2
2016-11-03 00:46:49 +0000

Ja , es ist möglich, vorausgesetzt, Ihr Computer ist leistungsfähig genug, um es zu bewältigen.

Auf meinem Rechner (i7 4770S, 16GB RAM) habe ich es geschafft, eine VM-ception-ness-Stufe von 4,5 zu erreichen (die letzte stürzt die Hälfte der Zeit ab).

Ich habe den VMware Player 12 benutzt, weil VirtualBox die Emulation von VM-x nicht mochte, und es war gaaaanz langsam. Im Moment versuche ich, W2K auf XP zum Laufen zu bringen, aber VMware kann nicht installieren, VirtualBox produziert BSODs, also versuche ich es mit QEMU.

Siehe diesen Screenshot (einer der schönsten Screenshots, die ich je gesehen habe):