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

以上,利用此些方式抓取資料就能知道你所在的環境是否為虛擬環境。

參考資料