Windows 7-8 won't boot in a multiboot system

grub has only one entry for windows, that is "windows 8". If selected, then it present you with the choice of either window 7 or 8, like a normal windows dual boot.

$ sudo grep -A 20 -i windows /boot/grub/grub.cfg

menuentry 'Windows 8 (on /dev/sdd1)' --class windows --class os $menuentry_id_option 'osprober-chain-01CDF0CF02A4E570' {
	insmod part_msdos
	insmod ntfs
	set root='hd3,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd3,msdos1 --hint-efi=hd3,msdos1 --hint-baremetal=ahci3,msdos1  01CDF0CF02A4E570
	else
	  search --no-floppy --fs-uuid --set=root 01CDF0CF02A4E570
	fi
	parttool ${root} hidden-
	drivemap -s (hd0) ${root}
	chainloader +1
}
# Other OS found, undo autohiding of menu unless menu_auto_hide=2
if [ "${orig_timeout_style}" -a "${menu_auto_hide}" != "2" ]; then
  set timeout_style=${orig_timeout_style}
  set timeout=${orig_timeout}
fi
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###

@AgentS I think you are mixing things up. Windows partitions are on sdd not sdc and sdd1 is the correct windows system boot loader.

Selecting any sata ports on the same chipset has the same weight for any OS.

Your disks got renamed: Windows-Partitions are on sdc and Linuxes on sdb. sdd is a data drive.

Would also explain your/petsam's misunderstanding.

Have you done this?

1 Like

Both win installations?
Were they both in grub and in two menu options ever?

Maybe it was like this before. I don't know what is "normal windows dual boot". First time I hear that definition... I was never a win 7+ troubleshooter.

Still unanswered...

In linux drive letters change in several situations, so in order to have a common understanding, don't use drive letters for drive identification.

This (sdc1) is the windows "boot-loader" partition. The Label is not "nice", even if it 's not the problem (now), you'd better change it to remove special characters (parenthesis, spaces..).

After reading the nice Gentoo wiki, I suppose:

  • You have installed Widows 8 after Windows 7, so Win8 has taken over Win dual boot, using the 1st (107MB) partition as a "boot manager".
  • Grub has the ability to boot directly a windows system, but not two. It needs a special hack to hide one partition and make the partition intended to boot look like it's the first and only one (with drive/partition mapping)
  • Grub os-prober finds/recognizes the 1st partition as the "Win boot-loader" and (IMHO) successfully starts/passes control to. So, IMHO, it is a windows issue.
  • If you read about the grub method of re-mapping, or with @gohlip 's assistance, you might be able to boot to one or both windows systems.

grub> insmod ntfs
grub> search.file /bootmgr

Yes, 2 entries
hd2,msdos3 hd2,msdos1

Then

ntldr (hd2,msdos3)/bootmgr

lot of questions for you Dr.House !

Windows 8 always was the ONLY one in grub and it pass over the control to the windows boot manager on the usual mini partition (107 MB). Windows 8 was install after windows 7 and it control the booting of the later like when you do subsequent windows installation, so grub is correct. Both are working fine if booting from the windows hard drive.

I install recently a new SSD and tried to clone the windows hard drive to it that didn't work so I put everything back and set the SDD as a data drive for now (sda).

"/dev/sdc1: LABEL="RM-CM-)servM-CM-) au systM-CM-(me"
what is that thing ?

How can it be a windows issue if they both load fine if I set the bios to the windows drive.

petsam is that command (ntldr) something permanent ? I don't want to end up with a non bootable windows. I'll be in even more trouble.

Not permanent, you are using a (grub) terminal for troubleshooting/recovery.

This is an important/critical info that you forgot(?) to mention.
Explain more.
Cloning ?
Didn't work ???

As I said, I don't know how windows do this "dual-boot" thing.
Grub checks/uses UUIDs, so cloning needs to change UUID for one of the clones. IMPORTANT!!

Not enough, petsam;
You need more.

{or whatever the output is - if (hd3,msdos3) use (hd3,msdos3)
                           - if (hd2,msdos3) use (hd2,msdos3)}

OP is unconvinced drive changes with boots,
(hdx,2) boots windows 7
(hdx,3) boots windows 8

I guess OP is not convinced
& so I guess I'm not wanted here.
Good bye.

1 Like

@gohlip no drivemapping or unhide needed?
It seems this way of booting fails.

Funny things!...

Maybe the new grub (2.04) will fix all issues.. :laughing: until it is patched again from our devs :cry:

Ok tried that :
grub> set root=(hd2,msdos3)
grub> ntldr /bootmgr
grub> boot

Result --> Windows Boot Manager - windows fail to start file \boot\bcd error 0xblaba boot image for your PC is missing bla bla . No good.

Sorry if I hurt your "feelings" gohlip but I am trying to give everyone the info that I have. Don' t worry, I still love you :heart_eyes:

The cloning was simply to move the windows off the hard drive to the new SSD. I use the Macrium Reflect program. It clone alright but the SSD would not boot alone. The Linux drive was disconnected so it did not affect linux.

Anyway I think I'll leave it like that for now since I can access every OS one way or an other.

Thanks guys !

You are using chainloading.
I am using ntldr
drivemap is needed for chainload.
ntldr boots direct.

See this for more details, including multiboot command.

You have only one windows? snigger snigger :stuck_out_tongue_winking_eye:
no windows 7, windows 8 and windows 10?

Then try this from your grub prompt
(of course this is for bios-legacy only - other methods apply for uefi)

Oh,,, here is a link on same thing.

From grub prompt.

grub> search -f --set=root /bootmgr
grub> ntldr /bootmgr
grub> boot

Note you have to have "grub> boot"

In the menuentry, the entry (no 'boot')

menuentry "Windows " --class windows --class os {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1’
search --no-floppy --fs-uuid --set=root xxxxxxxxxxxxxx
ntldr /bootmgr
}
1 Like

Which means it has never booted successfully in the past, with this new drive setup.
You had been saying it booted. So,
it is a Windows issue, or a failed cloning, or whatever.
Something is wrong, but not Linux/grub.

Not so fast, I told you your device mapping changes with each boot.
One boot may be (hd2,3), the next can be (hd3,3) or (hd4,3) or .... if you have lots of drives.

You must use what the output is at each boot from
search.file /bootmbr

But you can use UUID regardless of the device mapping.
UUID don't change (except when you clone, you have same UUID :rofl: and the same problem :crazy_face: )

No worries, we need thick skins to be in this forum. And this from a respected and well liked manjaro moderator who is on leave preempting a mental breakdown. :joy:

Just kidding. He's just tired being with goats all day. Goats smell.

2 Likes

petsam, I would appreciate you are not treating me as a liar. The clone fail on the SSD but the HDD hasn't been modified and I still use it. It boot perfectly both windows versions. Please read what I post. It is a Linux problem.
Since this thread is not helpful any more. Like I said, I leave it like this since I can boot all OSes with the bios.
Tx

Sorry you think that. I think you misunderstand what I wrote.

"Drive setup" means all drives you have on your system.
So, I ask again.
Have those windows partitions (that are failing today to start from grub) ever succeeded booting from grub, while being in the drive setup that you have today (and post a parted -l with comments on which is which)?

It is a technical issue, not an opinion.
Whatever... my systems work fine...

As well they should, seeing as how you are an expert in this field.

The OP would be well advised to heed your advice.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by Bytemark