So, I need Windows for various classes, and I need Ubuntu for a couple of classes as well as the simulation work I’m doing at RoMeLa. Unfortunately, I don’t really like either of these operating systems, and prefer Arch Linux. The required steps for booting all three are something like this. I actually set this up a while ago, so I may accidentally leave some things out.
1. Install Windows.
2. Use a GParted LiveCD to repartition your hard drive.
2. (a) You’ll need to resize the larger NTFS partition to the size you’d like Windows to occupy
2. (b) Add at least two partitions for your linux root directories. Because this will be more than three partitions (disallowed by DOS partition tables), you’ll want to have an “extended" partition as the third one, and then the remaining partitions logically inside this extended partition.
2. (c) It is *possible* to share a home partition between the two linux distributions. I’m not sure whether I recommend this. It’s safe to assume that this isn’t going to work 100% perfectly. Different versions of software (for instance, different versions of GNOME) have different expectations about their config files. I especially had problems between Unity, Ubuntu’s desktop environment based on GNOME, and GNOME Shell in Arch. I solved this problem by using the tiling window manager wmii, and ensuring that both copies were the same version. However, there’s a lot of potential for mismatched versions across distributions, and you’ll have to solve these problems on a case-by-case basis.
2. (d) You might want a swap partition.
3. Install your first Linux distribution. In this case, I’d go with Ubuntu first, because the way it sets up booting is a little opaque, whereas it’s possible in Arch to really understand what’s going on under the hood.
4. Install the second Linux distribution.
5. Set up the bootloader. You can do this with a standalone tool like supergrub2disk, or with your operating system’s tools. I’d recommend GRUB2 and os-prober (be careful to mount all partitions beforehand. os-prober will see bootable Windows partitions that aren’t mounted, but not Linux partitions).
6. Hooray! Now go about complaining to everyone you meet about the idiotic n-boot setup you’re forced to use.