Windows 8 Dual boot lost after Fedora upgrade

Gary Stainburn gary.stainburn at ringways.co.uk
Mon Jul 13 10:26:42 UTC 2015


Hi Chris,

Thanks for this. Just had a fantastic honeymoon, but now back in the real 
world and onwards with trying to fix this.

On Friday 03 July 2015 18:35:47 Chris Murphy wrote:
> There's an awful lot going on here. And to vent, I'm going to start
> out by saying dual boot sucks. It's not you, users are sane, and dual
> boot support on Linux just sucks. OK...
>
>
>
> On Fri, Jul 3, 2015 at 9:09 AM, Gary Stainburn
>
> <gary.stainburn at ringways.co.uk> wrote:
> > I've finally decided to have a go at fixing the problem where the Windows
> > 8 option disappeared from my GRUB menu when I upgraded from F19 to F20.
>
> This suggests the computer does not have Secure Boot enabled, because
> Fedora's GRUB has never support UEFI Secure Boot chainloading of the
> Windows bootloader. The fact the GRUB menu entry used to work, and now
> doesn't, suggests some other problem.
>
[snip]
> > 1098EFF798EFD96C
> >     else
> >       search --no-floppy --fs-uuid --set=root 1098EFF798EFD96C
>
> Is this the correct UUID for the Windows volume? Check with blkid.
> grub2-mkconfig will get this right, which is why it should be used
> instead of a static configuration.
>
> > ./efi/EFI/Microsoft/Boot/bootmgfw.efi
>
> This being the only thing in /boot/efi/EFI/Microsoft is perplexing.
> I'm expecting a lot more stuff in here than this. So yet again I
> wonder if maybe this EFI System partition was inadvertently formatted
> when doing a Fedora installation? It's not difficult to accidentally
> delete it, I've found.

The folder /efi/EFI/Microsoft did not exist, which tends to confirm your 
suspicion that the the partition was reformatted during the upgrade.  I 
manually created the folder and copied bootmgfw.efi from \Windows\Boot\EFI\

>
> But the fact is that you're not seemingly getting an error from this
> OSLoader, you're getting it from GRUB not finding this path which
> suggests the menu entry is malformed somehow.
>
> Suggestions:
>
> - Move /etc/grub.d/40_custom out of that directory so it doesn't get
> used, but is still retained in case you want to revert.
> - run
> grub2-mkconfig -o ~/Downloads/grub.cfg
>
> post that grub.cfg somewhere or maybe it'll all paste into the mailing
> list which is fine too, I want to see the whole thing *unless* it
> doesn't have a Windows menu entry listed in it. If it doesn't then I'm
> going to guess that /etc/default/grub has os-prober disabled. If so
> that needs to be commented out and you need to rerun the
> grub2-mkconfig command.
>
>
> --
> Chris Murphy

Here is the generated grub.conf as requested. I've had a look at the file and 
there is no mention of Windows anywhere. The windows partitions are mounted:

[root at gary ~]# mount|grep sda
/dev/sda3 on /boot type ext4 (rw,relatime,stripe=4,data=ordered)
/dev/sda2 on /boot/efi type vfat 
(rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
/dev/sda5 on /windows_recover type fuseblk 
(rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sda4 on /windows type fuseblk 
(rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
[root at gary ~]# grub2-mkconfig -o ~/Downloads/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.19.8-100.fc20.x86_64
Found initrd image: /boot/initramfs-3.19.8-100.fc20.x86_64.img
Found linux image: /boot/vmlinuz-3.19.5-100.fc20.x86_64
Found initrd image: /boot/initramfs-3.19.5-100.fc20.x86_64.img
Found linux image: /boot/vmlinuz-3.19.4-100.fc20.x86_64
Found initrd image: /boot/initramfs-3.19.4-100.fc20.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-da98f419484443dab77787b4692f3f8f
Found initrd 
image: /boot/initramfs-0-rescue-da98f419484443dab77787b4692f3f8f.img
done
[root at gary ~]# cat ~/Downloads/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
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
}

terminal_output console
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora, with Linux 3.19.8-100.fc20.x86_64' --class fedora --class 
gnu-linux --class gnu --class os --unrestricted 
$menuentry_id_option 'gnulinux-3.19.8-100.fc20.x86_64-advanced-7bd8b8aa-711f-4195-b6a9-27d1879e3079' 
{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        else
          search --no-floppy --fs-uuid --set=root 
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        fi
        linuxefi /vmlinuz-3.19.8-100.fc20.x86_64 root=/dev/mapper/fedora-root 
ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 
rd.lvm.lv=fedora/root  rhgb quiet 
        initrdefi /initramfs-3.19.8-100.fc20.x86_64.img
}
menuentry 'Fedora, with Linux 3.19.5-100.fc20.x86_64' --class fedora --class 
gnu-linux --class gnu --class os --unrestricted 
$menuentry_id_option 'gnulinux-3.19.5-100.fc20.x86_64-advanced-7bd8b8aa-711f-4195-b6a9-27d1879e3079' 
{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        else
          search --no-floppy --fs-uuid --set=root 
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        fi
        linuxefi /vmlinuz-3.19.5-100.fc20.x86_64 root=/dev/mapper/fedora-root 
ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 
rd.lvm.lv=fedora/root  rhgb quiet 
        initrdefi /initramfs-3.19.5-100.fc20.x86_64.img
}
menuentry 'Fedora, with Linux 3.19.4-100.fc20.x86_64' --class fedora --class 
gnu-linux --class gnu --class os --unrestricted 
$menuentry_id_option 'gnulinux-3.19.4-100.fc20.x86_64-advanced-7bd8b8aa-711f-4195-b6a9-27d1879e3079' 
{
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        else
          search --no-floppy --fs-uuid --set=root 
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        fi
        linuxefi /vmlinuz-3.19.4-100.fc20.x86_64 root=/dev/mapper/fedora-root 
ro rd.lvm.lv=fedora/swap vconsole.font=latarcyrheb-sun16 
rd.lvm.lv=fedora/root  rhgb quiet 
        initrdefi /initramfs-3.19.4-100.fc20.x86_64.img
}
menuentry 'Fedora, with Linux 
0-rescue-da98f419484443dab77787b4692f3f8f' --class fedora --class 
gnu-linux --class gnu --class os --unrestricted 
$menuentry_id_option 'gnulinux-0-rescue-da98f419484443dab77787b4692f3f8f-advanced-7bd8b8aa-711f-4195-b6a9-27d1879e3079' 
{
        load_video
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd0,gpt3'
        if [ x$feature_platform_search_hint = xy ]; then
          
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3  
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        else
          search --no-floppy --fs-uuid --set=root 
c0c76610-4d06-4aa7-a0a7-4345a1e74a7b
        fi
        linuxefi /vmlinuz-0-rescue-da98f419484443dab77787b4692f3f8f 
root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/swap 
vconsole.font=latarcyrheb-sun16 rd.lvm.lv=fedora/root  rhgb quiet 
        initrdefi /initramfs-0-rescue-da98f419484443dab77787b4692f3f8f.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/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/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 ###


More information about the users mailing list