Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know that from a design point of view, the idea of a virtual machine is that the entire system environment is replicated so that the virtual machine is in outward appearance a full machine, but my question is about practical implementations. Do the virtual machines we use today have the ability to realise they are virtual machines?

share|improve this question

closed as not a real question by Keltari, Xavierjazz, Kyle Jones, Canadian Luke, Tanner Faulkner Jan 26 '13 at 16:28

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

What? Is it virtually intelligent? – Xavierjazz Jan 26 '13 at 16:05
You might be asking the wrong question. Why would a VM want to know if it's virtualized? Are you talking about the programming side of things? Or whether you can – in theory – make a VM aware of its virtualization? – slhck Jan 26 '13 at 16:06
According to Sarah Connor, they did on August 29th 1997 at 2:14 AM – Keltari Jan 26 '13 at 16:09
Voted to close because the question makes no sense as it stands. Our machines and programs aren't self-aware yet, so they don't "know" if they are anything at all. Whether a program running on a particular virtual machine can detect whether the platform it's running on is virtual or not would be a more interesting and germane question for this site. – Kyle Jones Jan 26 '13 at 16:12
Don't get me wrong, but people are picking up "self-awareness" because you are literally asking if the virtual machines per se are aware of the fact that they are VMs. Maybe it's also a language problem. Your question also doesn't seem to be based on an actual problem you're facing. – slhck Jan 26 '13 at 16:26
up vote 4 down vote accepted

In theory, no.

Virtual machines are meant to be totally sandboxed and separated from the computer it runs within.

However, it is sometimes possible to abuse discontinuities in the virtual machine software itself to determine if a machine is running in a sandbox, as illustrated here (this is more programming related, but shows what I mean).

share|improve this answer
+1 Excellent answer. Great link to an interesting article explaining how VMs commmunicate with the host and how that can be detected. – Nicole Hamilton Jan 26 '13 at 18:43

I know this question will get closed, but Ill throw my 2 cents in.

Many virtual machine hosts present different BIOSs and provide drivers for different OS types. You could check for the existence of the BIOS and drivers and if they are in use.

However, you could fake their existence to give a false positive...

share|improve this answer
Cheers man! Could you tell me why you expect this to be closed though? I'm not sure what criteria the question is not meeting :) – Geesh_SO Jan 26 '13 at 16:21
It was a poorly written question. I took a stab as to what I think you were trying to ask. Even so, the question and answer isnt constructive. Although the answer is correct in some cases, its possible it might not stay correct. – Keltari Jan 26 '13 at 16:22
Hmm, I see. I'll try write questions with more clarity and purpose in the future. Ta mate! – Geesh_SO Jan 26 '13 at 16:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.