كيف يمكنني معرفة ما إذا كنت أركض في جهاز VMware Virtual (من Linux)؟

StackOverflow https://stackoverflow.com/questions/540907

  •  22-08-2019
  •  | 
  •  

سؤال

لدي خادم VMware ESX. لدي Redhat VMS يعمل على هذا الخادم. أحتاج إلى طريقة لاختبار برمجيا إذا كنت أركض في VM. من الناحية المثالية، أود أن أعرف كيفية القيام بذلك من بيرل.

هل كانت مفيدة؟

المحلول

نصائح أخرى

يجب أن لا تعتمد 100٪ على أي طريقة، حيث إنها ميزات / أخطاء غير موثقة - أنها تعمل في بعض أشكال تشغيل مضيفة وبعض الحلول الافتراضية، ولكن لا يوجد أي ضمان سيستمرون في العمل؛ في الواقع، فإن النقطة الافتراضية بأكملها هي أن تكون غير قابلة للتمييز عن المعدن الحقيقي قدر الإمكان. مع هذا في الاعتبار، حبوب منع الحمل الزرقاء حبة (الذي هو مذكور في الإجابة المقبولة على هذا سؤال مماثل) يبدو أنه يعمل ... الآن.

برنامج VMware لديه زوجان من SDK، بما في ذلك SDK ل Perl..

أعتقد (اعتمادا على إصدار ESX) يمكنك التفتيش على عنوان MAC ل NIC. سيكون لدى VMS قيد التشغيل في VMware NIC سلسلة الشركة المصنعة المعينة إلى VMWare، لا Mac NIC Mac. (كنا نحاول محاكاة ساخرة نظام التشغيل Mac To VM، لن يسمح لك الإصدارات الأحدث بذلك بذلك.) أيضا، هذا لن يضمن أنك لا تعمل على صندوق بدني مع خداع NIC لتبدو وكأنها VMware، ولكن سيكون هذا أمرا غريبا في معظم الظروف على أي حال.

قم بتشغيل الأمر التالي:

lspci | grep VMware

يجب أن تظهر شيئا مثل هذا:

00: 0f.0 VGA وحدة تحكم متوافقة: VMware SVGA II محول

00: 11.0 PCI Bridge: VMWare PCI Bridge (Rev 02)

00: 15.0 PCI Bridge: VMWare PCI Express Port (Rev 01)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top