Descubra se o SO está sendo executado em um ambiente virtual

2

Existe alguma maneira de descobrir se o Linux que estou executando (realmente instalando) está sendo executado em uma máquina VMWare. Preciso desabilitar as configurações do ntp se a instalação automatizada for feita em uma máquina virtual, mas mantenha-as ativadas, se não. As ferramentas VMWare não são instaladas quando esta verificação é feita.

    
por Ulve 01.11.2010 / 17:05

4 respostas

7

Se a execução como root para usar dmidecode não funcionar para suas necessidades, tente lspci :

$ /sbin/lspci |grep VMware
00:0f.0 VGA compatible controller: VMware SVGA II Adapter

Você (provavelmente) não se importa particularmente com a placa de vídeo virtual, mas não encontrará essa resposta em hardware real, portanto, você pode usá-la como identificador.

    
por 01.11.2010 / 18:23
5

Eu costumo usar dmidecode para fazer exatamente isso (embora você precise ter acesso root para fazer isso). Procure a seção "BIOS Information", que normalmente terá os campos "Vendor" ou "Version" definidos como "VMWare", "VirtualBox" ou algo semelhante.

    
por 01.11.2010 / 17:18
1

Você não diz qual abordagem está usando para fazer isso, mas certamente pode faça isso em C.

    
por 01.11.2010 / 17:13
-1

Você pode verificar o endereço MAC ...

Quando instalado em uma VM, o endereço MAC está usando o formato de intervalo VMWARE.

    
por 26.10.2011 / 15:42