Comment savoir si je travaille ou non sur une machine virtuelle?


Réponses:


37

Si c'est Windows, il suffit de regarder les écrans de matériel. Il aura un milliard et cinq périphériques virtuels de marque VMWare.


D'accord. Depuis que l'OP a mentionné RDP, il est fort probable que Windows, alors voilà.
Mfinni

+1 pour ne pas supposer que c'est Linux comme je l'ai fait
Matt Simmons le

3
Regarder les pilotes fonctionne aussi pour Linux. lsmod vous renverrait probablement les informations dont vous avez besoin.
Seamus Connor le

@Seamus: C'est assez vrai!
Oli

3
Correction: Un milliard et six.
Get-HomeByFiveOClock

65

Dans la fenêtre CMD, tapez:

SYSTEMINFO

Vous trouverez une ligne avec le texte suivant (ou similaire):

System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform

3
Si vous utilisez Hyper V, vous obtenez: Fabricant du système: Microsoft Corporation Modèle du système: Machine virtuelle
Gayan Dasanayake

16

Si c'est géré par VMware, ce n'est pas trop difficile pour le moment. Cela pourrait changer à l'avenir.

# dmidecode -s system-manufacturer
VMware, Inc.

Je reçois 'dmidecode' non reconnu en tant que commande interne ou externe sur les VMs Windows 7 et 10 ESXi 6.0.
Andrew S

dmidecodeest une commande linux utilisée pour obtenir des informations sur le matériel. Cela ne fonctionne pas sous Windows.
Jaime

pour linuxOS, c’est la meilleure option pour détecter du matériel contre une machine virtuelle.
Satish


8

Sous Windows, à partir de CMD:

Systeminfo | findstr /i model

renvoie quelque chose comme:

System Model:              VMware Virtual Platform
                           [01]: Intel64 Family 6 Model 26 Stepping 5 GenuineInt

7

Sous Linux, lancez ceci:

$ dmesg |grep -i hypervisor
 Hypervisor detected: KVM

4
pour linux, vous tapez des dmesg |grep DMImachines virtuelles: [root @ myhost ~] # dmesg | grep DMI <br> DMI 2.3 present. DMI: machine virtuelle / machine virtuelle Microsoft Corporation, BIOS 090006 23/05/2012 [root @ myhost ~] # dmesg | grep -i DMI virtuel: machine virtuelle Microsoft Corporation / Machine virtuelle, BIOS 090006 05/23/2012 Amorçage du noyau paravirtualisé sur une entrée matérielle nue: émulation de bouton de souris Macintosh en tant que / devices / virtual / input / input1 scsi 0: 0: 0: 0: Disque virtuel MSFT à accès direct 1.0 PQ: 0 ANSI: 4 entrée: Microsoft Vmbus compatible HID Souris en tant que / devices / virtual / input / input4 Physique: [root @ backdev1
user215983 le

cela a fonctionné pour moi. dmidecoderetourné permission denied !.
Alok Mishra

4

Si vous êtes sous Windows, comme le dit castrocra , vous pouvez exécuter la systeminfocommande depuis un shell cmd , puis rechercher la "version du BIOS".

Ce sont probablement de vraies machines:

BIOS Version:              Dell Inc. A03, 06/12/2010
BIOS Version:              Phoenix Technologies, LTD MS7254 1.08, 08/03/2007

Ceci, par contre, est presque certainement une machine virtuelle :

BIOS Version:              VMware, Inc. VMW71.00V.0.B64.1201040214, 04/01/2012

1
Les hyperviseurs modernes peuvent fournir des chaînes arbitraires ici, ce qui en fait une vérification peu fiable.
Michael Hampton

2
Malheureusement, ce n'est pas fiable. J'utilise une machine virtuelle, mais mon BIOS s'affiche comme suit: "Phoenix Technologies LTD 6.00, 16.08.2013"
Gavin Ward

VMWare avecPhoenix Technologies LTD 6.00, 9/17/2015
Ravi Parekh

3

Il a été répondu, mais FWIW, vous pouvez le faire dans PowerShell:

gwmi -q "select * from win32_computersystem"

Le "Fabricant" sera "Microsoft Corporation" et le "Modèle" sera "Machine virtuelle" s'il s'agit d'une machine virtuelle. Sinon, il devrait afficher les détails habituels du fabricant, par exemple "Dell Inc.". et "PowerEdge R210 II" respectivement.


Marrant. Ma machine virtuelle Windows indique que le fabricant et le modèle sont tous deux des "bochs".
Michael Hampton

1
Ou dans cmd: wmic computersystem get manufacturer | find "VMware" && echo In VMWare || echo Not in VMWare. C'est plus rapide que les systeminfosolutions à base.
Atzz

@ MichaelHampton Utilisez-vous des ordinateurs virtuels? Quelle plate-forme - HyperV, VMWare ou autre chose? On dirait que la machine virtuelle est probablement exécutée dans un émulateur Bochs ou quelque chose comme ça.
Richard Hauer


0

S'il s'agit d'une machine virtuelle Unix, utilisez imvirt . C'est un script Perl qui détecte VMWare, Xen et plusieurs autres.


Il parle d'une machine virtuelle Windows, pas d'Unix
Mat le

0

Un moyen (relativement) simple de détecter les informations de virtualisation clés consiste à utiliser WMI / WBEM. Vous pouvez utiliser l'espace de noms racine \ CIM2 et accéder à la classe Baseboard (contenant des informations BIOS intéressantes) pour obtenir une description du système "physique". Cette classe comprend souvent des informations sur la carte mère et le châssis - fabricant, modèle, numéro de série, etc.

Exécutez la commande suivante à partir d'une invite de commande ou d'une session PowerShell:

wmic baseboard get manufacturer, product, Serialnumber, version

0

Encore plus simple - wmic / node: le bios récupère le numéro de série

Tout ce qui renvoie un numéro de série de style Dell est physique.

Il renverra également "VMware-42 22 26 a8 jj 6e e3 b3-2e 03 fc 2c 92 ae 2e 89", s'il s'agit d'une machine virtuelle.


-2

J'avais la même question et j'ai constaté qu'il y a beaucoup de processus en cours d'exécution avec "VM" dans le nom, par exemple VMWareTray.exe.


7
Oui, mais uniquement si le package d'outils VMware est installé.
Jscott

-2

nbtstat -a Le résultat vous indiquera que les ordinateurs virtuels ont un préfixe spécifique qui est 00-50-56-XX-XX-XX. Il utilise également un autre préfixe, mais je ne m'en souviens pas en tête, mais je me souviens que Vcenter utilise le code 00-50-56-XX-XX-XX, il s’agit donc de celui que je vérifie uniquement.

Je pense que c'est la meilleure façon, personnellement.


3
... sauf quand quelqu'un règle manuellement l'adresse MAC sur quelque chose d'autre
Rex

ou le clone à partir de matériel existant dans une situation PV
Rowan Hawkins
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.