Linux dmidecode 检查系统是否在虚拟环境中

Linux dmidecode 检查系统是否在虚拟环境中

现今虚拟化的效率也相当的不错,没有特别的记录可能比较不易查觉目前远端登入的机器是实体还是虚拟环境,而 dmidecode 工具会根据SMBIOS标准转译BIOS的资讯,从转译的资讯中就能知道硬体资讯描述中是属于实体机器或是虚拟机,像厂牌、产品名称…等。

安装 dmidecode

dmidecode已经包含在套件中,依据你的平台进行安装:

Arch


sudo pacman -S dmidecode

Debian/Ubuntu/Mint


sudo apt-get install dmidecode

执行 dmidecode

安装完成后执行dmidecode并加入参数-s system-manufacturer


sudo dmidecode -s system-manufacturer

丹尼当时机器执行结果:


Acer

-s后所加入的是关键字,范例加入system-manufacturer指可以从dmidecode解译出来的资讯中抓取system-manufacturer, 这代表抓取此机器制造的厂商,像ASUSAcer…等,虚拟环境时则会回报虚拟环境所产生的资讯,像丹尼在虚拟机器中抓到的是:


VMware, Inc.

或者找寻关键字Product Name也能透过产品名称分辨:


sudo dmidecode | grep "Product Name"

执行结果:


Product Name: Aspire 1410 Product Name: JM11-MS

以上,利用此些方式抓取资料就能知道你所在的环境是否为虚拟环境。

参考资料