Lately some people I know have been upgrading their PCs to Windows 7, and have trouble with dual booting it alongwith Linux based operating systems. I looked around and found a way that works. The problem lies in the way Windows 7 creates partitions. If you set aside say, 32000 MB to install the OS, it’ll create two partitions: one small partition (< 100 MB) for the boot manager (I guess this is taken from /boot partition of Linux distros) and another one with 31900 MB where the actual files are copied (In most PCs this is C:). I tackled this problem in my own way:
1. Boot up the system from a live Linux CD.
2. Create an NTFS partition in which you will install Windows 7, with enough space.
3. Create ext3/4 partitions for /, /boot and /home as you wish.
4. Create a swap partition if needed.
5. Now install Windows, choosing the NTFS partition.
6. Then install Linux, the usual way.
7. GRUB will automatically detect Windows 7, and add it up to the boot menu.
That’s it, and you’ve got a nice (but not fully free) dual boot PC running.
Note: I tested this for installing Fedora 12 and Debian 5 alongside Windows 7, and both attempts were successful. It works for openSUSE 11.2 as well.