Sanal bir makine içinde bir makine emülatörü (Bochs) çalıştırabilir misiniz?


82

Windows 7'de VirtualBox'u bir Linux konuğu ile birlikte çalıştırmak mümkün mü ve bu Linux makinesinin içinde Bochs'u çalıştırmak mümkün mü?

Bunun nedeni işletim sistemi geliştirmeye başlamakla ilgileniyorum ve tüm derslerin ve işlerin * nix makinelerinde takip edilmesinin daha kolay olduğunu gördüm. Cygwin'i kullanmaya çalıştım, ancak başka bir karmaşıklık katmanı daha eklediğini ve her şeyi kolaylaştırmayacağını düşünüyorum.


1
İkili önyükleme Linux ve Windows yapmak nispeten kolaydır ve sonuç çok daha hızlı sonuç verir. Sadece gerçek olumsuz tarafı işletim sistemi değiştirmek için yeniden başlatmanız gerekmekte.
lyallcooper

@AAnonymous: Bunu biliyorum, ancak Windows çalıştırmaya devam etmek istiyorum.
Javier,

Sanal Makinelerin çalışmasını sağlayamıyorsanız veya çok iyi çalışmıyorsa, bu her zaman bir seçenek.
lyallcooper

12
Bu sorunun çok az başlıklı olduğunu savunacağım. Bochs, VirtualBox ve VMBox ile aynı anlamda sanallaştırma yazılımı değildir. Bu bir emülatör. CPU sanallaştırması sunmuyor. Buradaki ayrım sadece bilgiçlik edici değildir. Bochs gibi bir emülatörün VM içinde oldukça yüksek bir güvenle çalışmasını bekleyebilirsiniz. Bir sanal makinede "iç içe" bir sanallaştırma yazılımı çalıştırmak çok daha zor bir sorundur. Örneğin, bu özellik yalnızca Fusion 4'ten itibaren VMWare'de uygulandı .
superbatfish

2
VirtualMachine-ception: D Sanal makinelerde kaç seviye derinlikte olduğunuzu takip etme riskiniz var. Farkına vardığınız an, fiziksel sabit diskinizi, üzerinde test etmek istediğiniz iç içe sanal disklerden biri yerine
developerbmw

Yanıtlar:


63

Uzun lafın kısası: evet .

Her sanal makine teknik olarak birbirinden bağımsızdır ve VirtualBox ile bunu hem Windows hem de Linux ana işletim sistemlerinde (öykünmüş veya öykünmemiş) desteklendiğinden kolayca yapabilirsiniz. Windows'u yalnızca "ana ana bilgisayar" işletim sistemi olarak kullanabilir, bir VM'de Linux çalıştırabilir ve ardından bu işletim sistemini Bochs için yeni ana ana bilgisayar olarak kullanabilirsiniz .

Buradaki tek sınırlamanızın donanımınız olduğunu unutmayın. Geliştirme gereksinimlerinize bağlı olarak, daha fazla bellek veya 64 bit "temel ana bilgisayar" işletim sistemine yükseltme yapmanız gerekebilir. Bununla birlikte, eğer Linux dağıtımlarınızı akıllıca seçerseniz, herhangi bir modern sistemin bu şekilde keyfi yuvalama yeteneğine sahip olması gerekir.

Bilgisayarınızda x86 sanallaştırma desteğini etkinleştirirseniz (ana kartınız ve CPU'nuz destekliyorsa) ve AFAIK'i artırırsanız, bu özelliği birden fazla iç içe sanal makineye "geçirebilirsiniz". Mecbur kalırsak nbirbirinden iç içe sanal makineleri, bu sürece desteklenir 1st için n-1inci iç içe konuk OS x86 sanallaştırma (baz konak da bunu desteklemesi gerekir) desteği de vardır. Bunu yaparsanız dikkat etmeniz gereken bazı güvenlik sorunları olduğunu unutmayın, bu nedenle uygun önlemleri alın.


2
Aslında işe yarıyor gibi görünüyor. Sonuçta, hıza ihtiyacım olsaydı, Bochs'u ilk başta kullanmayacaktım. En çok oy alan olmasa da, cevabınızın daha eksiksiz ve konuya uygun olduğunu düşünüyorum, bu yüzden kabul edeceğim.
Javier,

Sadece ben miyim, yoksa bu cevap iç içe olanlar değil, birden çok sanal makineyi çalıştırmak gibi görünüyor mu?
Thomas Padron-McCarthy

@Thomas Padron-McCarthy, ben edildi iç içe olanlar bahsediyor. Bu konuda cevabımı daha açık olacak şekilde değiştirdim.
Atılım

7
Bochs, bu genel soru için en iyi test değil, bir emülatör, bir VM değil. (OP hakkındaki
yorumuma


40

Bazen kendi kendini öğrenme ve test etme amacıyla sanal Cisco yönlendiricileri ve anahtarları ve EMC Celerra Sanallaştırılmış Depolama Cihazı ile birlikte VMware Workstation içinde bir VMware vSphere sanal altyapısını çalıştırıyorum.

Ben 'Başlangıç ​​Bilgisayarı' diyorum ve kafam karıştırabilir. Ancak, gerçek ekipmanı kullanmaktan biraz daha ucuz.


1
Bu, bunun uygulanabilirliğini kanıtlamalıdır. vinf.net/2010/02/25/…
Mike Soule

1
@Mike: ESXi içinde ESXi çalıştıran bağlantı ayrıntılarınız var, ancak ilk başta beni sanallaştırmaya sokan ana sitelerden biri olan TechHead gibi bazı bağlantıları kullandım. VMware Workstation'da bir vSphere altyapısının çalıştırılması hakkında da birçok bilgi var: google.com.tr/…
paradroid

2
“Başlangıç” teriminin, [bir şeyin içindeki şeyi] kavramına atıfta bulunmadığını biliyorsunuz, değil mi?
ekillaby

7
@countfloortiles: Bu elbette ki filme referanstır.
paradroid

1
@ Paradroid "CompCeption" veya "VirtuaCeption" olarak adlandırılmış olmalıdır.
Mohd Abdul Mujib

32

Bu soruyu okuyan, kabul edilen cevabı gören ve bunun VirtualBox için de geçerli olacağını düşünen herkese, lütfen asıl soru hakkında @superbatfish'in yorumuna bakınız . Sanallaştırma ve öykünme arasındaki fark hakkında iyi bir noktaya değindi.

Özellikle, "donanım destekli VM", "üst düzey" konuk işletim sisteminde mevcut olmayacaktır (yani, bu yazı sırasında, VirtualBox konuk işletim sistemlerinde donanım VM'i sağlamaz ). VirtualBox ile bu, en üst düzey konuk 64 bit ve "gerçek" sunucunuz donanım VM'sine sahip olsa bile yalnızca 32 bit "iç içe geçmiş konuk" OS'ler oluşturabileceğiniz anlamına gelir.

Sizin için bir gösterici olmayabilir, ama dikkat çekici. Chef yemek kitabı testi için Vagrant'ı Windows içindeki bir Ubuntu misafirinde çalıştırmak için buna ihtiyacım vardı.


Peki Vagrant'ı Ubuntu konuklarına Windows hostunda çalıştırabildin mi?
Wisbucky

2
@wisbucky evet, 32-bit modunda çalıştırabilirim, ancak 64-bit değil. Tüm üretim sistemlerim 64 bit olduğundan, mükemmel bir test değildi, ancak yine de yeterince çalıştı.
Toby J

3
Yanılmıyorsam, şimdi Ubuntu VM'de 64 bit Vagrant kutuları Vagrant için Docker sağlayıcısını kullanarak çalıştırabilirsiniz, çünkü kaplar donanım sanallaştırmasına dayanmaz: vagrantup.com/docs/docker . Kullandığın Vagrant kutusu da bunu desteklemeli.
Brendan

@Brendan, belirli 64bit programları çalıştırmanız gerekmiyorsa, o zaman 32bit sanal kutuyu çalıştırmaya kıyasla docker kapsayıcısını kullanmak performans açısından aynı mıdır yoksa öyle mi?
23’te

11

Linux-KVM, iç içe sanal makineler için bazı desteğe sahiptir. KVM IRC kanalından sordum ve şu bilgileri aldım (ama sözümü alma, kendin dene):

  • AMD işlemcileri iyi çalışmalı, Xen ve Hyper-V'li konukların çalıştığı biliniyor,
  • Intel CPU'ları en yeni KVM Git kaynak koduna ihtiyaç duyar ve yalnızca KVM çalışan misafirler

Bunu henüz kendim denemedim. "İç içe geçmiş KVM" araması, kendiniz denemeniz için size yeterli bilgi sağlamalıdır.

EDIT: KVM sadece bir Linux sunucusunda çalışacaktır. Windows sanallaştırma yazılımı hakkında doğru yuvalanmış VM desteği ile ilgili güvenilir bir bilgi almadım. 'Uygun' ifadesiyle, hipervizörün konuklara sanallaştırma uzantılarını gösterdiği anlamına gelir. İç içe bir VM'yi saf bir yazılım hipervizörü (örneğin, dinamik çeviri) kullanarak her zaman çalıştırabilirsiniz, ancak bu fark oldukça yavaş olacaktır.

EDIT: Bahsettiğiniz Bochs sadece yazılım hipervizörüdür. Bu, her zaman yavaş olacağı anlamına gelir ve ana bilgisayardaki hipervizörün konuk için sanallaştırma uzantılarını göstermesi (KVM gibi) önemsizdir. Ancak diğer birçok sanallaştırma softare (KVM, VirtualBox, VMWare) bu uzantılardan yararlanabilir ve varsa daha iyi performans gösterecektir.


İkinci kurgunuza: Eğer sadece Bochs'u çalıştırıyorsam (ve eğer yavaşsa çok umrumda değil), KVM olayı hakkında endişelenmeme gerek var mı?
Javier,

Sanal makinenin içinde Bochs kullanıyorsanız, donanımda çalıştırdığınız kadar yavaş olacaktır (donanımınızın sanallaştırma uzantılarına sahip olduğunu farz edersiniz, yani AMD-v veya VT-x ve BIOS'ta etkindirler; daha da yavaş, VM'deki her şeyde olduğu gibi).
Ambroz Bizjak

Windows sanallaştırmasıyla ilgili olarak ... mümkün gibi görünüyor, ancak (Haziran 2016 itibariyle) yalnızca HyperV-HyperV ile, "Windows Insider" işletim sistemi ile ve Intel donanımıyla çalışıyor. Gönderen msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/...
Mark

3

Mümkün, ancak geliştirme için çok uygun değil. Muhtemelen Linux'u kendi işletim sisteminiz olarak çalıştırmaya ya da VM'leri barındırmak için ikinci bir kutu almaya bakmalısınız.


Karmaşık olmanın muhtemel olduğunu anlıyorum, ama "çok mümkün değil" ile tam olarak ne demek istiyorsunuz?
Javier,

1
Bahse girerim @peelman şu anlama gelir: "Pratik amaçlar için çok yavaş." Kendim denemedim.
CarlF

Tam olarak @carlf.
peelman,


1

Evet , sanal bir makineyi sanal bir makinede çalıştırabilirsiniz. Yaptığım şey, Windows 7 Ultimate x64 bilgisayarı elde etmek, sanal makinede aynı işletim sistemini çalıştırmak, sonra da 3. tabakada 32 bitlik bir sürümü çalıştırmak (3. kattaki 64 bit'i kaldıramadı). Oldukça laggy, ancak internet gezgini ile New York Times'a ulaşmayı başardım. Güçlü bir bilgisayarınız yoksa, bu zor olabilir, ancak hafif İşletim Sistemleri olan Linux ve Bochs kullanıyorsanız, mümkün olması gerekir.


-2

Evet , bilgisayarınız onu idare edecek kadar güçlü olduğu göz önüne alındığında mümkündür.

Makinemde (i7 4770S, 16GB RAM), VM-mobiltion seviyesini 4.5 elde etmeyi başardım (sonuncusu yarının çöküyor).

VMware Player 12'yi kullandım, çünkü VirtualBox VM-x'i taklit etmekten hoşlanmıyordu ve bu durum oldukça yavaştı. Şu anda W2K'nın XP'de çalışmasını sağlamaya çalışıyorum, ancak VMware yüklenemiyor, VirtualBox BSOD'lar üretiyor, bu yüzden QEMU kullanmaya çalışıyorum.

Bu ekran görüntüsüne bakın (gördüğüm en güzel ekran görüntülerinden biri):

görüntü tanımını buraya girin


Bu cevap hangi yeni bilgileri sağlıyor?
Ramhound
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.