[英]How can I tell if I'm running in a VMWARE virtual machine (from linux)?
我有一台VMWARE ESX服務器。 我在該服務器上運行Redhat VM。 如果我在VM中運行,我需要一種以編程方式測試的方法。 理想情況下,我想知道如何從Perl中做到這一點。
請參閱“ 從應用程序中檢測虛擬化操作系統? ”的答案。
我認為(取決於esx的版本)您可以檢查NIC的MAC地址。 在VMWare NIC中運行的VM將具有分配給VMWare的制造商字符串,而不是物理NIC MAC。 (我們試圖將MAC欺騙到VM作為許可證服務器,而較新的版本將不允許您這樣做。)此外,這並不能保證您不會在物理盒上運行,其中NIC被欺騙,看起來像VMWare,但無論如何,這在大多數情況下都是一件奇怪的事情。
運行以下命令:
lspci | grep VMware
它應該顯示如下:
00:0f.0 VGA兼容控制器:VMware SVGA II適配器
00:11.0 PCI橋:VMware PCI橋(轉02)
00:15.0 PCI橋:VMware PCI Express根端口(rev 01)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.