How many virtual machines run inside MS Windows?
The NT kernel does have sub-systems or did for DOS, Win32, POSIX, and OS/2. You might consider them to be a VM layer in that they are instantiated per process and provides a compatible binary API to the process so that it may run. Each of these sub-systems only maps the binary API for the process to the API of the kernel and as such they don't do much other than that. State pertaining to a sub-system is kept in the process's context.

See chapter 5 in Inside Windows NT (Helen Custer, 1993) for more.