Хороший вопрос — является ли Lnux-система реальной железкой или выполняется в виртуальной машине? Для этого можно проверить вывод команды dmesg. Также можно также использовать команду dmidecode, для получения информации из системного BIOS. Далее примеры выполнения команд в разных средах виртуализации.

Как определить, что система запущена в внутри KVM?

$ dmesg | grep -i virtual 
[ 0.000000] DMI: Parallels Software International Inc. Parallels Virtual Platform/Parallels Virtual Platform, BIOS 6.12.26068.1232434 02/27/2017
[ 0.000000] Booting paravirtualized kernel on KVM
[ 1.301671] Performance Events: Haswell events, PMU not available due to virtualization, using software events only.
[ 6.911681] systemd[1]: Detected virtualization parallels.

Как определить, что система запущена в Xen?

$ dmesg | grep -i virtual
Xen virtual console successfully installed as xvc0

Как определить, что система запущена в внутри QEMU?

$ dmesg | grep -i virtual
CPU: AMD QEMU Virtual CPU version 0.9.1 stepping 03
$ dmidecode | egrep -i 'vendor' 
Vendor: QEMU

Как определить, что система запущена в VmWare?

$ dmesg | grep -i virtual  
VMware vmxnet virtual NIC driver         Vendor: VMware    Model: Virtual disk      Rev: 1.0  
hda: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive
$ dmidecode | egrep -i 'manufacturer|product'   
Manufacturer: VMware, Inc.       Product Name: VMware Virtual Platform

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *