Bug 450963

Summary: grub installed in MBR and broke the system, instead of installing it to root partition
Product: [openSUSE] openSUSE 11.1 Reporter: J. Daniel Schmidt <jdsn>
Component: BootloaderAssignee: Jiri Srain <jsrain>
Status: RESOLVED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Blocker    
Priority: P5 - None CC: andrea
Version: RC 2   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: y2logw
y2logs of this issue

Description J. Daniel Schmidt 2008-12-02 16:39:17 UTC
I inststalled openSUSE 11.1 RC2 via HTTP and selected to install the bootloader into the root partion (/dev/sda10).

When the system rebooted after first stage the system was not able to boot any more: "No operating system found". The MBR (of /dev/sda itself!) was altered.

With the rescue system I created a copy of the current MBR and reapplied the saved original "backup_mbr" and could then start the second stage. These MBRs differ.

I will attach the yast2 logs, see at timestamp "2008-12-02 09:38:05".

Please tell me if I should attach the two MBRs as well.
I don't know if this is a duplicate of or related to bug #450268.
Comment 1 J. Daniel Schmidt 2008-12-02 16:40:45 UTC
Created attachment 257327 [details]
y2logw
Comment 2 Stephan Kulow 2008-12-02 19:55:48 UTC
rather #450137
Comment 3 Stephan Kulow 2008-12-02 19:57:09 UTC
please note that the fix for it is not in RC2
Comment 4 Jiri Srain 2008-12-03 09:33:14 UTC
The attached tarball does not contain YaST logs or any other useful information. Anyway,

- if you install bootloader to a logical partition, it cannot be loaded out of the box from principle. You need to configure other system's loader to chainload it to boot and of course ensure that other system's loader is not affected

- YaST (but for some exceptions, e.g. Vista or ThinkPads) always writes generic bootloader code to MBR by default, which probably happened to you (if there is some mess there, system cannot boot otherwise). If you want to keep MBR in other situations, you need to ensure it is not affected (but then your system may not boot out of the box), there is a check box to enable/disable writing generic code to MBR.

According to the scenarios document, your scenario (GRUB to a logical partition) is not supported and is not supposed to work out of the box.
Comment 5 andrea florio 2008-12-03 12:30:22 UTC
i think a new bug, borning from merge of that one and bug #450268 should be created... in both case infact a BROKEN MBR is write
Comment 6 J. Daniel Schmidt 2008-12-03 13:45:11 UTC
Created attachment 257704 [details]
y2logs of this issue

Sorry for the wrong logs, I don't know how they mixed up.
These are the logs documenting this issue.

And to clarify it:
The MBR already  has a grub installed and chainloaded all other 9 distributions correctly. This worked fine for all Beta versions of openSUSE 11.1 (and previous version and SLE products :) )

I always selected to install grub to the root partition, and the MBR was _never_ touched, but with RC2 it was - thats what I wanted to report.



> YaST always writes generic bootloader code to MBR by default, which probably
> happened to you (if there is some mess there, system cannot boot otherwise)

Even if I select not to do it, as I wanted to keep my MBR?

> If you want to keep MBR in other situations, you need to ensure it is 
> not affected 

How? In the installation I selected to write grub to the root partition and not to the MBR. This was sufficient for all previous releases. How to it now?

> (but then your system may not boot out of the box)

Well, it did, because I know the current MBR is correct (thats why I wanted to keep it). And after I replayed the "backup_mbr" it works again.


> there is a check box to enable/disable writing generic code to MBR

> According to the scenarios document, your scenario (GRUB to a logical
> partition) is not supported and is not supposed to work out of the box.

I am not complaining that it does not work out of the box. I wanted to point out that the MBR was changed even though I selected _not_ to do it.

I did another test with RC2 to see if it is reproducable - it is! So I reopen this bug.
Comment 7 J. Daniel Schmidt 2008-12-03 13:45:55 UTC
I did another test with RC2 to see if it is reproducable - it is! 
So I reopen this bug.
Comment 8 Jiri Srain 2008-12-03 15:14:45 UTC
Did you uncheck the "Write generic boot code to MBR" check box in the "Boot loader options"?

Yes, we changed the behavior to write generic code to MBR in more cases than we did in the past duting Beta phase, because some systems failed to boot. Anyway, if there was GRUB found, it was always written by default.

Saying to install GRUB to boot sector of any partition is not sufficient to be sure MBR keeps untouched (and never was).

If installer sees GRUB in MBR, it cannot know whether you have sufficient environment to boot the system or this is a relic of some previous installation.
Comment 9 J. Daniel Schmidt 2008-12-03 16:29:56 UTC
(In reply to comment #8 from Jiri Srain)
> Did you uncheck the "Write generic boot code to MBR" check box in the "Boot
> loader options"?

Thanks for the hint - I found the option. With this checkbox unset now the MBR is kept untouched.