Comando para determinar se o Ubuntu está rodando em uma máquina virtual?

16

Existe algum comando ou ferramenta que possa ser usado para determinar se o Ubuntu está sendo executado como convidado dentro de um programa de virtualização, como o VirtualBox ou o Qemu, ou se está sendo executado no hardware?

    
por Nathan Osman 25.10.2011 / 20:03

3 respostas

15

virt-what é um script de shell que pode ser usado para detectar se o programa está sendo executado em uma máquina virtual.

O programa imprime uma lista de "fatos" sobre a máquina virtual, derivado da heurística. Um fato é impresso por linha.

Se nada for impresso e o script sair com o código 0 (sem erro), então pode significar qualquer que o programa está sendo executado em metal puro ou no programa está sendo executado dentro de um tipo de máquina virtual que não conhecemos ou que não conseguimos detectar.

RESUMO

sudo virt-what [facts]

FACTOS

hyperv
    This is Microsoft Hyper-V hypervisor.

kvm This guest is running on the KVM hypervisor using hardware
    acceleration.

    Note that if the hypervisor is using software acceleration you
    should *not* see this, but should see the "qemu" fact instead.

openvz
    The guest appears to be running inside an OpenVZ or Virtuozzo
    container.

qemu
    This is QEMU hypervisor using software emulation.

    Note that for KVM (hardware accelerated) guests you should *not* see
    this.

virt
    Some sort of virtualization appears to be present, but we are not
    sure what it is. In some very rare corner cases where we know that
    virtualization is hard to detect, we will try a timing attack to see
    if certain machine instructions are running much more slowly than
    they should be, which would indicate virtualization. In this case,
    the generic fact "virt" is printed.

virtualbox
    This is a VirtualBox guest.

virtualpc
    The guest appears to be running on Microsoft VirtualPC.

vmware
    The guest appears to be running on VMware hypervisor.

Desculpe, mas este é o seu GUY ....;)

    
por hhlp 25.10.2011 / 20:57
5

Execute lspci e verifique a string 'VirtualBox'.

Você pode executar lspci | grep VirtualBox

Você também pode executar lsusb e verificar a string 'VirtualBox'. Como lsusb | grep VirtualBox

Também dmesg funciona, execute dmesg | grep VirtualBox ou dmesg | grep virtual

    
por Anonymous 25.10.2011 / 20:15
3

imvirt (não instalado por padrão, mas disponível no repositório universe)

    
por Florian Diesch 25.10.2011 / 20:35