This is a common issue we are all having. Creating seperate vhd files for each different environment such as SharePoint, Biztalk, Backend servers (Exchange, SQL etc). We still need to create different vhd files for these but instead of having 30 GB per environment, we are going to create one base vhd and inherit others from them( like an OOP ;) ). So lets take windows server 2008 as main operating system. We are going to create one vhd file and install Windows 2008 Server into that one. So lets name it as BaseWin2008.vhd .For the rest we are going to create them as using BaseWin2008.vhd file as base file. So that new vhd will only save the difference. It is saving pretty GBs is not it :)
So here is the command to create a vhd from base vhd file.
create vdisk file=C:\SharePoint2010.vhd parent=C:\BaseWin2008.vhd
exit