When you run an application in a virtual machine, there are several things going on at the same time. At the lowest level is the host – in our case, OS X. On top of that is the virtualization layer, Fusion. Then there’s the guest OS, and finally any applications you’re running in the guest. If you want to think about, troubleshoot, or simply appreciate virtualization, you need to think in layers.
Suppose you ran into a problem in iTunes – maybe a song skips every time it reaches 1:17. It wouldn’t make much sense to try to fix the problem in iChat. Similarly, if something’s wrong at one layer of a virtual environment (say in the guest OS), the first thing you should do is probably not to try to fix it in a completely different layer (say the host OS).
If some program is displaying a message and you’re not sure what it means, a good first step is to pay attention to where it comes from – does it look like something you expect to see in the host or the guest? If the message is from Fusion, does it specifically mention the host or the guest? For example, if a message refers to a C: drive, it’s probably not from OS X or Fusion. Conversely, if you’re in single window mode and get a message outside the console window, it’s probably not from the guest.
This isn’t to say the layer theory is completely perfect – it’s possible for problems in one layer to affect others. However, it’s a useful first step.