سؤال هل يمكنك تشغيل جهاز محاكاة الآلة (Bochs) داخل جهاز ظاهري؟


هل من الممكن ، على سبيل المثال ، تشغيل VirtualBox على ويندوز 7 مع ضيف لينكس ، وداخل ذلك تعمل آلة لينكس Bochs؟

السبب هو أنني مهتم ببدء تطوير نظام التشغيل ، ووجدت أن كل البرامج التعليمية والأشياء أسهل بكثير في متابعة * nix machines. حاولت استخدام Cygwin ، ولكن أعتقد أنه يضيف طبقة أخرى من التعقيد وليس بالضرورة جعل الأمور أسهل.


82
2017-07-19 17:33


الأصل


تمهيد مزدوج هو Linux و Windows سهلة نسبياً ، والنتيجة النهائية تعمل بسرعة أكبر بكثير. الجانب السلبي الوحيد الحقيقي هو أن عليك إعادة التشغيل لتبديل أنظمة تشغيل. - lyallcooper
AUAnonymous: أعرف ذلك ، لكني أرغب في الاستمرار في تشغيل Windows. - Javier
إنه مجرد خيار دائمًا إذا لم تتمكن من تشغيل VMs أو إذا لم تعمل بشكل جيد. - lyallcooper
سوف أزعم أن هذا السؤال يحمل عنوانًا ضعيفًا. Bochs ليس برنامج المحاكاة الافتراضية بنفس معنى VirtualBox و VMWare. إنه محاكي. لا يقدم أي محاكاة افتراضية لوحدة المعالجة المركزية. التمييز هنا ليس فقط متحذلق. يمكنك توقع محاكي مثل bochs للعمل داخل جهاز VM مع ثقة عالية إلى حد ما. يعد تشغيل برنامج ظاهري حقيقي "متداخل" في جهاز VM مشكلة أكثر صعوبة. على سبيل المثال ، كانت هذه الميزة فقط تنفيذها في برنامج VMWare اعتبارًا من Fusion 4. - superbatfish
VirtualMachine-ception: D لديك خطر فقدان عدد المستويات في العمق في الأجهزة الظاهرية التي أنت فيها. في تلك اللحظة عندما تدرك أنك قمت بإفساد القرص الصلب البدني فقط بدلاً من أحد الأقراص الافتراضية المتداخلة التي كان من المفترض اختبارها: P - developerbmw


الأجوبة:


قصة طويلة قصيرة: نعم فعلا.

كل آلة افتراضية هي "مستقلة" تقنيا عن بعضها البعض ، ومع فيرتثلبوإكس، يمكنك القيام بذلك بسهولة ، حيث أنها مدعومة على أنظمة تشغيل نظام التشغيل Windows و Linux (المحاكاة أم لا). يمكنك ببساطة استخدام Windows كنظام تشغيل "مضيف أساسي" ، قم بتشغيل Linux في جهاز VM ، ثم استخدمه أن نظام التشغيل كمضيف قاعدة جديد لبوش.

هل لاحظ أن القيد الوحيد هنا هو جهازك. استنادًا إلى متطلبات تطويرك ، قد تحتاج إلى المزيد من الذاكرة ، أو ترقية إلى نظام تشغيل "مضيف أساس" 64 بت. ومع ذلك ، إذا اخترت توزيعات Linux الخاصة بك بحكمة ، فإن أي نظام حديث يجب أن يكون قادرًا على التعشيش التعسفي مثل هذا.

سترى تحسين الأداء إذا قمت بتمكين x86 الافتراضية الدعم على جهاز الكمبيوتر الخاص بك (إذا كانت اللوحة الأم ووحدة المعالجة المركزية تدعمهما) ، و AFAIK ، فيمكنك "المرور عبر" هذه الميزة إلى العديد من الأجهزة الظاهرية المتداخلة. اذا كان لدينا n الأجهزة الافتراضية متداخلة في بعضنا البعض ، وهذا معتمد طالما أن 1شارع الى n-1عشر نظام التشغيل المتداخل للضيف لديه دعم للمحاكاة الافتراضية لـ x86 (يجب أن يدعمه أيضًا مضيف القاعدة). هل لاحظ أنه لا يزال هناك بعض القضايا الأمنية لتكون على دراية إذا قمت بذلك ، لذا اتخذ الاحتياطات المناسبة.


63
2017-07-19 18:49



يبدو أنه يعمل بالفعل. بعد كل شيء ، إذا كنت بحاجة إلى السرعة ، فلن أستخدم Bochs في المقام الأول. في حين أنه ليس الأكثر رعايته ، فأنا أشعر أن إجابتك هي الأكثر اكتمالا والنقطة ، لذا سأقبلها. - Javier
هل هو مجرد لي ، أو لا يبدو أن هذه الإجابة عن الجري مضاعف الأجهزة الافتراضية ، لا متداخلة منها؟ - Thomas Padron-McCarthy
Thomas Padron-McCarthy ، أنا كان نتحدث عن تلك المتداخلة. لقد عدلت الإجابة لتكون أكثر وضوحًا في هذا الصدد. - Breakthrough
ليست Bochs أفضل اختبار لهذا السؤال العام ، حيث أنها محاكي ، وليس VM. (انظر تعليقي على OP.) - superbatfish


أقوم أحيانًا بتشغيل بنية VMware vSphere افتراضية بالكامل في VMware Workstation ، إلى جانب أجهزة توجيه ومحول Cisco الظاهري و EMC Celerra Virtualized Storage Appliance ، لأغراض التعلم الذاتي والاختبار.

أسميها "الحوسبة الاستهلالية" ، ويمكن أن تصبح مربكة جدًا. ومع ذلك فهي أرخص إلى حد ما من استخدام معدات حقيقية.


40
2017-07-19 19:40



هذا يجب أن يثبت جدوى هذا. vinf.net/2010/02/25/... - Mike Soule
Mike: تفاصيل الرابط الخاص بك الذي يشغل ESXi داخل ESX ، لكنني استخدمت بعض الروابط ، مثل TechHead ، والتي تعد واحدة من المواقع الرئيسية التي جعلتني في المحاكاة الافتراضية في المقام الأول. هناك الكثير من المعلومات حول تشغيل بنية vSphere في VMware Workstation أيضًا: google.co.uk/... - paradroid
أنت تعلم أن مصطلح "التأسيس" لا يشير إلى مفهوم [الشيء داخل شيء] ، أليس كذلك؟ - ekillaby
countfloortiles: إنها إشارة إلى الفيلم ، بالطبع. - paradroid
paradroid يجب أن يكون لديك اسم "CompCeption" أو "VirtuaCeption". - Mohd Abdul Mujib


لأي شخص يقرأ هذا السؤال ، يرى الإجابة المقبولة ، ويعتقد أن هذا ينطبق على فيرتثلبوإكس كذلك ، يرجى الاطلاع تعليق منsuperbatfish على السؤال الأصلي. انه نقطة جيدة حول الفرق بين المحاكاة الافتراضية والمحاكاة.

على وجه التحديد ، لن يتوفر "جهاز VM مدعوم بالأجهزة" في نظام تشغيل الضيف "ذي المستوى الأعلى" (أي في وقت كتابة هذه السطور ، لا يوفر VirtualBox الأجهزة VM في أنظمة تشغيل الضيف). مع VirtualBox ، هذا يعني أنه يمكنك فقط إنشاء أنظمة تشغيل "nested guest" 32 بت ، حتى إذا كان الضيف الأعلى مستوى 64 بت وكان المضيف "الحقيقي" الخاص بك الأجهزة VM.

قد لا يكون عارضًا بالنسبة لك ، ولكن من الجدير بالذكر. أنا في حاجة إلى ذلك من أجل تشغيل Vagrant على ضيف Ubuntu داخل Windows ، لاختبار Chef Chef.


30
2018-05-29 16:27



هل كنت قادرًا على تشغيل Vagrant على ضيف Ubuntu داخل Windows host؟ - wisbucky
@ wisbucky نعم ، يمكن تشغيله في وضع 32 بت ، ولكن ليس 64 بت. نظرًا لأن جميع أنظمة الإنتاج الخاصة بي هي 64 بت ، لم يكن اختبارًا مثاليًا ولكن ما زال يعمل جيدًا بما فيه الكفاية. - Toby J
ما لم أكن مخطئًا ، يمكنك الآن تشغيل مربعات Vagrant 64 بت في جهاز Ubuntu VM باستخدام موفر Docker الخاص بـ Vagrant ، بما أن الحاويات لا تعتمد على الأجهزة الظاهرية: vagrantup.com/docs/docker. وسيضطر مربع Vagrant الذي تستخدمه إلى دعم ذلك. - Brendan
Brendan ، ما لم يكن لديك لتشغيل برامج 64 بت محددة ، ثم استخدام الحاوية عامل ميناء مقارنة بتشغيل مربع الظاهري 32 بت ، هو أداء حكيم هو نفسه أم هو؟ - serup


يدعم Linux-KVM بعض الدعم للأجهزة الظاهرية المتداخلة. لقد سألت عن قناة KVM IRC وحصلت على المعلومات التالية (لكن لا تأخذ كلمتي ، جربها بنفسك):

  • يجب أن تعمل وحدات المعالجة المركزية AMD بشكل جيد ، ومن المعروف أن الضيوف مع Xen و Hyper-V يعملون ،
  • تحتاج وحدات المعالجة المركزية Intel إلى أحدث شفرة KVM Git ، وهي فقط الضيوف الذين لديهم عمل KVM

لم أحاول هذا بنفسي حتى الآن. يجب أن يمنحك البحث عن "KVM متداخل" معلومات كافية لتجربتها بنفسك.

EDIT: سيتم تشغيل KVM على مضيف Linux فقط. لم أحصل على أية معلومات موثوقة حول برنامج المحاكاة الافتراضية لـ Windows بشأن دعم VM المتداخل الصحيح. عن طريق 'proper' أعني أن hypervisor يعرض ملحقات ظاهرية للضيف. يمكنك دائمًا تشغيل VM متداخلة باستخدام برنامج Hypervisor محض (مثل الترجمة الديناميكية) ، ولكن سيكون أبطأ بشكل ملحوظ.

تحرير: Bochs ، التي ذكرتها ، هو hypervisor البرامج فقط. وهذا يعني أنه سيكون بطيئًا دائمًا ، ولا يهم ذلك إذا كان المشرف على المضيف يعرض إضافات المحاكاة الافتراضية للضيف (مثل KVM). ومع ذلك ، يمكن لمعظم الأجهزة الظاهرية الأخرى (KVM ، و VirtualBox ، و VMWare) الاستفادة من تلك الإضافات ، وستكون أدائها أفضل بكثير إذا كانت متوفرة.


11
2017-07-19 18:36



إلى تعديلك الثاني: إذا كنت سأقوم بتشغيل Bochs (وأنا لا أهتم كثيرًا إذا كان بطيئًا) ، فهل أحتاج إلى القلق بشأن الشيء KVM؟ - Javier
إذا كنت تقوم بتشغيل Bochs داخل الجهاز الظاهري ، فستكون بطيئة كما لو كنت تقوم بتشغيلها على الأجهزة (على افتراض أن الجهاز يحتوي على ملحقات ظاهرية ، أي AMD-v أو VT-x وتم تمكينها في BIOS ؛ وإلا فسيكون حتى أبطأ ، وكذلك كل شيء في VM). - Ambroz Bizjak
فيما يتعلق بالظاهرية الافتراضية لـ Windows ... يبدو أنه ممكن ، ولكن (اعتبارًا من يونيو 2016) لا يعمل إلا مع HyperV-on-HyperV ، مع نظام التشغيل "Windows Insider" ، وعلى أجهزة Intel. من عند msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/... - Mark


من الممكن ، ولكن ليس مجديا للغاية ، وخاصة بالنسبة للتنمية. ربما يجب عليك النظر في تشغيل Linux كنظام تشغيل أصلي ، أو الحصول على مربع ثاني لاستضافة VMs عليه.


3
2017-07-19 17:47



أفهم أنه من المحتمل أن يكون الأمر معقدًا ، ولكن ما الذي تعنيه بالضبط بـ "غير قابل للتنفيذ"؟ - Javier
أراهن على أنpeelman يعني: "إنه بطيء جدًا للأغراض العملية." لم أجربه بنفسي - CarlF
carlf بدقة. - peelman


الوصف التفصيلي لهذه العملية موجود في هذه الصفحة: https://wiki.openstack.org/wiki/XenServer/VirtualBox

في بطاقات الشبكة آلة VirtualBox لديك لتعيين السماح للجميع في الوضع المشوش والعديد من الخيارات الأخرى ، ويمكنك أن يكون نظام التشغيل داخل vm مثل. Xenserver داخل vm مثل فيرتثلبوإكس.


1
2018-02-08 02:17





نعم فعلايمكنك تشغيل جهاز ظاهري في جهاز ظاهري. ما فعلته هو الحصول على جهاز كمبيوتر يعمل بنظام Windows 7 Ultimate x64 ، وتشغيل نظام التشغيل نفسه على الجهاز الظاهري ، ثم تشغيل إصدار 32 بت (لا يمكن معالجة 64 بت على الطبقة الثالثة) على الطبقة الثالثة. كان laggy جميلة ولكن تمكنت من الحصول على أوقات نيويورك على إنترنت إكسبلورر معها. قد يكون ذلك صعبًا إذا لم يكن لديك كمبيوتر قوي ، ولكنك تشغل Linux و Bochs ، وهما نظامان تشغيلان خفيفان ، لذا يجب أن يكون ذلك ممكنًا.


1
2017-08-09 01:02