On 08/24/2009 09:34 PM, Hans de Faber wrote:
josef reidinger schreef:
Hans de Faber napsal(a):
Josef Reidinger schreef:
On 08/24/2009 02:45 PM, Hans de Faber wrote:
Hi listmates,
Since I installed some milestones I can no longer boot the partition I want. I wanted to the view the progression in OpenSuse and I had a free partition so lets have a look. My separate boot-partition is part2 the free partition was partition 3. I installed on part3 milestone 6 with its own boot directory in the rootdir.
Now my system boots always from part 3 and I can't change that. So I start reading http://en.opensuse.org/Bugs/grub
I discovered that I have a generic MBR The doc above tells me: any generic MBR will load a stage1 from the first block of a primary partition marked as "active" or "bootable", as long as there is exactly one such primary partition.
Parted shows me:
Number Start End Size Type File system Flags 1 32.3kB 26.8GB 26.8GB primary ntfs , , , , , , , , , type=07, , 2 26.8GB 27.1GB 206MB primary ext3 boot, , , , , , , , , type=83, , 3 27.1GB 53.9GB 26.8GB primary ext3 , , , , , , , , , type=83, , That partition 2 has the bootflag.
Thats nice and correct, next step is menu.lst on part2. ##YaST - generic_mbr gfxmenu (hd0,1)/boot/message ##YaST - activate This tells me the gfxmenu comes from hd0,1 thats also correct.
But then things go wrong, I get the menu of part3 hd0,2.
Questions:
1 how is this possible ? 2 How can I set the boot back to partition 2
All idea's are welcome, hans Important question is what you have in MBR, as you can have there grub MBR which load menu from sda3. I develop possibility to check it. Just run update-bootloader --examinembr /dev/sda and you get what is in your MBR. NOTE: this is undocumented function, but I try fix it if problem occur (it is same functionality which uses yasy2-bootloader to detect previous MBR).
Thats a hint in the right direction but it doen't work
update-bootloader --examinembr /dev/sda Unknown option: examinembr Usage: update-bootloader [operation] [options]
operation is one of --add, --remove or --refresh.
valid options are --help, --man, --image <file>, --initrd <file>, --xen-kernel <file>, --xen, --default, --previous, --name <string>, --force, --force-default.
Maybe misses yast also this functionality! Its the first time I have this problem. This perl update_bootloader module is very recent.
I am sure, that yast doesn't miss this functionality as we replace it and by dependencies ensure it work. What version of perl-Bootloader do you have? (rpm -q perl-Bootloader). If you want just send me your first 512 bytes of disc and I analyse it. (dd if=/dev/sda of=<somefile> bs=512 count=1)
$ rpm -q perl-Bootloader perl-Bootloader-0.4.81.1-0.1.1
For MBR see attachement
OK, your MBR looks like generic. What is strange is why you have in milestone 6 pbl(perl-Bootloader) 0.4.81.1 which is opensuse 11.1 pbl. In milestone 6 should be pbl 0.5.*. So boot sequence go to sda2...and there maybe load bad menu.lst. This will require more testing. So what you can do now is edit menu on sda3 (e.g. by yast2 bootloader) and add chainload section to sda2, which add entry to new menu that jump to sda2 disc. another chance is menuconfig section which directly load menu.lst from target partition (just ensure, that your path is relative to partition). For dubuging please post menu.lst from sda2 (just mount it under some temporary directory) and fstab from sda3. -- Josef Reidinger YaST team maintainer of perl-Bootloader, YaST2-Repair, webyast modules language and time -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org