Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

Is there a way to know if the Windows machine I'm working on is virtual or physical? (I'm connecting with RDP to the machine. If it's a virtual machine it is working and handled by VMWare).

share|improve this question
1  
see also - stackoverflow.com/questions/779723/… –  warren Feb 3 '10 at 13:51
add comment

11 Answers

up vote 22 down vote accepted

If it's Windows, just have a look at the hardware screens. It'll have a billion and five VMWare-branded virtual devices.

share|improve this answer
    
Agreed. Since the OP mentioned RDP, it's most likely Windows, so there you go. –  mfinni Feb 3 '10 at 14:01
    
+1 for not assuming it's Linux like I did –  Matt Simmons Feb 3 '10 at 14:21
2  
Looking at drivers is also works for linux. lsmod would probably return the information that you need. –  Seamus Feb 3 '10 at 17:01
    
@Seamus: True enough! –  Oli Feb 4 '10 at 11:14
    
Correction: A billion and six. –  Yehaw Jun 19 at 13:50
add comment

In the CMD window type:

SYSTEMINFO

You will find a line with the following text (or similar):

System Manufacturer:       VMware, Inc.
System Model:              VMware Virtual Platform
share|improve this answer
add comment

If it's handled by VMware, it isn't too difficult at the present moment. This could change in the future.

# dmidecode -s system-manufacturer
VMware, Inc.
share|improve this answer
add comment

In Linux you can also use "virt-what". "virt-what - detect if we are running in a virtual machine".

share|improve this answer
add comment

If you are in Windows, as castrocra says, you can run the systeminfo command from inside a cmd shell, then look for the "BIOS Version".

These are probably real machines:

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

This, on the other hand, is almost certainly a virtual machine:

BIOS Version:              VMware, Inc. VMW71.00V.0.B64.1201040214, 04/01/2012
share|improve this answer
    
Modern hypervisors can supply arbitrary strings here, making this a not very reliable check. –  Michael Hampton Jul 4 at 18:03
add comment

On Windows, from CMD:

Systeminfo | findstr /i model

returns something like:

System Model:              VMware Virtual Platform
                           [01]: Intel64 Family 6 Model 26 Stepping 5 GenuineInt
share|improve this answer
add comment

for linux you type
dmesg |grep DMI

VIRTUAL HOST OUTPUT

[root@myhost ~]# dmesg |grep DMI
DMI 2.3 present.
DMI: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012

[root@myhost ~]# dmesg |grep -i virtual
DMI: Microsoft Corporation Virtual Machine/Virtual Machine, BIOS 090006 05/23/2012
Booting paravirtualized kernel on bare hardware
input: Macintosh mouse button emulation as /devices/virtual/input/input1
scsi 0:0:0:0: Direct-Access Msft Virtual Disk 1.0 PQ: 0 ANSI: 4
input: Microsoft Vmbus HID-compliant Mouse as /devices/virtual/input/input4


FOR PHYSICAL HOST EXAMPLE

[root@backdev1 ~]# dmesg |grep DMI
DMI 2.5 present.
DMI: IBM System x3650 M3 -[7945AC1]-/90Y4784, BIOS -[D6E153AUS-1.12]- 06/30/2011

share|improve this answer
add comment

If it's a Unix VM, use imvirt. It's a Perl script that detects VMWare, Xen, and several others.

share|improve this answer
add comment

You could try the "Host Detection" program.

share|improve this answer
add comment

I had the same question and found that there are a lot of processes running with "VM" in the name, for example VMWareTray.exe

share|improve this answer
5  
Yes, but only if the VMware tools package is installed. –  jscott Apr 20 '12 at 20:30
add comment

nbtstat -a The outcome will tell you as VMs have a speecific prefix which is 00-50-56-XX-XX-XX. There is also another prefix it uses but I can not remember at the top of my head but I recall Vcenter uses 00-50-56-XX-XX-XX so this ios the one I check only.

I think this is the best way, personally.

share|improve this answer
    
...except for when someone manually sets the MAC address to something else –  Rex Apr 10 at 18:17
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.