I just installed Suse 11.1 on my Thinkpad X60s to dual boot with my existing XP installation. The Thinkpads have a special button (Thinkvantage button) for accessing the recovery partition during boot so the installation procedure had to be slightly different from the normal dual boot scenarios as I wanted to preserve that functionality.
I basically followed these instructions on the Thinkwiki site. Excerpt quoted below:
R&R version 4 bootloader seems to honor the active bit in the partition table. To install Linux while maintaining the R&R functionality is therefore rather straightforward:
Shrink the second Windows partition – or remove it if not needed
Add partitions for Linux (or other operating systems), one of them has to be a primary partition
since the R&R bootloader cannot boot from an extended one> - Install GRUB on the boot sector of the newly added primary partition
Remove the active bit from the Windows partition and activate the boot partition with GRUB
Everything went fine and the Thinkvantage button boots to the recovery partion no problem, Grub throws up the boot menu offering Suse and XP.
Now if I boot to Suse then all is fine but once I boot to XP the next time I boot, XP starts automatically and Grub doesn’t even come up.
I checked the partition tables and it seems that when XP boots it resets the flag to ‘boot’ on the XP partition despite me setting the /boot parton as boot and removing the boot flag from the XP partition.
With /boot partion set as active. This is how I have to set it to get Grub to come up. Suse will boot fine with this.
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xcccdcccd
Device Boot Start End Blocks Id System
/dev/sda1 1 16573 133122591 7 HPFS/NTFS
/dev/sda2 29777 30401 5019840 12 Compaq diagnostics
Partition 2 does not end on cylinder boundary.
/dev/sda3 * 16574 16604 249007+ 83 Linux
/dev/sda4 16605 29776 105804090 f W95 Ext'd (LBA)
/dev/sda5 16605 19214 20964793+ 83 Linux
/dev/sda6 19215 19475 2096451 82 Linux swap / Solaris
/dev/sda7 19476 27307 62910508+ 83 Linux
After XP has booted the table looks like this. The boot flag has been reset to the ntfs partion and Grub no longer comes up offering an OS option. It boots straight to XP.
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xcccdcccd
Device Boot Start End Blocks Id System
/dev/sda1 * 1 16573 133122591 7 HPFS/NTFS
/dev/sda2 29777 30401 5019840 12 Compaq diagnostics
Partition 2 does not end on cylinder boundary.
/dev/sda3 16574 16604 249007+ 83 Linux
/dev/sda4 16605 29776 105804090 f W95 Ext'd (LBA)
/dev/sda5 16605 19214 20964793+ 83 Linux
/dev/sda6 19215 19475 2096451 82 Linux swap / Solaris
/dev/sda7 19476 27307 62910508+ 83 Linux
Here is my Grub menu.lst
# Modified by YaST2. Last modification on Fri May 22 07:59:14 WEST 2009
default 0
timeout 5
gfxmenu (hd0,2)/message
##YaST - activate
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.7-9
root (hd0,2)
kernel /vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-Hitachi_HTS542525K9SA00_071007BB0F00WDGAHZXA-part5 resume=/dev/sda6 splash=silent showopts vga=0x317
initrd /initrd-2.6.27.7-9-pae
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.1 - 2.6.27.7-9
root (hd0,2)
kernel /vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-Hitachi_HTS542525K9SA00_071007BB0F00WDGAHZXA-part5 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x317
initrd /initrd-2.6.27.7-9-pae
###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows XP
map (hd0) (hd0)
map (hd0) (hd0)
rootnoverify (hd0,0)
makeactive
chainloader +1
I’m not too sure what is going on here, even though I have a Thinkpad myself. I have deleted all the windows stuff completely.
I can tell you there are issues with some Thinkpads openSUSE 11.1 Release Notes
I can also tell you, your partitioning is a bit of a mess too. Hopefully someone more knowledgeable will come in here - @swerdna maybe.
I think it’s just a case of the Grub setting the XP partion as active when you select XP as the OS to boot. Then when you come to reboot the XP partion is still left as active so Grub doesn’t get a chance to start up as /boot (the partition with Grub installed) is no longer the active partition.
I was just wondering if there was a way of resetting /boot as active again from within Grub althoug from a logic point of view I can’t see how because once Grub starts the OS then you’ve left Grub so no subsequent commands will run.
I found a very good article somewhere that went into detail about using Grub for multi booting but unfortunately I lost it and cannot find it with google anymore.
As a last resort, I can simply create an image file for the Grub boot config and insert it into the c drive on the XP partition and then use XP’s ntlr bootloader to boot and choose OS but that is a little messy so was trying to avoid that.
I don’t recall a need for sda1 to be made active if Grub points to it from sda3. I think Yast got confused by the wonky cylinder boundary on sda2.
Try this strategy: boot into openSUSE. Set sda1 active. Change the bootloader entry for windows to this:
###Don't change this comment - YaST2 identifier: Original name: windows###
title Bunch of Old Bolts
rootnoverify (hd0,0)
chainloader +1
Re-do the MBR by going to Yast → syatem → bootloader → the tab labelled “Bootloader configuration”. Set the dot in “Boot from the Master Boot Record”. Remove the dot from any other option (and tell us what you found there just for our interest.). Click the Bootloader Options button and remove the dot from “set active partition…” and/or “write generic code…” (but also tell us what you found).
Due to your wanting to keep the XP restore option, do not mess with the MBR boot code. The
Thinkvantage button usage is in the MBR boot code.
As swerdna posts remove the ‘make active’ from the XP boot option in the menu.lst. You will also need to make sda3 active with what ever software you have.
OK, I got it working it seems. The solution was staring me in my face and is quite obvious really. Thanks to swerdna for pointing it out
Change the bootloader entry for windows to this:
Code:
###Don’t change this comment - YaST2 identifier: Original name: windows###
title Bunch of Old Bolts
rootnoverify (hd0,0)
chainloader +1
I just removed the makeactive command from the XP boot line and left Grub in the /boot partition and set that as the active partition.
Now when I boot up after being in XP I get Grub come up again.
Here is what my grub.lst looks like.
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.7-9
root (hd0,2)
kernel /vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-Hitachi_HTS542525K9SA00_071007BB0F00WDGAHZXA-part5 resume=/dev/sda6 splash=silent showopts vga=0x317
initrd /initrd-2.6.27.7-9-pae
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.1 - 2.6.27.7-9
root (hd0,2)
kernel /vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-Hitachi_HTS542525K9SA00_071007BB0F00WDGAHZXA-part5 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x317
initrd /initrd-2.6.27.7-9-pae
###Don't change this comment - YaST2 identifier: Original name: windows###
title Windows XP
rootnoverify (hd0,0)
chainloader +1
When I have time later this weekend I’ll write up a quick how-to for dual booting a Thinkpad with XP and Suse whilst still retaining the Thinkvantage recovery button functionality and the rescue and recovery partion.