I think I'm going to try to use Vagrant. And VMs really slow down the system, which is why I was thinking of getting a new OS. Dual booting is also not a great way of handling stuff. This is the first I've heard of Vagrant, so, I'll try that!
Creating a custom vagrant box is key since you get to put whatever you want on it and not have to rely on someone else's Vagrant base box. Then you can create VM's for different purposes like trying out a new framework or language or upgrades. You also can match it exactly to whatever VPS image you would use for production.