İki işletim sistemini aynı anda çift başlatmak mümkün müdür?


36

İki işletim sistemini aynı anda çift başlatmak mümkün müdür?

Örneğin : Şu anda Ubuntu 11.04 ve Windows 7'yi yeniden başlatıyorum. Ubuntu, tek bir 500 gb HDD'de çalışıyor, Windows 7 ise 1 TB RAID 1 yansıması ile çalışıyor. İki işletim sistemi arasında geçiş yapmak için yeniden başlatma gerekir. İki işletim sistemi arasında yeniden başlatma olmadan geçiş yapmak mümkün mü?

NOT : VirtualBox ve VMWare Player'ın özelliklerinin farkındayım - ikisini de kullanıyorum. Lütfen "Sanallaştırma Kullan!"

EDIT: Bu mümkün değilse, neden mümkün olmadığını paylaşır mısınız? Bana göre bu zor olacak gibi gözükmüyor. Vizyonumun bilgiyle sınırsız olduğunu unutmayın!


Bölümlenmiş hafızalı bir ana bilgisayarda ...
Fiasco Labs

Yanıtlar:


36

Çoğu olmasa da, çoğu işletim sistemi, ana bilgisayarın düşük düzey işlevselliğine (örneğin: donanım, bağlantı noktaları vb.) Özel erişim sağlamayı bekler ve başka hiçbir şeyle paylaşma konseptine sahip değildir - sadece işe yaramaz - bu yüzden iki işletim sistemini aynı sistemde aynı anda denemek ve çalıştırmak için işletim sistemlerini birbirinden korumak için bir çeşit şeffaf hakem gerekir - başka bir deyişle sanallaştırma uygulaması.


Sanallaştırma uygulaması fikir birliği gibi görünüyor. Tavsiye edebileceğiniz ücretsiz ya da açık kaynak seçenekleri var mı?
James Hill

2
Bazı VM uygulamaları diğerlerinden daha iyi olduğu için ne yapmaya çalıştığınıza gerçekten bağlıdır, ancak genel olarak: Ana varsayılan işletim sisteminizi seçin (örn: Ubuntu veya Windows'a önyükleme yapın) ve daha sonra Virtualbox, VM Player'ı yükleyin (benim iki tane faves) veya favori VM uygulamanızın ardından diğer işletim sistemini o ortamda sanal makine olarak kurun.
Bağlayıcı3000

colinux’tan yola çıkarak ubuntu distro oluşturabilirsin. colinux, linux çekirdeğini pencerelerde bir işlem olarak çalıştırır, bu yüzden sanallaştırma değildir. Bir anlamda, asıl sorunun sorulması mümkün olan şey henüz yapılmadı.
Jay R. Wren

Bununla birlikte, bazıları gerçek donanımın aksine işletim sistemlerinde çalışacak şekilde gösterilmiştir - UserModeLinux mükemmel bir örnek örneğidir. colinux ( @Jay tarafından belirtildiği gibi) diğerine "taşınan" bir işletim sistemi örneğidir.
new123456

15

İstediğiniz şeye en yakın olsalar bile, Hyper-V ve Xen'i ("çıplak metal" hipervizörleri olarak adlandırılıyorlar) reddetmiş gibisiniz. Evet, sanallaştırma, ancak VirtualBox'ın çalıştığı şekilde değil.

VirtualBox'ın kendi işletim sistemi olduğunu hayal edin, böylece küçük bir VirtualBox işletim sistemi kurabilir ve daha sonra VirtualBox işletim sisteminin üstüne sanal makineler olarak Windows ve Ubuntu'yu yan yana çalıştırabilirsiniz. Aslında, esasen Hyper-V veya Xen böyle yapar. Donanım ve konuk işletim sistemleri arasındaki ince bir sanallaştırma katmanıdır ve mevcut donanım ve mevcut işletim sistemleriyle doğrudan yan yana çalıştırmaya en yakınsınız.

Sen yok makinede ilk işletim sistemi sanki, sadece hypervisor'u yüklemek istiyorum bunlardan biri için ayrı bir sunucuya ihtiyaç ve ardından hypervisor altında sanal makine olarak Windows ve Ubuntu ekleyin.

Hem Xen hem de Hyper-V, desteklenen bir yapılandırma olmasa da Ubuntu ve Windows'u konuk işletim sistemleri olarak çalıştırır. Xen daha Linuxy ve Hyper-V bir MS ürünüdür, bu yüzden hangi işletim sistemine bağlı olursanız olun hipervizörü seçmenizi öneririm.


8

Yapabileceğin en yakın şey ... kış uykusunu kullanmak. Maalesef, işletim sistemleri, her iki işletim sisteminin de sanallaştırma uygulamadan aynı anda çalışmasının mümkün olmadığı konusunda birbirine yeterince yabancı. Açıkçası, sanallaştırma artık sandığınız kadar kötü değil ... özellikle de "VT" uzantılarını destekleyen bir sanallaştırma platformu kullanırken. Konuk işletim sistemleri, doğrudan donanım ile iletişim kurma becerisine sahiptir ve çok daha iyi bellek haritalama özelliğine sahiptir. Aslında bir SSD'ye doğrudan kurulmuş bir konuk işletim sistemi kurdum ... ve bu işletim sistemi işletim sisteminden daha hızlı çalıştı.


Sanallaştırma ile ilgili bir sorunum yok, sahip olduğum her bilgisayarda VirtualBox kullanıyorum. Bahsettiğiniz VT uzantılarını biraz daha açıklayabilir misiniz? FYI - Bu ev kullanımı içindir, bu yüzden bunu yapmanın ucuz (açık: ücretsiz / açık kaynak) bir yolunu arıyorum.
James Hill

VT = Donanım Sanallaştırma. Temel olarak, CPU'nun işletim sistemi paralel çalışmasını kolaylaştırmak için tasarlanmış bazı ek uzantıları (bazen BIOS'ta etkinleştirilmesi gerekir) vardır. VirtualBox bunu yapabilir ... ancak yazılım sanallaştırmasından mahrum kalırsanız iyi performans göstermez. Bazen VT-x, VT, AMD-V, Donanım Sanallaştırma ya da sayısız ek adlar olarak adlandırılır.
TheCompWiz

VMWare, bahsettiğiniz bu "VT" uzantıları yaratığına sahip mi? öyleyse, açıkça etkinleştirilmesi gerekiyor mu?
MasterMastic

VT bir işlemci özelliğidir. Bu bir hava sorunudur ya da CPU'nuzun içinde ya da olmayan bitleri vardır ... ve ayrıca anakart bunu destekliyorsa. (işlemci uzantıları birçok BIOS'ta devre dışı bırakılabilir) Genellikle varsayılan olarak etkindir ... ancak devre dışı bırakılabilir. HP Dizüstü Bilgisayarım kapatmıştı ... ama supermicro sunucularım açık.
TheCompWiz

7

İşte cevabın 'hayır' olmasının basit, kısa sebebi: Hangi yazılım donanımınızı kontrol eder?

Eğer OS 1 çalışıyorsa, OS 2 çalıştırmıyorsunuzdur. OS 2 çalıştırıyorsa, OS 1 çalıştırmıyorsunuzdur. Her ikisi de yaparsa, o zaman başka bir yazılımın fiziksel donanıma paylaşılan erişimine aracılık etmesi gerekir. ve bu sanallaştırma (sizin dışladığınız).


8
OS 1, OS / 2 değilse. Ardından OS / 2 işletim sisteminizi OS 1 olarak çalıştırın: D
Kenneth Cochran

Bu sadece düz Warped ... Islak bir kağıt torbadan çıkışını pazarlayamayan bir şirketin yarattığı temiz bir işletim sistemini hatırlamak.
Fiasco Labs

2

Akla gelen şeyler:
- Hafıza yönetimi (ram ve önbellek)
- İşlem yönetimi (çalışan işlem başlıkları )

Bu nedenle, muhtemelen iki hokkabazlık bellek kullanımı ve iki işletim sistemi arasında işlem yapan bir erkeğe ihtiyacınız olacak.

Bu başka bir os / firmware olurdu.
Yani eğer birileri uygulamışsa, onu uygulayacaktır, aynı anda çalışan 2 Os yerine 3 olabilir.

EDIT-
linker3000'in yazdıklarını eklemek: limanların yönetimi

Bu 'ortadaki adam' esas olarak ev sahibi işletim sisteminize ve sanallaştırılmış diğer işletim sistemlerine dönüşecek ve sizi zaten bildiğiniz bir çözüme götürdü.


2

Tüm işletim sistemlerinde bilgisayar donanımının toplam kontrolünün talep edildiğini biliyorum.

Yine de teorik olarak mümkün. Her iki işletim sisteminin de aşağıdakiler için tasarlanması gerekir:

  • Hem ana (toplam donanım kontrolü) hem de ikincil olarak çalışın (ana işletim sisteminden kaynak ister)
  • Başka bir işletim sisteminin talep etmesi durumunda donanımın kontrolünü feshetmek

Bu koşulların her ikisi de karşılanırsa, iki işletim sistemini herhangi bir sanallaştırma olmadan aynı anda çalıştırmak mümkün olacaktır. İşbirlikçi çoklu görev kullanarak iki işletim sistemine benzer . Tabii ki, işbirlikçi çoklu görevler kontrolden vazgeçmeyi reddeden kötü yazılmış uygulamalar nedeniyle tamamen terk edilmiş durumda. Belki de iki tane düzgün yazılmış işletim sistemi iyi oynardı. Sonra tekrar ne teşvik olurdu?


1

"Neden" kısmını ele alalım.

Modern bir işletim sisteminin nedenlerinden biri, birden fazla programın (işlemin) aynı anda bir sistemde çalışmasına izin vermektir. Bunu güvenli bir şekilde yapmak istiyorsanız, aşağıdakilerin gerçekleşmesi gerekir:

  • Muhtemelen (özel ihtiyaçlarınız yoksa) sistemdeki RAM'i sabit bir şekilde bölmek istemezsiniz - örneğin işlem başına 256 MB sabit - 2GB sistemde 8 işlemle sınırlandırır. Her bir işlemin hafızayı “sorabilmesini” ve işlem tamamlandığında geri vermesini istersiniz.

  • Ayrıca, G / Ç aygıtlarını aygıtlar arasında sabit bir şekilde bölmek istemezsiniz. Genelde, bellek gibi paylaşılan bir kaynak olması veya en azından yalnızca belirli zamanlarda belirli işlemlere geçici olarak özel olması gibi donanımın bir kısmının veya tamamının olmasını istersiniz. Bu, tüm işlemlerin G / Ç'yi kendi başlarına yapmayı denememelerini, G / Ç'yi zamanlamak ve koordine etmek için bir şeyden geçmelerini gerektirir. Zamanlama, çoğu G / Ç CPU'dan çok daha yavaş olduğu için önemlidir, bu nedenle CPU'nun, tek çekirdekli bir sistemde bile G / Ç beklerken diğer işlemler için çalışmasını sağlayabilirsiniz.

Yukarıdaki hakkı yapmak için, birkaç CPU donanım özelliğinden yararlanılması gerekir. Bunlardan biri MMU, diğeri korumalı mod. İki işletim sistemi iki veya daha fazla işletim sistemini çalıştırmak için bu donanım özelliklerini işbirliği içinde paylaşabilir mi?

Elbette, ancak donanımda bir işletim sisteminin diğer işletim sisteminin belleğinin her tarafında durmasını engelleyecek hiçbir şey yok. CPU çekirdek modundaysa (sadece bir çekirdek modu vardır), herhangi bir kod her şeyi yapabilir. Bir işletim sistemindeki kodun diğer işletim sisteminin kodunu veya verilerini çalıştırması% 100 mümkündür. Ve işletim sistemlerinin geçmişte güvenlik açıkları olduğunu ve gelecekte daha fazlasına sahip olacağını biliyoruz. Bu yüzden güvenlik için çok kötü.

Şimdi, bunun üzerine başka bir "katman" koyarsanız ve birden fazla işletim sistemi için donanım desteğine ihtiyacınız varsa, sorun olmaz mıydı? Donanım sanallaştırma özelliklerinin yaptığı tam olarak budur, birden fazla çalışan işletim sistemi arasına bir donanım engeli koyarlar ve bunlar için hipervizör adı verilen üst düzey bir "arayüz" vardır. Sadece bir hipervizör olabilir. Ve evet, herhangi bir işletim sistemi altında çalışan süreçler G / Ç yapmak için üç katmandan geçmelidir (işlem - yerel çekirdek - hiper yönetici)


0

Sanallaştırma olmadığını söylediğini biliyorum, ancak MS Hyper V sunucusu gibi bir şey ihtiyaçlarınızı karşılayabilir


Hyper-V, sunucu olarak çalışmak için ikinci bir makineye ihtiyaç duyar. Bu kadar güçlü bir ikinci makinem olsaydı, diğer kulemin yanına kurardım ve her ikisine de farklı işletim sistemleri ile başlardım :). Ayrıca, anladığım kadarıyla, kurulum yapmak en az $ 2k.
James Hill

Sanırım Hyper V'yi tek bir makinede çalıştırabilirsin ..
Akash

2
hyper-v içindeki V sanallaştırma içindir. kısıtlama sanallaştırma değilse, hyper-v bir çözüm değildir.
Jay R. Wren

0

Sanallaştırmadan başka bir yol yoktur. Farklı hiper yöneticiler için hangi konuk sistemlerinin çalışacağı konusunda kesin bilgi edinmek zor. http://en.wikipedia.org/wiki/Hypervisor Bazı bilgileri almak için iyi bir başlangıç ​​olmalı ve Xen denemeye değer olabilir, ancak birinin Windows 7 misafirlerini destekliyorsa kesinlikle onaylamasını veya reddetmesini beklerim.

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.