the differences are quite fundamental.
p9p tries to add some plan9 bits like acme to other systems. when
there is a conflict or there's an abstraction the host can't handle,
it is not supported. so namespaces don't work. if you're looking
for a slightly nicer $os or $os with acme, this works fine. if you
want a plan 9 experience, you will be disappointed.
it's going to be tautology, but plan 9 in a vm box is exactly the same
code running the same way as plan 9 on real hardware, except the
hardware is virtual.
- erik