Thinkpad won't boot with 11.1

I went back and re-installed the boot loader, and checked “Load from MBR” and unchecked “Load from Extended partition”. I think that seems to have worked.

Except now my Windows partition is hooped (again). Did I overwrite part of the NTFS partition with the bootloader by accident?? Not another Vista install!

Give us the result of a su terminal:

fdisk -l

and the contents of

/boot/grub/menu.lst

OK, re-installed Windows again…

Just for anyone else who reads this, when I installed Vista again, I got:
“Windows setup could not configure windows to run on this hardware” at the last stage of installation.

It seems I should have checked “Load from ROOT partition” instead of using the MBR. After trying 3 times, I finally changed the boot loader to use the Root partition, and it seems to have worked.

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?

Sorry to hear of your problems, silacci.

The best that I can suggest is to try what worked for me, as described above: install 11.0, then do an upgrade (not a clean install) to 11.1 It’s tedious and ugly, but it did work for me.

Did you keep the service partition when you did that install? Does the blue button still work to boot you into that partition?

For what it is worth, here’s the output from y2log that shows the error that yast encountered:

2009-01-23 06:02:47 <1> linux(3471) [YCP] Bootloader.ycp:715 Calling bootloader executable
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:327 Updating disk system area, activate partition: true, install generic boot code in MBR: false
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:335 Doing MBR backup: MBR Disk: /dev/sda, loader devices: “/dev/sda3”]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lilolike.ycp:390 Partitions building /dev/sda3: $]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:174 Partition for activating: $“dev”:"/dev/sda3", “mbr”:"/dev/sda", “num”:3]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:340 Creating backup of boot sectors of “/dev/sda”, “/dev/sda3”]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lilolike.ycp:390 Partitions building /dev/sda3: $]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:174 Partition for activating: $“dev”:"/dev/sda3", “mbr”:"/dev/sda", “num”:3]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:385 Activating partition 3 on /dev/sda
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:399 Running command /usr/sbin/parted -s /dev/sda set 3 boot on
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/grub/misc.ycp:402 Command output: $“exit”:0, “stderr”:"", “stdout”:""]
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lib_iface.ycp:351 Updating bootloader configuration
2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2SystemFunction.cc(useRemote):129 ‘updateBootloader’: switched to remote
2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2StdioFunction.cc(evaluateCall):137 Evaluating remote call to ‘Bootloader_API::updateBootloader’
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lib_iface.ycp:353 return value from updateBootloader: true
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/misc.ycp:1142 Installing to floppy: false
2009-01-23 06:02:47 <1> linux(3471) [YCP] bootloader/routines/lib_iface.ycp:383 Initializing bootloader
2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2SystemFunction.cc(useRemote):129 ‘initializeBootloader’: switched to remote
2009-01-23 06:02:47 <1> linux(3471) [wfm] Y2StdioFunction.cc(evaluateCall):137 Evaluating remote call to ‘Bootloader_API::initializeBootloader’
2009-01-23 06:02:48 <1> linux(3471) [YCP] BootGRUB.ycp:748 GRUB return value: true
2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/misc.ycp:1142 Installing to floppy: false
2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/i386.ycp:105 MBR of /dev/sda contains ThinkPad sequence: true
2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/i386.ycp:197 Running command /usr/lib/YaST2/bin/tp_mbr /dev/sda
2009-01-23 06:02:48 <1> linux(3471) [YCP] bootloader/routines/i386.ycp:200 Command output: $“exit”:255, “stderr”:"/dev/sda: np tp mbr
“, “stdout”:”"]
2009-01-23 06:02:48 <3> linux(3471) [YCP] Bootloader.ycp:720 Installing bootloader failed
2009-01-23 06:02:48 <1> linux(3471) [ui] YPushButton.cc(setFunctionKey):160 Guessing button role YOKButton for YPushButton “Yes” at 0x2ff59e8 from function key F10
2009-01-23 06:02:48 <1> linux(3471) [ui] YPushButton.cc(setFunctionKey):160 Guessing button role YCancelButton for YPushButton “No” at 0x1378558 from function key F9

Sorry for the slow reply. Yes, I kept the service partition. But no, the blue button doesn’t give me the option of booting into it. :frowning:

Well, I tried lots of options now, including writing generic code into the MBR. The install still gives errors, but I’ve now got it booting.

The blue button won’t boot me to the service partition, but at least I can boot there via grub. :slight_smile:

Oh, by the way, there’s been a bug opened for this:

https://bugzilla.novell.com/show_bug.cgi?id=464485

Thanks for the help!

Well done! :slight_smile: But it shouldn’t be such a struggle to get there. :frowning:

How did you manage that? Grub doesn’t offer me that option, neither now nor in my first install of 11.0 when the Thinkpad was new last summer. :frowning:

Well, I just made sure that I did not delete the service partition when I was in the partition editor, and then by default grub added it to the boot menu list.

Grub calls it “windows” which makes sense, because it is a version of windows that the service partition software runs on. I just renamed the menu item so it was clear what I was booting from.

Here’s how I chose to slice up the disk:

/sbin/fdisk -l /dev/sda

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xfb73fb73

Device Boot Start End Blocks Id System
/dev/sda1 1 262 2104483+ 82 Linux swap / Solaris
/dev/sda2 18848 19458 4896768 c W95 FAT32 (LBA)
Partition 2 does not end on cylinder boundary.
/dev/sda3 * 263 18847 149284012+ 83 Linux

Partition table entries are not in disk order

And here’s what the menu.lst item is for the partition:

###Don’t change this comment - YaST2 identifier: Original name: windows###
title Service Partition
rootnoverify (hd0,1)
chainloader +1

I’ve had similar boot loader issues. Its related to my lenovo thinkpad.

I solved it (i think) by using the DVD to do an expert repair of the boot loader (a reinstall of the boot loader actually) and upon restart a menu came up to choose which setting i wanted. it seems to be working so far.