Well, I'm using a VM for several projects with Linux (including WEP and BealF) from time to time, especially since some of the projects' Linux apps are better optimized than the Windows ones.
I would like to help, but I'm still a beginner also. Even though I do that for several years now (and only sporadic), my knowledge is only enough to get BOINC running on the projects I need. So I don't think I'm fit enough to teach you to get a VM running with the conditions you set here, but I hope I can give at least a few tips for it:
Hard to tell what Linux distribution you should use. There are a lot out there and they all have different usability and difficulty as far as I know. Since most of them are free I would advise to try every possible distribution out and see which one fits you the best.
I tried several ones also, but ended up with
openSuse because I had an ex-team mate which had the same OS and was an expert in it, he taught the basics to me. But I would not recommend that to beginners, because I think it's not easy to handle (without help). Additionally, I never could get the GPU running under it (even with the help of my team mate), and I tried it on several versions from 10.2 up to 13.2 now. Fortunately I never needed the GPU under Linux.
While on the subject, I also would like to run Bitcoin Utopia in a VM,
...
Why do you want to run BU in a second VM? I don't think you need it, because the BOINC manager can control different accounts. You can let BU run under Windows under another account while your main account is not affected.
Besides: on BU every app for Linux also has a Windows one, so normally there would be no need to use Linux because of that. But it's your decision...
but not under my BOINC-wide user account.
Weird desire and somehow stupid from my POV (sorry), because there are two kind of stats now, but whatever.
I am interested in hearing what would be the effect of that on the main host machine running the rest of the ~50 projects, and how I would go about assigning resources to the VMs to allow them to do their job without stealing way too much from everything else, including other apps running under BOINC on the host machine that create their own VMs for their WUs.
Well, running a VM with a fully running OS and full loaded cores
does slow down the Windows environment - even if the cores are not used there is a slight sluggy behaviour. I'm not entirely sure if better and faster hardware can prevent it from happen completely, but I have two systems - one with better hardware than the other - and I tried different settings of the VirtualBox to see if it helps but there wasn't much effect, so I think it's not completely preventable.
From my POV it's also not recommendable to let the VM run the entire time, especially when you're working on the same system at the same time - not to speak of 2 VMs at the same time... *shudders by imagining it*
Another thing to consider is: the VM shouldn't get too less of hardware resources. While some of them are manageable from VirtualBox anytime the hard disk space available for the Linux OS must be set at the beginning (because it can't be changed afterwards). This shouldn't be too less - at least 10-12 GB, especially when you're thinking about using more projects on the VM give it some more.
When I let run my VM I stop most of the Windows BOINC cpu processes so that it doesn't interfere with it (except non-cpu and GPU projects) and let the VM have all the cores for the calculations. That gives the best results as far as I discovered. It's of course possible to delegate cores to the win-client and the VM client, I already tested that, but since it's (slightly) slowing down the win-client processes I normally don't do that.
That's what I can tell so far from my experiences.