2015-04-19 82 views
0

我最近在VMware上安裝了一臺Ubuntu機器,我意識到Ubuntu內核檢測到它在虛擬機器上運行。這怎麼發生的? Ubuntu系統如何知道何時發出HyperCall以及何時發出要執行操作的系統調用?Ubuntu內核如何檢測其在虛擬機上運行?

+0

[從應用程序中檢測虛擬化操作系統?](http://stackoverflow.com/questions/154163/detect-virtualized-os-from-an-application)另請參見[如何以編程方式知道我是否我在虛擬機?](http://stackoverflow.com/q/15374154/464709)。 –

回答

0

不知道的系統,但我在我的許多腳本用來檢查度過我的機器是本機或虛擬環境上運行的是什麼命令「中的dmidecode」

您可以檢查此命令的輸出,例如:

[根@郵件服務器〜]#的dmidecode -t系統

的dmidecode 2.9

SMBIOS 2.31本。

手柄×0001,DMI 1型,25個字節

系統信息

製造商:VMware公司

產品名稱:VMware的虛擬平臺

版本:無

序列號:VMware-56 4d eb 70 28 36 a8 c0-08 bb 55 cf dc e6 4f 60

UUID:564DEB70-2836-A8C0-08BB-55CFDCE64F60

喚醒類型:電源開關

。 。 。 。 。 。 。 。 。 。

這裏的產品名稱會給你你需要的東西,我認爲系統也使用它作爲系統命令。