Currently my system needs a major reinstall. Running an ever slowing down Windows Vista it's time to do a format c: and start over. Since I don't want to re-install Windows Vista as my main OS and I don't want to buy a Windows 7 license I'm considering something else.
One of the biggest problems I currently encounter is pollution. As a software developer (java web apps) I experiment with a lot of tools, database systems, application servers, etc. Also, I'm very curious and try out a lot of other software. Needless to say, in the long run my PC starts to suffer from it.
Also, I use my PC for photo and video editing.
What I'm considering is configuring my system with various virtual machines, one for every task I use my PC for, a couple as test machines (for my development work) and sandbox VM's. So, in that case I would install a very lightweight Linux as main OS (maybe try my first LFS to keep it as small as possible) with only a web browser installed and VirtualBox. For every task I need my PC for I would create a VM which I can start depending on what I want to do.
What I'm worried about: how workable is this? Is the performance of VirtualBox VM's good enough to do this? I would accept a slight reduction in performance compared to running an OS native, but not too much. Also, especially for the photo and video editing, how is the hardware support? Will I be able to watch a video in full HD and connect my camera? I currently have a single screen setup, but I'm considering an upgrade; will this work with a dual screen setup? In the end, I would like to work on the VM's as if they were my main OS.
So, what do you think? Is this a feasible option?
BTW: I also considered some other options, but they didn't feel right:
Install a full blown OS (Linux) for all my tasks and only use VM's for test environments and for sand-boxing.
- I probably need a Windows VM for some tools anyway and I fear performance of the VM will drop when ran in a full blown host OS using up quite some resources
Install multiple OSes (dual/triple/etc boot) and use VM's for test environments and for sandboxing
- I don't like rebooting when I want to switch tasks.