there's no windows in grub after upgrade to 12.3

Hi guys,

After upgrading from 12.2 to 12.3, I’ve no Windows option in grub. So how can I get it back?
And also, in grub it’s still say 12.2, not 12.3 (the theme is changed but the text is not).

Below is only 3 options avaiable in grub:


OpenSUSE 12.2
Advanced options for OpenSUSE 12.2
OpenSUSE 12.2 Memtest

Thanks for your helps!

How did you upgrade? Which method? DVD,network,CD,usb? what is /etc/fstab output? can you run fdisk -l and provide output?

@n00bvn

have you tried changing grub options from
ini 3
yast in terminal mode?

12.2 is just cosmetic,
once in yast boot loader,
just change 12.2 to 12.3, (*2 possibly)

I upgraded with DVD

Below is /etc/fstab:


/dev/disk/by-id/ata-ST9250410ASG_5VG1H7E3-part6 swap                 swap       defaults              0 0
/dev/disk/by-id/ata-ST9250410ASG_5VG1H7E3-part7 /                    ext4       acl,user_xattr        1 1
/dev/disk/by-id/ata-ST9250410ASG_5VG1H7E3-part8 /home                ext4       acl,user_xattr        1 2
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

Below is fdisk -l:


fdisk -l


Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xace22e9e


   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63    66203864    33101901    7  HPFS/NTFS/exFAT
/dev/sda2   *    66203865   488392064   211094100    f  W95 Ext'd (LBA)
/dev/sda5        66203928   277297964   105547018+   b  W95 FAT32
/dev/sda6       277299200   280752127     1726464   82  Linux swap / Solaris
/dev/sda7       280754176   343662591    31454208   83  Linux
/dev/sda8       343664640   488390655    72363008   83  Linux

How can I change that?

so sda1,sda2 and sda5 are your windows partitions. what keellambert suggested is form ini 3( which is the non-graphical interface- command line) to start yast2(by typing yast2) which will bring a minimal graphical interface and then to see what you have in boot and change the boot options). Let’s see what is in /boot/grub/menu.lst

What’s ini 3?

I took some images from Boot Loader option from YaST2 like below:
http://thumbnails107.imagebam.com/24329/be9b7a243286586.jpg](http://www.imagebam.com/image/be9b7a243286586)

http://thumbnails106.imagebam.com/24329/f56a65243286589.jpg](http://www.imagebam.com/image/f56a65243286589)

And also, I’m using Grub2, so I posted here my /boot/grub2/grub.cfg:


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


### BEGIN /etc/grub.d/00_header ###
if  -s $prefix/grubenv ]; then
  load_env
fi
set default="${saved_entry}"


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
}


if  x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if  x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
else
  search --no-floppy --fs-uuid --set=root ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
fi
    font="/usr/share/grub2/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_output gfxterm
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if  x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
else
  search --no-floppy --fs-uuid --set=root ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
if  x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=8
fi
### END /etc/grub.d/00_header ###


### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE 12.2' --class 'opensuse-12-2' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if  x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
    else
      search --no-floppy --fs-uuid --set=root ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
    fi
    echo    'Loading Linux 3.7.10-1.1-desktop ...'
    linux    /boot/vmlinuz-3.7.10-1.1-desktop root=UUID=ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39   resume=/dev/disk/by-id/ata-ST9250410ASG_5VG1H7E3-part6 splash=silent quiet showopts
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd-3.7.10-1.1-desktop
}
submenu 'Advanced options for openSUSE 12.2' $menuentry_id_option 'gnulinux-advanced-ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39' {
    menuentry 'openSUSE 12.2, with Linux 3.7.10-1.1-desktop' --class 'opensuse-12-2' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.7.10-1.1-desktop-advanced-ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos7'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
        else
          search --no-floppy --fs-uuid --set=root ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
        fi
        echo    'Loading Linux 3.7.10-1.1-desktop ...'
        linux    /boot/vmlinuz-3.7.10-1.1-desktop root=UUID=ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39   resume=/dev/disk/by-id/ata-ST9250410ASG_5VG1H7E3-part6 splash=silent quiet showopts
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd-3.7.10-1.1-desktop
    }
    menuentry 'openSUSE 12.2, with Linux 3.7.10-1.1-desktop (recovery mode)' --class 'opensuse-12-2' --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.7.10-1.1-desktop-recovery-ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd0,msdos7'
        if  x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
        else
          search --no-floppy --fs-uuid --set=root ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
        fi
        echo    'Loading Linux 3.7.10-1.1-desktop ...'
        linux    /boot/vmlinuz-3.7.10-1.1-desktop root=UUID=ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39  showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd-3.7.10-1.1-desktop
    }
}


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


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


### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry 'openSUSE 12.2 Memtest' --class opensuse --class memtest86 --class gnu --class tools $menuentry_id_option 'memtest-ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if  x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 --hint='hd0,msdos7'  ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
    else
      search --no-floppy --fs-uuid --set=root ac1cddb5-a2c1-4035-b5a9-d9cc31b91e39
    fi
    echo    'Loading memtest ...'
    linux16    /boot/memtest.bin
}
### END /etc/grub.d/20_memtest86+ ###


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


### BEGIN /etc/grub.d/30_os-prober ###
### 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/90_persistent ###
### END /etc/grub.d/90_persistent ###

So how can I fix my Grub2 to take back the Windows option?

Thanks!

init 3 is the non-graphical interface, keellambert didn’t realize that you are already in openSUSE and was probably under the impression that you cannot boot. You could manually go in those 2 screens and change 12.2 to 12.3 to have the options shown correctly. I think that if you check the “Boot from Master Boot Record” option in the boot screen you will have Windows as a boot option at boot time.

In the 2nd image, it’s Boot Loader options, but I just see only 1 option is “OpenSUSE 12.2” and of course, I can change to 12.3 easily. But how about another options avaiable in grub2 when my computer boot: Advanced OpenSUSE 12.2 and OpenSUSE 12.2 Memtest? How can I change them?

And also, the main thing is that How can I edit or fix the Grub2 to get back Windows option at boot? (I already had Windows in my partition cus’ this problem come to me after I upgraded to 12.3) Like you told, all I have to do is check the “Boot from Master Boot Record” option, right? I’ve to check only that option or check also with checked already “Boot from Extended partition” option?

Thanks you guys!

“Boot from Extended partition” boots you to current openSUSE 12.3.
I found this script created by ** jdmcdaniel3**](https://forums.opensuse.org/members/jdmcdaniel3.html) which I would suggest you use:https://forums.opensuse.org/blogs/jdmcdaniel3/gnu-grub2-command-listing-helper-help-input-106/

I had the same problem.
I checked the option “Probe Foreign OS” and finished the configuration.
This wrote the windows XP to my grub.cfg (with the wrong name “Vista”).
After reboot windows XP was back.
Hope this helps you.

Thanks a lot!
It worked perfect for me.

ini 3 is a typing error

the cmd is

init 3

that doesnt work on my laptop tho, had 12.1 installed with no grub issues, now installed clean 12.3 version and windows 7 is gone, probe foregin os or boot from master partition dont change anything…any suggestions welcomed :slight_smile:

…sorted, did like anika200 suggested in similar threat - mounted windows partitions and checked boot from master boot record and that did the trick,

1 I installed OpenSUSE12.3 on old laptop where before 12.2 under find foreign OSs always found the Windows OS.
2. I now find that procedure even with find foreign OS only finds the recovery (hidden) Windows re-set to factory condition partition.
3. My solution:
I do normal install , GRUB 2 finds OpenSUSE and Recovery Windows partition.
I then open OpenSUSE as normal user, mount the Windows partition hard disc then start YAST
Then use YAST to configure Boot Loader. atthis point it finds both the Windows recovery partition and the normal windows partition, and they are listed in the drop down lists of YAST screnof available OSs. Save bootloader.
Restart.
Then GRUB always gives me the four options:

  1. OpenSUSE 12.3
  2. OpenSUSE 12.3 (restricted safe)
  3. Windows recovery
  4. Normal Windows OS,
  1. I have not found how to mount the hard discs before running boot loader on install when I do an upgrade, but with a new installation rejecting SUSE selection and selecting all hard discs might work (Old way I did it when I did not bother with upgrading)