Is there a way that you can move an Ubuntu install to its own folder in a partition? If so, what settings do I have to change? (I imagine I would have to change grub settings and /etc/fstab.)
I'm asking this question because I was using BTRfs and its multiple subvolumes feature to boot about 5 different distros. I had enough room to do this on my disk because the filesystem made it so that the free space was shared unlike partitions. But the problem is that BTRfs is very slow on Ubuntu. It could take as much as 10 minutes for Ubuntu to boot. I would like to make one big ext4 filesystem and then make folders like /Ubuntu10.10, /Mint10.10, /OpenSuse, /Arch, /Fedora16, etc and boot from them. After seeing how flexible Linux is with the boot options when I was setting up the BTRfs setup, I'm suspecting there is a way to do this.
Edit about virtualization: I don't want to do Virutalization because of the performance hit involved-I only have 1.5 G of ram, and Ubuntu does a pretty good job of using that without virtualizing anything. The other problem is that if delete something on a VM, then it does not free the space in the image. Plus, you don't get things like graphical acceleration easily with VMs.
Also, I recently set up LUKS (Linux's disk encryption) on another system and it seems like there it is actually possible to do a fair amount from the initial image before you mount the root filesystem. (I saw a howto that set up a ssh server in that image, so you could remote in and type the key so the system could be booted remotely). The other reason I think this must be possible is that somehow the LiveCD's mount the CD's filesystem, make a RAM filesystem, and then make a AUFS filesystem from the two, and then mount the AUFS filesystem as the root. I'm thinking that if you can read filesystems without having the root filesystem in place, then can't you just read the one ext4 filesystem and then make a bind mount from /Ubuntu10.10 to / and use that?