dual boot with windows 7 (MBR)

on my HDD GPT partition don't have any installation setup problem (/boot/efi mount point)
but in new SSD MBR partition win 7 can't load (don't see any error just black screen)
(Grub recognized win7)

[fla5@fla5-pc ~]$ sudo fdisk -l
[sudo] password for fla5: 
Disk /dev/sda: 111.81 GiB, 120034123776 bytes, 234441648 sectors
Disk model: ADATA SU650     
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: 0xc7f3b050

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048  62916607  62914560   30G  7 HPFS/NTFS/exFAT
/dev/sda2        62918593 234438655 171520063 81.8G  f W95 Ext'd (LBA)
/dev/sda5        62918656 125833215  62914560   30G 83 Linux
/dev/sda6       125835264 234438655 108603392 51.8G 83 Linux
[fla5@fla5-pc ~]$ inxi -Fxzc0
System:
  Host: fla5-pc Kernel: 4.19.66-1-MANJARO x86_64 bits: 64 compiler: gcc 
  v: 9.1.0 Desktop: KDE Plasma 5.16.4 Distro: Manjaro Linux 
Machine:
  Type: Laptop System: Micro-Star product: CX61 2PC v: REV:1.0 
  serial: <filter> 
  Mobo: Micro-Star model: MS-16GD v: REV:1.0 serial: <filter> 
  BIOS: American Megatrends v: E16GDIMS.50N date: 03/25/2014 
CPU:
  Topology: Dual Core model: Intel Core i5-4210M bits: 64 type: MT MCP 
  arch: Haswell rev: 3 L2 cache: 3072 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 20762 
  Speed: 798 MHz min/max: 800/3200 MHz Core speeds (MHz): 1: 798 2: 798 
  3: 798 4: 799 
Graphics:
  Device-1: Intel 4th Gen Core Processor Integrated Graphics 
  vendor: Micro-Star MSI driver: i915 v: kernel bus ID: 00:02.0 
  Device-2: NVIDIA GF117M [GeForce 610M/710M/810M/820M / GT 
  620M/625M/630M/720M] 
  vendor: Micro-Star MSI driver: nouveau v: kernel bus ID: 01:00.0 
  Display: x11 server: X.Org 1.20.5 driver: intel,nouveau 
  unloaded: modesetting resolution: 1366x768~60Hz 
  OpenGL: renderer: Mesa DRI Intel Haswell Mobile v: 4.5 Mesa 19.1.4 
  direct render: Yes 
Audio:
  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio 
  vendor: Micro-Star MSI driver: snd_hda_intel v: kernel bus ID: 00:03.0 
  Device-2: Intel 8 Series/C220 Series High Definition Audio 
  vendor: Micro-Star MSI driver: snd_hda_intel v: kernel bus ID: 00:1b.0 
  Sound Server: ALSA v: k4.19.66-1-MANJARO 
Network:
  Device-1: Qualcomm Atheros AR8161 Gigabit Ethernet 
  vendor: Micro-Star MSI driver: alx v: kernel port: d000 bus ID: 04:00.0 
  IF: enp4s0 state: up speed: 100 Mbps duplex: full mac: <filter> 
  Device-2: Realtek RTL8723AE PCIe Wireless Network Adapter 
  vendor: AzureWave driver: rtl8723ae v: kernel port: c000 
  bus ID: 05:00.0 
  IF: wlp5s0 state: down mac: <filter> 
Drives:
  Local Storage: total: 111.79 GiB used: 22.62 GiB (20.2%) 
  ID-1: /dev/sda vendor: A-Data model: SU650 size: 111.79 GiB 
Partition:
  ID-1: / size: 29.40 GiB used: 6.59 GiB (22.4%) fs: ext4 dev: /dev/sda5 
  ID-2: /home size: 50.72 GiB used: 667.9 MiB (1.3%) fs: ext4 
  dev: /dev/sda6 
Sensors:
  System Temperatures: cpu: 48.0 C mobo: N/A 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 178 Uptime: 1h 02m Memory: 7.71 GiB used: 1.50 GiB (19.5%) 
  Init: systemd Compilers: gcc: 9.1.0 Shell: bash v: 5.0.7 inxi: 3.0.35 
[fla5@fla5-pc ~]$

thankyou but manjaro it's ok I can't log in to windows 7

How did you install Windows 7?

This sounds like a Windows issue rather than a Manjaro one?

Have you run update-grub ?

first, I install win7 and after that install manjaro like my usual setup(GPT). (using Rufus)
it's my first MBR dual boot
yes https://wiki.manjaro.org/index.php/Restore_the_GRUB_Bootloader#For_BIOS_Systems but not change anything

[fla5@fla5-pc ~]$ sudo grub-install /dev/sda
[sudo] password for fla5: 
Installing for i386-pc platform.
Installation finished. No error reported.
[fla5@fla5-pc ~]$ sudo grub-install --recheck /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
[fla5@fla5-pc ~]$ sudo update-grub
Generating grub configuration file ...
Found theme: /usr/share/grub/themes/manjaro/theme.txt
Found linux image: /boot/vmlinuz-4.19-x86_64
Found initrd image: /boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
Found initrd fallback image: /boot/initramfs-4.19-x86_64-fallback.img
Found Windows 7 on /dev/sda1
Found memtest86+ image: /boot/memtest86+/memtest.bin
done
[fla5@fla5-pc ~]$

Reboot.

If you see a black screen (sigh), keep tapping 'esc' key and you get to the grub menu.
Go to windows entry and boot.
If you want to see a grub menu always, let us know. Check this out. Yes it is complicated. Sigh.

2 Likes

damn hidden boot :wink:

i can see the grub menu (manjaro + windows 7)
but when select win7 i get Noise white+black screen

Could it be that you installed Win 7 in BIOS (legacy) mode and Manjaro in UEFI mode as you wrote you installed "like my usual setup(GPT)"? Actually, I would have expected to see your Win partitions after fdisk command.

no. both USB bootable on MBR and my BIOS on legacy mode also my partition table is MBR.
IF manjaro bootable USB write on UEFI and partition table is MBR manjaro can install on this partition? (cuz windows installations can't do it)

At grub menu, go to grub prompt (grub>) by pressing 'c' key.
Type in following and press enter after each command

grub> insmod ntfs
grub> insmod ntldr
grub> search -f /bootmgr

Does that give you output of (hd0,msdos1) ?
If yes, good and continue...

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

That should boot into windows.

If you have 2 output instead, let us know what this output is.
If you have no output, not good; let us know what you did in windows.

If it boots, print out windows entry in /boot/grub/grub.cfg and output of 'sudo blkid'
so we can make a working entry for you in the grub menu.

[edit] - If you have 2 output, do the following,

grub> set root=(hd0,1)
grub> ntldr /bootmgr
grub> boot

If this does not boot, use the other output.

grub> set root=(hd0,x)   {other output - 'x' is a number}
grub> ntldr /bootmgr
grub> boot
1 Like

yes. it's same hd0,msdos1

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

that booting to windows.

  GNU nano 4.3                                 /boot/grub/grub.cfg                                            
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi
[fla5@fla5-pc ~]$ sudo blkid
/dev/sda1: UUID="2CAE7583AE75467C" TYPE="ntfs" PARTUUID="c7f3b050-01"
/dev/sda5: UUID="83d82f94-b19d-416b-a3f3-586c249c1422" TYPE="ext4" PARTUUID="c7f3b050-05"
/dev/sda6: UUID="cfc27690-aa30-40e2-96dc-3f9f9b234a79" TYPE="ext4" PARTUUID="c7f3b050-06"
[fla5@fla5-pc ~]$
grub> set root=(hd0,1)
grub> ntldr /bootmgr
grub> boot

doesn't boot
also dosen't (hd0,2)
but (hd0,msdos1) work. can boot to windows.

Ok, good. Your grub.cfg - change that entry to the UUID to sda1 UUID and that should work.
You did not print grub entry of windows for us to see if uuid correspond.
Or is that your complete grub.cfg? Can't be. Otherwise you cannot boot anything.
Oh... do you have grub-customizer installed. Damn, have to ask this all the time.
Like having to ask if your menu_hide is activated. Never mind my outburst. Having fun actually.
As someone ask, what shall I do if there is no problem with boots.

And ...(hd0,1) should boot as well, like (hd0,msdos1) will boot. Check your typo. Oh you can't. Its over, booted, gone.

Or .. next post. I'll write out grub menu entry for windows. If you can write out windows grub entry.

1 Like

No. It won't. It is not grub-legacy. Not menu.lst.

No, it is not.

No need.

No, otherwise update-grub will not show any windows.

doesn't work

omg sorry. yes (hd0,1) it's work.


#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

set menu_color_normal=light-gray/black
set menu_color_highlight=green/black

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  83d82f94-b19d-416b-a3f3-586c249c1422
else
  search --no-floppy --fs-uuid --set=root 83d82f94-b19d-416b-a3f3-586c249c1422
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='hd0,msdos5'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  83d82f94-b19d-416b-a3f3-586c249c1422
else
  search --no-floppy --fs-uuid --set=root 83d82f94-b19d-416b-a3f3-586c249c1422
fi
insmod gfxmenu
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_24.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_48.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_bold_16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/dejavu_sans_mono_12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-18.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b12.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b14.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b16.pf2
loadfont ($root)/usr/share/grub/themes/manjaro/terminus-b18.pf2
insmod png
set theme=($root)/usr/share/grub/themes/manjaro/theme.txt
export theme
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/01_menu_auto_hide ###
if [ "${boot_success}" = "1" -o "${boot_indeterminate}" = "1" ]; then
  set last_boot_ok=1
else
  set last_boot_ok=0
fi

# Reset boot_indeterminate after a successful boot
if [ "${boot_success}" = "1" ] ; then
  set boot_indeterminate=0
# Avoid boot_indeterminate causing the menu to be hidden more then once
elif [ "${boot_indeterminate}" = "1" ]; then
  set boot_indeterminate=2
fi
set boot_success=0
save_env boot_success boot_indeterminate

if [ x$feature_timeout_style = xy ] ; then
  if [ "${menu_show_once}" ]; then
    unset menu_show_once
    save_env menu_show_once
    set timeout_style=menu
    set timeout=60
  elif [ "${menu_auto_hide}" -a "${last_boot_ok}" = "1" ]; then
    set orig_timeout_style=${timeout_style}
    set orig_timeout=${timeout}
    if [ "${fastboot}" = "1" ]; then
      # timeout_style=menu + timeout=0 avoids the countdown code keypress check
      set timeout_style=menu
      set timeout=0
    else
      set timeout_style=hidden
      set timeout=1
    fi
  fi
fi
### END /etc/grub.d/01_menu_auto_hide ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-83d82f94-b19d-416b-a3f3-586c249c1422' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos5'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  83d82f94-b19d-416b-a3f3-586c249c1422
	else
	  search --no-floppy --fs-uuid --set=root 83d82f94-b19d-416b-a3f3-586c249c1422
	fi
	linux	/boot/vmlinuz-4.19-x86_64 root=UUID=83d82f94-b19d-416b-a3f3-586c249c1422 rw  quiet
	initrd	/boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
}
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-83d82f94-b19d-416b-a3f3-586c249c1422' {
	menuentry 'Manjaro Linux (Kernel: 4.19.66-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.66-1-MANJARO x64-advanced-83d82f94-b19d-416b-a3f3-586c249c1422' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos5'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  83d82f94-b19d-416b-a3f3-586c249c1422
		else
		  search --no-floppy --fs-uuid --set=root 83d82f94-b19d-416b-a3f3-586c249c1422
		fi
		linux	/boot/vmlinuz-4.19-x86_64 root=UUID=83d82f94-b19d-416b-a3f3-586c249c1422 rw  quiet
		initrd	/boot/intel-ucode.img /boot/initramfs-4.19-x86_64.img
	}
	menuentry 'Manjaro Linux (Kernel: 4.19.66-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.66-1-MANJARO x64-fallback-83d82f94-b19d-416b-a3f3-586c249c1422' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		set root='hd0,msdos5'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  83d82f94-b19d-416b-a3f3-586c249c1422
		else
		  search --no-floppy --fs-uuid --set=root 83d82f94-b19d-416b-a3f3-586c249c1422
		fi
		linux	/boot/vmlinuz-4.19-x86_64 root=UUID=83d82f94-b19d-416b-a3f3-586c249c1422 rw  quiet
		initrd	/boot/initramfs-4.19-x86_64-fallback.img
	}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-2CAE7583AE75467C' {
	savedefault
	insmod part_msdos
	insmod ntfs
	set root='hd0,msdos1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,msdos1' --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1  2CAE7583AE75467C
	else
	  search --no-floppy --fs-uuid --set=root 2CAE7583AE75467C
	fi
	parttool ${root} hidden-
	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 ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root --hint-ieee1275='ieee1275//disk@0,msdos5' --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5  83d82f94-b19d-416b-a3f3-586c249c1422
        linux16 /boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###
1 Like

Right. See this post on how to make a custom.cfg.
Then add the entry with the correct UUID. I'll print this entry with your UUID.


menuentry "Windows 10" {
  insmod part_msdos
  insmod ntfs
  search --set=root --fs-uuid 2CAE7583AE75467C
  ntldr /bootmgr
}

Hope this is clear. Take care.

3 Likes

Forum kindly sponsored by Bytemark