"GRUB _" hang

recently i installed tumbleweed in dualboot with windows onto extended partition. bootloader installed on / partition. added entry in windows bootloader and when selected(good call, otherwise i wouldn’t boot), this invoked grub from / partition and this setup worked fine for a short time.

next time i booted up and something broke and i got only to “GRUB _” hang and only thing i could do was hard shutdown.

i could boot with install image on flashdisk with option “boot to linux system”, i tried grub2-install /dev/"(name of the partition / )" --force (because block stuff…) but no change, exactly same problem.

i have linux swap partition on same extended partion, so i resized it and made separate /boot partition, pointed yast gui bootloader configurator to it, pointed windows bootloader to it and reboted, hooray, it worked.

then i rebooted again and same “GRUB _” hanging there… i have no idea whats the problem and how to solve it, grub2-install is useless, yast bootloader gui same. i tried grub2-emu and got nothing helpful. any ideas where the problem might be or how to solve it?

Just a smidgen of additional info would help … such as:

fdisk -l
parted -l

Legacy boot or efi?

File systems?

MS-DOS or GPT partitioning?

sorry, here it is:
fdisk -l

Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x99f3445e

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
/dev/sda2 206848 209922047 209715200 100G 7 HPFS/NTFS/exFAT
/dev/sda3 209922048 850939903 641017856 305,7G 7 HPFS/NTFS/exFAT
/dev/sda4 850939904 976773119 125833216 60G f W95 Ext’d (LBA)
/dev/sda5 850941952 854090691 3148740 1,5G 82 Linux swap / Solaris
/dev/sda6 855158784 976752639 121593856 58G 83 Linux
/dev/sda7 854091776 855156735 1064960 520M 83 Linux

parted -l

Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system Flags
1 1049kB 106MB 105MB primary ntfs boot, type=07
2 106MB 107GB 107GB primary ntfs type=07
3 107GB 436GB 328GB primary ntfs type=07
4 436GB 500GB 64,4GB extended lba, type=0f
5 436GB 437GB 1612MB logical linux-swap(v1) type=82
7 437GB 438GB 545MB logical ext2 type=83
6 438GB 500GB 62,3GB logical ext4 type=83

boot partition is now on /sda7

Looks like MBR boot you need to set the boot flag to 5 now it is set to Windows ie 4 and you should have installed grub there also. It is best to leave MBR to generic code or just Windows

thanks for reply, but no. boot flag is on sda1, and boot to windows (sda2) works fine. I added entry in windows bootloader with bcdedit to point to sda7 (/boot) and the grub is loaded, up to a point when “GRUB _” hangs on screen and nothing happens until i do hard shutdown/restart.

Where did you install grub?? I don’t trust bcdedit much particularly when second OS lives in an extended. Windows never really supported that. Normal install should put grub on extended and normally you boot to grub which will chain to Windows. (assuming fast boot is off).

.

grub is on sda7 the /boot partition, strings used on 512b of this partition

# strings linux-sda7.bin 
ZRr=
`|f
\|f1
GRUB 
Geom
Hard Disk
Read
 Error

edit:
regarding the booting with windows bootloader first, i have not had too much problems with and i am using in on other machines without trouble( using this guide http://www.iceflatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/ )

ok, i take the “no trouble” part back. after zypper dup on another system(3 primary partitions windows bootloader, windows, linux) it broke there eirther. well that is unfortunate, probably nobody cares since this use-case is probably rather unusual.

so now that it is probable that something broke in recent updates, is there any way to track that down or repair grub? i still can boot (now on both systems) with usb flash using “boot to linux” option, but i would not mind having grub capable of boot.

edit:
sorry for spamming this thread, but i seem to be capable edit post only a short time after posting.

sorry for spamming this thread, but i seem to be capable edit post only a short time after posting.

That is normal about 5 min time out then it goes out to those that subscribe by email

Well since you can get to openSUSE go to Yast boot loader and force a reinstall by making a change (note you can change it back reason is to trick yast to writing the records). Note this will make grub the main boot controller. Note2 be sure to tick scan for foreign OS box in the boot loader screens to include Windows in menu. Also be sure that fast boot is off in Windows or it won’t work.

ok, good to know.

Thank you for suggestion. Unfortunately this is only workaround for something broken in (my) opensuse.

just to update, boot flag on /boot partition (be it primary or logical) makes grub2 work. so somehow it now breaks when grub2 is initialized(if that is the right verb for it) by windows bootloader, even though it used to work fine, well probably nobody cares about that.

ok, “solution” (seems to work so far, might break after some upgrades or not) - some update(or something else) changed something in the first 512b of /boot partition (or root partition when the /boot is not separated) and same 512 are supposed to be in file linux.bin used by windows. (this is covered in linked guide)

**creating new linux.bin helped. **

thanks everyone for help and suggestions.