
Есть ли способ узнать, запущена ли ОС (Linux) внутри гостевой ОС KVM?
решение1
Grep dmesg
, должна быть хотя бы одна строка, содержащая kvm
. На моих машинах:
[ 0.000000] kvm-clock: cpu 0, msr 0:5dd801, boot clock
[ 0.000000] kvm-clock: cpu 0, msr 0:1023801, primary cpu clock
Альтернативно проверьте /proc/cpuinfo
, содержит ли он строку:
model name : QEMU Virtual CPU version 0.9.1
Но проблема в том, что вы не можете быть уверены, являетесь ли вы гостем KVM (поверх QEMU) или только гостем QEMU.
решение2
решение3
systemd-detect-virt
возвращается наэта настройка Ubuntu 18.04 KVM:
kvm
и на моем хосте:
none
Смотрите также:https://unix.stackexchange.com/questions/89714/легкий-способ-определить-технологию-виртуализации
Протестировано на хосте Ubuntu 18.04.
решение4
Другая возможность —dmidecode -s 'system-product-name'
[samveen@vm1 ~]$ sudo dmidecode -s 'system-product-name'
KVM