Bug 959066

Summary: GRUB can't boot Windows 8
Product: [openSUSE] openSUSE Distribution Reporter: Artur Koziol <artkoz78>
Component: BootloaderAssignee: Michael Chang <mchang>
Status: RESOLVED DUPLICATE QA Contact: Jiri Srain <jsrain>
Severity: Major    
Priority: P5 - None CC: nwr10cst-oslnx
Version: Leap 42.1   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 42.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: Error message

Description Artur Koziol 2015-12-14 18:49:42 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36
Build Identifier: 

After installation LEAP 42.1 on DELL Inpiron 5000 and ASUS R513M, Win 8 can't be started by GRUB.
os-probe detects Windows boot partition and adds it to GRUB but start ends with error "Not supported image".

Solution I have found:
On GRUB screen press e then F2, type exit, Windows will start.
By the way, shortcuts Ctrl+C, Ctrl+X are not working in GRUB editor.

On DELL laptop Windows can be also started by built-in bootloader (F12).




Reproducible: Always

Actual Results:  
Error message.

Expected Results:  
Booting Windows

#
# 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 ###
set btrfs_relative_path="y"
export btrfs_relative_path
if [ -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif [ -s $prefix/grubenv ]; then
  load_env
fi

if [ "${env_block}" ] ; then
  load_env -f "${env_block}"
fi

if [ "${next_entry}" ] ; then
   set default="${next_entry}"                                                                                                                                                               
   set next_entry=                                                                                                                                                                           
   save_env next_entry                                                                                                                                                                       
   if [ "${env_block}" ] ; then                                                                                                                                                              
     save_env -f "${env_block}" next_entry                                                                                                                                                   
   fi                                                                                                                                                                                        
   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
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt 
insmod btrfs
set root='hd0,gpt8'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  ee51b542-af41-4f98-8b1e-350075716f41
else
  search --no-floppy --fs-uuid --set=root ee51b542-af41-4f98-8b1e-350075716f41
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=pl_PL
  insmod gettext
fi
terminal_output gfxterm
insmod part_gpt 
insmod btrfs
set root='hd0,gpt8'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  ee51b542-af41-4f98-8b1e-350075716f41
else
  search --no-floppy --fs-uuid --set=root ee51b542-af41-4f98-8b1e-350075716f41
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 [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=6
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=6
fi
if [ -n "$extra_cmdline" ]; then
  submenu "Bootable snapshot #$snapshot_num" {
    menuentry "If OK, run 'snapper rollback' and reboot." { true; }
  }
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE Leap 42.1'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ee51b542-af41-4f98-8b1e-350075716f41' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt 
        insmod btrfs
        set root='hd0,gpt8'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  ee51b542-af41-4f98-8b1e-350075716f41
        else
          search --no-floppy --fs-uuid --set=root ee51b542-af41-4f98-8b1e-350075716f41
        fi
        echo    'Wczytywanie systemu Linux 4.1.13-5-default...'
        linuxefi /boot/vmlinuz-4.1.13-5-default root=UUID=ee51b542-af41-4f98-8b1e-350075716f41 ro  ${extra_cmdline} resume=/dev/disk/by-uuid/c48390d9-6d2b-45bd-bdfb-7557786bbe20 splash=silent quiet showopts elevator=deadline
        echo    'Wczytywanie początkowego dysku RAM...'
        initrdefi /boot/initrd-4.1.13-5-default
}
submenu 'Opcje zaawansowane dla systemu openSUSE Leap 42.1' --hotkey=1 $menuentry_id_option 'gnulinux-advanced-ee51b542-af41-4f98-8b1e-350075716f41' {
        menuentry 'openSUSE Leap 42.1, za pomocą systemu Linux 4.1.13-5-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.1.13-5-default-advanced-ee51b542-af41-4f98-8b1e-350075716f41' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt 
                insmod btrfs
                set root='hd0,gpt8'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  ee51b542-af41-4f98-8b1e-350075716f41
                else
                  search --no-floppy --fs-uuid --set=root ee51b542-af41-4f98-8b1e-350075716f41
                fi
                echo    'Wczytywanie systemu Linux 4.1.13-5-default...'
                linuxefi /boot/vmlinuz-4.1.13-5-default root=UUID=ee51b542-af41-4f98-8b1e-350075716f41 ro  ${extra_cmdline} resume=/dev/disk/by-uuid/c48390d9-6d2b-45bd-bdfb-7557786bbe20 splash=silent quiet showopts elevator=deadline
                echo    'Wczytywanie początkowego dysku RAM...'
                initrdefi /boot/initrd-4.1.13-5-default
        }
        menuentry 'openSUSE Leap 42.1, za pomocą systemu Linux 4.1.12-1-default'  --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.1.12-1-default-advanced-ee51b542-af41-4f98-8b1e-350075716f41' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt 
                insmod btrfs
                set root='hd0,gpt8'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  ee51b542-af41-4f98-8b1e-350075716f41
                else
                  search --no-floppy --fs-uuid --set=root ee51b542-af41-4f98-8b1e-350075716f41
                fi
                echo    'Wczytywanie systemu Linux 4.1.12-1-default...'
                linuxefi /boot/vmlinuz-4.1.12-1-default root=UUID=ee51b542-af41-4f98-8b1e-350075716f41 ro  ${extra_cmdline} resume=/dev/disk/by-uuid/c48390d9-6d2b-45bd-bdfb-7557786bbe20 splash=silent quiet showopts elevator=deadline
                echo    'Wczytywanie początkowego dysku RAM...'
                initrdefi /boot/initrd-4.1.12-1-default
        }
}

### 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+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Boot Manager (na /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-348F-7B66' {
        insmod part_gpt 
        insmod fat
        set root='hd0,gpt1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  348F-7B66
        else
          search --no-floppy --fs-uuid --set=root 348F-7B66
        fi
        chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
### 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/80_suse_btrfs_snapshot ###
if [ -f "/.snapshots/grub-snapshot.cfg" ]; then
  source "/.snapshots/grub-snapshot.cfg"
fi
### END /etc/grub.d/80_suse_btrfs_snapshot ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###

fdisk
Dysk /dev/sda: 1,8 TiB, bajtów: 2000398934016, sektorów: 3907029168
Jednostki: sektorów, czyli 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny/fizyczny) w bajtach: 512 / 4096
Rozmiar we/wy (minimalny/optymalny) w bajtach: 4096 / 4096
Typ etykiety dysku: gpt
Identyfikator dysku: 91CD6BCD-AD5F-458A-B5D6-D429091AF54C

Device          Start        End    Sectors   Size Type
/dev/sda1        2048    1026047    1024000   500M EFI System
/dev/sda2     1026048    1107967      81920    40M nieznany
/dev/sda3     1107968    1370111     262144   128M Microsoft reserved
/dev/sda4     1370112    5564415    4194304     2G Windows recovery environment
/dev/sda5     5564416 1084481535 1078917120 514,5G Microsoft basic data
/dev/sda6  3886561280 3907027119   20465840   9,8G Windows recovery environment
/dev/sda7  1084481536 1118044159   33562624    16G Microsoft basic data
/dev/sda8  1118044160 1352527871  234483712 111,8G Microsoft basic data
/dev/sda9  1352527872 3886561279 2534033408   1,2T Microsoft basic data

parted
Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  525MB   524MB   fat32           EFI system partition          boot
 2      525MB   567MB   41,9MB  fat32           Basic data partition          hidden
 3      567MB   701MB   134MB                   Microsoft reserved partition  msftres
 4      701MB   2849MB  2147MB  ntfs            Basic data partition          hidden, diag
 5      2849MB  555GB   552GB   ntfs            Basic data partition
 7      555GB   572GB   17,2GB  linux-swap(v1)  primary
 8      572GB   692GB   120GB   btrfs           primary
 9      692GB   1990GB  1297GB  xfs             primary
 6      1990GB  2000GB  10,5GB  ntfs            Microsoft recovery partition  hidden, diag
Comment 1 Artur Koziol 2015-12-14 18:54:03 UTC
Created attachment 659310 [details]
Error message

Screen shot.
Comment 2 Neil Rickert 2015-12-15 14:27:07 UTC
This looks like a duplicate of bug 954126 .  That is listed as resolved, but I think the fix has not yet made it to Leap 42.1.  Now that there's a fix for bug 950569 we can hope that there will soon be an update providing both fixes.
Comment 3 Michael Chang 2016-01-05 04:53:06 UTC
Yes, from the error message it's duplicate. The fix is queued in incoming maintenance update.

*** This bug has been marked as a duplicate of bug 954126 ***