I’ve run into the exact same situation with a ThinkPad T400.
I got a brand new T400 and my plan was to blow away the Windows XP on it, and replace it with opensuse 11.1.
First off, I didn’t read the release notes before begining the install - shame on me. So the install was set to autoconfig and picked the grub options for me.
For the partitioning, I choose to delete the WinXP partition, but to keep the hidden service partition alone so that I could recover if necessary.
Anyway, the install was going through fine until it was time to install grub. I got a message that an error occurred during boot loader install. After double-checking the grub options and retrying a couple of times, I still got nowhere.
I then looked at the yast logfile (y2log) to see what it was doing that made it unhappy. The actual error hit by yast appears to be with the /usr/lib/YaST/bin/tp_mbr script. It looks like this script is supposed to know about magic ThinkPad MBR’s and preserve the code that keeps the big blue button working.
The error message you see from that script in the log is:
/dev/sda: np tp mbr
Which it gets from this piece of code:
just a quick check
die "$disk: np tp mbr
" unless
$mbr[0x17b] == 0x50 &&
$mbr[0x17c] == 0xe4 &&
$mbr[0x17d] == 0x61 &&
$mbr[0x17e] == 0x24 &&
$old_mbr_sec > 1;
So it is looking for something specific in the mbr and when it doesn’t find it, it is very unhappy.
I tried hacking this script by bypassing this check. It got me around the yast failure, but still didn’t actually solve the problem, as I ended up with “Operating System Not Found” upon reboot.
It’s a good thing I left the service partition alone, because I was able to use the blue button to boot to there and it put WinXP back into place. I think I’m at factory defaults and ready to try more things.
Anyone have any suggestions?