If you have Windows 7/Vista and a couple of Linux distros installed on your PC/Laptop, managing the bootloader is important to keep it hassle-free on frequent OS updates / re-installation. Many times new installation would not recognize already installed OS, making things complicated. When dual/multi booting, I like to give the bootloader control to Windows 7 since it helps in Windows sleep or hibernation functionality (which I use a lot). The best (and easy) way I found to control this is by using the free software EasyBCD.
Good news is that it would not touch the MBR unless you specifically ask it to do, making it comparatively safe to do operations.
PART 1: Just a single OS, Windows 7, is installed; Need to install openSUSE 11.3
1) Windows 7 is installed on a 80 GB partition of a 1TB HDD. (C: partition); D: partition is 1TB minus 80 GB
2) Created a separate partition of 80 GB for Linux using another free (for home use) software Minitools Partirion Wizard Home Edition.
Now it is like this
Windows : 80 GB (NTFS file system)
Linux: 80 GB (EXT4 file system)
Remaining space for general use shared by both Windows and Linux (NTFS file system) : 1 TB - (80+80 GB)
3) Install openSUSE 11.3 Linux on that partion; using partions of
100 MB /boot;
53GB /home and
GRUB bootloader is installed on /boot partition of 100 MB.
Change the default openSUSE boot setting by asking it to boot from the boot partition
4) After successful installation, openSUSE 11.3 Linux GRUB would take over the windows bootloader. Open the file which contain the openSUSE 11.3 GRUB boot menu in /boot/grub/menu.list using a text editor and copy paste the content to the e-mail, then send it to yourself.
*(If no internet connection available on the new booted machine, mount the NTFS windows partition in read-write mode and copy the file to that windows readable partition. Check this reference link;
5) Boot to Windows 7 and install EasyBCD
Add New Entry > NeoGrub
This would create a file 'menu.lst' in C:\NST\
Open 'menu.lst' and copy paste the 'menu.lst' content (from '/boot/grub/menu.lst' copy-pasted to e-mail previously) to it and save
6) Now one more thing to do would be to enable windows partition as the main active partition overtaking the current main active Linux GRUB. For this go to Windows 7 control panel like this:
Control Panel> All Control Panel Items>Administrative Tools
Computer Management > Storage > Disc Management
Right click on (C:) partition and chose 'Make Partition as Active'
7) Reboot; Now the Windows bootloader should show up with two options; Windows 7 and Neo Grub; from NeoGrub openSUSE 11.3 would be accessible to boot.
PART 2: Windows 7 and openSUSE 11.3 is already installed; Need to install openSUSE 11.4 fresh, without affecting current working installations
After several months, new version openSUSE 11.4 released. Now you want to try it without affecting the current installation. The idea is to try and see if the new OS is stable. If it is stable and graphics/sound cards etc work well, it is safe eventually to move to the new OS. Then you have the latest OS to work with!
1) Current partition
Windows C:\ 80 GB +
openSUSE 11.3 80 GB
Created another partition of 80 GB using Minitools Partirion Wizard Home (in Windows).
2) Installed openSUSE 11.4 into the newly created partition;but now no sub-partition; all into 80 GB '/' sharing the 2GB '/swap' partition of the previous linux installation
3) Rebooted; New openSUSE 11.4 GRUB takes over the control (if the default openSUSE installation configuration is followed). Boot to the new openSUSE 11.4 and do the /boot/grub/menu.lst copy-paste-email as before
4) Reboot to windows through openSUSE 11.4 GRUB;
Append the new openSUSE 11.4 /boot/grub/menu.lst content to the NeoGrub bootloader menu file C:\NST\menu.lst;
Make C as Active Partition as before;
On reboot, again there would be the same two options; Windows and NeoGrub
If you chose NewGrub, both the Linux installation would be available; You can boot to whatever distro you want to.
This is my experience from just one machine; So let me tell you, YMMY
P.S: There are couple of other way to get this done too. By using this method (NeoGrub), multiple linux distros can be installed at any time. Just copy paste the /boot/grub/menu.lst content to the NeoGrub as done here after each install and make C as active
#To check the hard discs and partitions
sudo /sbin/fdisk -l
#To make a directory and mount a linux partition to that directory.
sudo mkdir /mnt/sda5mount
mount /dev/sda5 /mnt/sda5mount
#With this, the /boot partition of the second linux installed may be mounted to read the GRUB menu.list
#Mount points are stored in /etc/fstab (permanant) and /etc/mtab (on the fly); To see the mount points
#To see the current mounted HDD and partitions
Useful Links I came across during my research:
Inside the Linux boot process
HOWTO Restore GRUB
Making a Dedicated Grub Partition
Inside the Linux boot process
Working With The GRUB Menu
Repair your GRUB loader
Grub reads menu.lst from wrong partition
Modifying the menu.lst file in Ubuntu
Windows 7 Boot Manager deactivated because of OpenSUSE 11.3 installer
Triple boot with Windows and Ubuntu
Help With Triple Boot Install
How do I boot multiple linux disros with GRUB?
How does GRUB work with multiple linux distros ?
Multiple-boot Linux tips?