11.1 Boot Loader Install Problem

I am getting the following error…

Because of the partitioning, the boot loader cannot be installed properly.

Propose New Configuration doesn’t populate the Section Management table.

First time around the disk had Red Hat 7 on it. I let the setup choose what to do about partitioning; when it didn’t replace all partitions and when it came time to enter the boot loader settings it said there was an error!

I rebooted, removed all partitions and let the setup create new partitions. I got the same error.

The partitioning seems to be OK.

The hardware was all working with the old OS, there doesn’t seem anything untoward in /var/log/messages

TIA

There have been some quirks in YaST Boot Loader in 11.1, AFAIK fixed but would of course not be included with your media. I suggest we get it working from the command line. Do you have the DVD or a LiveCD?

Its the Live CD.

by default, 11.1 installs boot loader to the extended partition or not to the mbr, we can install the boot loader to mbr, by choosing the expert option, dont propose new configurations, and while installing the grub install it to mbr aswell as the to the root partition.

we can also repair the boot loader using the repair option in the installation disk.
regards

by default, 11.1 installs boot loader to the extended partition or not to the mbr, we can install the boot loader to mbr, by choosing the expert option, dont propose new configurations, and while installing the grub install it to mbr aswell as the to the root partition.

we can also repair the boot loader using the repair option in the installation disk.
regards

Boot the LiveCD, open a terminal, and do:

su -
fdisk -lu

That will report the partition table; post the output back here. From there we’ll determine how openSUSE tried (and failed) to install grub, and then get it working.

I’ve replaced the motherboard, reinstalled; and the problem went away.
Thanks for your help.

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 and upon restart a menu came up to choose which setting i wanted. it seems to be working so far.

I have a similar proplem.

I started because I deleted sda2 and resized sda1 to the free space. Thus sda3 which was the extended partition is now sda2. The boot loade was installed to sda3 which now does not exist anymore.

However installing grub fails. I can boot with the DVD into the installed system and can reinstall grub using yast2 without any warning or error - however there is no grub comming on reboot. It still boots into the Windows system!

Here the output of what I then tried from commandline. Any help is appreciated.

fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000bdc6e

Device Boot Start End Blocks Id System
/dev/sda1 * 1 26110 209728543 7 HPFS/NTFS
/dev/sda2 26111 60799 278639392+ 5 Extended
/dev/sda5 26111 26372 2104483+ 82 Linux swap / Solaris
/dev/sda6 26373 34205 62918541 83 Linux
/dev/sda7 34206 42038 62918541 83 Linux
/dev/sda8 42039 60799 150697701 83 Linux

Disk /dev/sdb: 400.1 GB, 400088457216 bytes
255 heads, 63 sectors/track, 48641 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0fdf0fde

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 10198 81915403+ 7 HPFS/NTFS
/dev/sdb2 10199 48641 308793397+ f W95 Ext’d (LBA)
/dev/sdb5 10199 10721 4200966 82 Linux swap / Solaris
/dev/sdb6 10722 14638 31463271 83 Linux
/dev/sdb7 14639 18555 31463271 83 Linux
/dev/sdb8 18556 26388 62918541 83 Linux
/dev/sdb9 26389 48641 178747191 83 Linux

grub-install /dev/sda

WARNING! You are trying to invoke the unsupported grub-install script
with a parameter. To really do this, call grub-install.unsupported.
You should rather call “yast2 bootloader” or create configuration files
appropriate for the intended target.

“yast2 bootloader” comes with this error message

Because of the paritioning the boot loader can not be installed properly

grub-install

GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,2) (hd0,5)
Checking if “/boot/grub/stage1” exists… yes
Checking if “/boot/grub/stage2” exists… yes
Checking if “/boot/grub/e2fs_stage1_5” exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0,2)”… failed (this is not fatal)
Running “embed /boot/grub/e2fs_stage1_5 (hd0,5)”… failed (this is not fatal)
Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,2) /boot/grub/stage2 p /boot/grub/menu.lst "… failed

Error 22: No such partition
grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,5)
Checking if “/boot/grub/stage1” exists… yes
Checking if “/boot/grub/stage2” exists… yes
Checking if “/boot/grub/e2fs_stage1_5” exists… yes
Running “embed /boot/grub/e2fs_stage1_5 (hd0,1)”… failed (this is not fatal)
Running “embed /boot/grub/e2fs_stage1_5 (hd0,5)”… failed (this is not fatal)
Running "install --force-lba --stage2=/boot/grub/stage2 /boot/grub/stage1 (hd0,1) /boot/grub/stage2 p /boot/grub/menu.lst "… succeeded
Done.
grub> quit

Here the device.map

linux:/boot/grub # cat device.map
(hd0) /dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755
(hd2) /dev/disk/by-id/ata-SAMSUNG_HD103SI_S1VSJ90SB05729
(hd1) /dev/disk/by-id/ata-SAMSUNG_HD401LJ_S0HVJ1GP403880

note that hd2 is currently not installed

menu.lst

linux:/boot/grub # cat menu.lst

Modified by YaST2. Last modification on So Feb 21 09:56:51 CET 2010

THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader

Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
##YaST - generic_mbr
gfxmenu (hd0,5)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: other###
title Windows 7
rootnoverify (hd0,0)
chainloader +1

###Don’t change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX
root (hd0,5)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6 noresume splash=silent quiet showopts vga=0x31b
initrd /boot/initrd

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – SUSE LINUX
root (hd0,5)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
initrd /boot/initrd

###Don’t change this comment - YaST2 identifier: Original name: other###
title Windows XP
rootnoverify (hd1,0)
chainloader +1

If I understand you correctly, the original sda3 extended does in fact still exist, it has just been renumbered; right?

It also appears that your previous boot setup had “generic” or the Windows boot code in the MBR (or you did a repair with W7 which reinstalled that code); that code simply looks for the active partition and transfers control to the code in the boot sector of that partition. Currently the active partition in sda1, which is why you are booting to the Windows menu. You may only need to do the following from the command line, which will switch the active partition flag to sda2:

sfdisk -A2 /dev/sda

It also appears that you may have used “grub-install” from the command line; if so, you don’t want to do that with openSUSE. The grub-install script that comes with the grub package is actually /usr/bin/grub-install.unsupported; that script attempts to guess the disk layout and is not as effective as openSUSE’s method. The openSUSE grub-install script actually just calls the grub shell with the “batch” command invoking the /etc/grub.conf file which is created by YaST. This should not be be confused with running the “install” command from within the grub shell; the shell install command is rather complex, and usually it is best to use the “setup” command where the shell will construct for you the “install” syntax and execute that. That is what appears to have been done in your second grub command construct, where the grub stage1 boot code was installed to the sda2 boot sector with a pointer to find grub’s stage2 and menu.lst under the /boot directory on sda6.

Give a try with the above command. If that doesn’t work, we’ll need to look again at /etc/grub.conf and dump the contents of the MBR and boot sectors to determine what is happening.

On 02/21/2010 03:56 AM, mattposp wrote:
>
> I have a similar proplem.
>
> I started because I deleted sda2 and resized sda1 to the free space.
> Thus sda3 which was the extended partition is now sda2. The boot loade
> was installed to sda3 which now does not exist anymore.
>
> However installing grub fails. I can boot with the DVD into the
> installed system and can reinstall grub using yast2 without any warning
> or error - however there is no grub comming on reboot. It still boots
> into the Windows system!
>
> Here the output of what I then tried from commandline. Any help is
> appreciated.
>
> fdisk -l
>>
>> Disk /dev/sda: 500.1 GB, 500107862016 bytes
>> 255 heads, 63 sectors/track, 60801 cylinders
>> Units = cylinders of 16065 * 512 = 8225280 bytes
>> Disk identifier: 0x000bdc6e
>>
>> Device Boot Start End Blocks Id System
>> /dev/sda1 * 1 26110 209728543 7 HPFS/NTFS
>> /dev/sda2 26111 60799 278639392+ 5 Extended
>> /dev/sda5 26111 26372 2104483+ 82 Linux swap /
>> Solaris
>> /dev/sda6 26373 34205 62918541 83 Linux
>> /dev/sda7 34206 42038 62918541 83 Linux
>> /dev/sda8 42039 60799 150697701 83 Linux
>>
>> Disk /dev/sdb: 400.1 GB, 400088457216 bytes
>> 255 heads, 63 sectors/track, 48641 cylinders
>> Units = cylinders of 16065 * 512 = 8225280 bytes
>> Disk identifier: 0x0fdf0fde
>>
>> Device Boot Start End Blocks Id System
>> /dev/sdb1 * 1 10198 81915403+ 7 HPFS/NTFS
>> /dev/sdb2 10199 48641 308793397+ f W95 Ext’d
>> (LBA)
>> /dev/sdb5 10199 10721 4200966 82 Linux swap /
>> Solaris
>> /dev/sdb6 10722 14638 31463271 83 Linux
>> /dev/sdb7 14639 18555 31463271 83 Linux
>> /dev/sdb8 18556 26388 62918541 83 Linux
>> /dev/sdb9 26389 48641 178747191 83 Linux
>>
>
> grub-install /dev/sda
>>
>> WARNING! You are trying to invoke the unsupported grub-install script
>> with a parameter. To really do this, call grub-install.unsupported.
>> You should rather call “yast2 bootloader” or create configuration
>> files
>> appropriate for the intended target.
>>
>
> “yast2 bootloader” comes with this error message
>> Because of the paritioning the boot loader can not be installed properly
>
> grub-install
>>
>> GNU GRUB version 0.97 (640K lower / 3072K upper memory)
>>
>> Minimal BASH-like line editing is supported. For the first word,
>> TAB
>> lists possible command completions. Anywhere else TAB lists the
>> possible
>> completions of a device/filename. ]
>> grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,2) (hd0,5)
>> Checking if “/boot/grub/stage1” exists… yes
>> Checking if “/boot/grub/stage2” exists… yes
>> Checking if “/boot/grub/e2fs_stage1_5” exists… yes
>> Running “embed /boot/grub/e2fs_stage1_5 (hd0,2)”… failed (this is
>> not fatal)
>> Running “embed /boot/grub/e2fs_stage1_5 (hd0,5)”… failed (this is
>> not fatal)
>> Running "install --force-lba --stage2=/boot/grub/stage2
>> /boot/grub/stage1 (hd0,2) /boot/grub/stage2 p /boot/grub/menu.lst "…
>> failed
>>
>> Error 22: No such partition
>> grub> setup --stage2=/boot/grub/stage2 --force-lba (hd0,1) (hd0,5)
>> Checking if “/boot/grub/stage1” exists… yes
>> Checking if “/boot/grub/stage2” exists… yes
>> Checking if “/boot/grub/e2fs_stage1_5” exists… yes
>> Running “embed /boot/grub/e2fs_stage1_5 (hd0,1)”… failed (this is
>> not fatal)
>> Running “embed /boot/grub/e2fs_stage1_5 (hd0,5)”… failed (this is
>> not fatal)
>> Running "install --force-lba --stage2=/boot/grub/stage2
>> /boot/grub/stage1 (hd0,1) /boot/grub/stage2 p /boot/grub/menu.lst "…
>> succeeded
>> Done.
>> grub> quit
>>
>
> Here the device.map
>>
>> linux:/boot/grub # cat device.map
>> (hd0) /dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755
>> (hd2) /dev/disk/by-id/ata-SAMSUNG_HD103SI_S1VSJ90SB05729
>> (hd1) /dev/disk/by-id/ata-SAMSUNG_HD401LJ_S0HVJ1GP403880
>>
> note that hd2 is currently not installed
>
> menu.lst
>>
>> linux:/boot/grub # cat menu.lst
>> # Modified by YaST2. Last modification on So Feb 21 09:56:51 CET 2010
>> # THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
>> # Configure custom boot parameters for updated kernels in
>> /etc/sysconfig/bootloader
>>
>> default 0
>> timeout 8
>> ##YaST - generic_mbr
>> gfxmenu (hd0,5)/boot/message
>> ##YaST - activate
>>
>> ###Don’t change this comment - YaST2 identifier: Original name:
>> other###
>> title Windows 7
>> rootnoverify (hd0,0)
>> chainloader +1
>>
>> ###Don’t change this comment - YaST2 identifier: Original name:
>> linux###
>> title SUSE LINUX
>> root (hd0,5)
>> kernel /boot/vmlinuz
>> root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6 noresume
>> splash=silent quiet showopts vga=0x31b
>> initrd /boot/initrd
>>
>> ###Don’t change this comment - YaST2 identifier: Original name:
>> failsafe###
>> title Failsafe – SUSE LINUX
>> root (hd0,5)
>> kernel /boot/vmlinuz
>> root=/dev/disk/by-id/ata-SAMSUNG_HD502HI_S1VZJ9AS904755-part6 showopts
>> apm=off noresume edd=off powersaved=off nohz=off highres=off
>> processor.max_cstate=1 x11failsafe
>> initrd /boot/initrd
>>
>> ###Don’t change this comment - YaST2 identifier: Original name:
>> other###
>> title Windows XP
>> rootnoverify (hd1,0)
>> chainloader +1
>>
>
>
This shouldn’t be that hard:

http://www.gnu.org/software/grub/manual/html_node/Installing-GRUB-natively.html#Installing-GRUB-natively

Boot to grub menu

Grub > find /boot/grub/stage1
Grub > grub setup hd0
or
Grub > grub setup (hd0,0)

@mattpost -

Definitely do NOT do “setup (hd0,0)”! That will over-write the Windows boot sector in the first partition; Windows 7 puts code in this sector (similar to grub’s stage1). Without that W7 will not boot, whether directly from the MBR or even if called by grub (i.e., chainloading). And reinstalling the W7 partition boot sector requires either a W7 recovery disk (usually not provided by the manufacturer, but downloadable) or W7 retail media.

“Setup (hd0)” will install grub stage1 to the MBR with a pointer to the stage2 boot partition. If you want to do this, you should use “setup (hd0) (hd0,5)” or preceed the setup command with “root (hd0,5)” otherwise grub must guess where stage2 is. However, this is not necessary if you have already installed stage1 to the sda2 boot sector (which it appears was done). The safest method (i.e., you can always fall back to booting Windows) is to leave the MBR code alone and just change the active flag, as previously recommended. Also note that W7 sometimes uses the MBR disk signature bytes located between the bootstrap code and the partition table - if grub is written to the MBR this can cause a problem, in particular, if using BitLocker this could result in W7 being unable to access the disk.

Thank you very much. That activated grub on startup.

You’re welcome. Glad that the fix was a simple one. :wink: