Ask Your Question
2

Unable to access Windows 8.1 in F21

asked 2015-03-19 01:16:24 -0500

cmbrooks gravatar image

updated 2015-03-19 01:17:46 -0500

When I installed Fedora 21, the Grub option to boot into Windows 8.1 disappeared. The partition was not deleted in the installation, simply un-accessible to boot. When I look at the OS Boot Order in my BIOS, Fedora is the only OS listed.

When I run the command fdisk -l, this is the output:

Device          Start        End    Sectors   Size Type
/dev/sda1        2048    1333247    1331200   650M Windows recovery environment
/dev/sda2     1333248    1865727     532480   260M EFI System
/dev/sda3     1865728    2127871     262144   128M Microsoft reserved
/dev/sda4     2127872  855418879  853291008 406.9G Microsoft basic data
/dev/sda5  1904001024 1953513471   49512448  23.6G Microsoft basic data
/dev/sda6   855418880  856442879    1024000   500M Linux filesystem
/dev/sda7   856442880 1904001023 1047558144 499.5G Linux LVM

Similarly, this is the view from GParted: GParted View

I have read that it is an issue with the custom GRUB configuration, so I tried to edit /etc/grub.d/40_custom to the following contents:

#!/bin/sh
exec tail -n +3 $0
# 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.
menuentry "Windows 8" {
    set root='hd0,gpt1'
    chainloader /EFI/microsoft/BOOT/bootmgfw.efi
    boot
}

I appreciate any help on how to regain access to Windows.

edit retag flag offensive close merge delete

Comments

1

2 Answers

Sort by ยป oldest newest most voted
3

answered 2015-03-19 13:09:36 -0500

cgonz31 gravatar image

updated 2015-03-21 00:56:27 -0500

Your "set root" line in /etc/grub.d/40_custom should read set root='hd0,gpt2' because your EFI System Partition (ESP) is /dev/sda2. The disk numbers start counting at 0. Thus /dev/sda is hd0 but the partition numbers start counting from 1. Thus /dev/sda2 is hd0,gpt2.

Also verify that the MS bootloader exists in the path you wrote. Remember that Linux is case-sensitive. In my UEFI system, the MS bootloader is located at /EFI/Microsoft/Boot/bootmgfw.efi relative to ESP top-level directory.

Your path is written as /EFI/microsoft/BOOT/bootmgfw.efi relative to your ESP top-level directory. Try changing BOOT to Boot and microsoft to Microsoft. Or maybe your path is right as is. Verify and adjust the entry accordingly.

You also need to run sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg after saving the edits in /etc/grub.d/40_custom file to regenerate the GRUB2 configuration.

edit flag offensive delete link more

Comments

I think there is something very wrong with my system. I checked to see if /EFI/Microsoft/Boot/bootmgfw.efi existed, and it does not. In fact, there is not even a /EFI/Microsoft directory. I tried the command ls /boot/efi/EFI (since /EFI is a link to /boot/efi/EFI), and the output is BOOT fedora. I think this is my underlying problem, and I do not know how to fix it.

cmbrooks gravatar imagecmbrooks ( 2015-03-19 22:01:26 -0500 )edit

1) Which OS did you install first? From the order of partitions, my guess is that you installed Windows 8.1 first (or it came pre-installed with the PC), correct?

2) Did you install both OSs in UEFI mode?

cgonz31 gravatar imagecgonz31 ( 2015-03-19 22:27:45 -0500 )edit

Windows 8.1 came pre-installed on my laptop. I believe that I used most of Fedora's default configurations, but I do not remember if I installed Fedora in UEFI mode.

cmbrooks gravatar imagecmbrooks ( 2015-03-20 10:36:08 -0500 )edit
1

Almost certainly W8.1 came preinstalled in UEFI mode. If your PC has the Windows 8 logo, then W8.1 came installed in UEFI.

I think F21 is installed in UEFI because it has a mount point as /boot/efi. Run dmesg | grep EFI to confirm. If the system was booted off of EFI, you should see something like:

[ 0.000000] EFI v2.00 by American Megatrends. The manufacturer may change.

Otherwise, there should be no output.

You said in the question that you can't boot Windows 8 from the UEFI boot menu (accessed at POST), correct? F21 is the only OS in the list and if you select it, it boots into GRUB2, correct?

cgonz31 gravatar imagecgonz31 ( 2015-03-20 11:25:35 -0500 )edit

This is the output of dmesg | grep EFI:

[    0.000000] efi: EFI v2.31 by INSYDE Corp.
[    0.000000] ACPI: UEFI 0x000000009CFFD000 000236 (v01 HPQOEM 2290     00000001 HP   00040000)
[    1.062979] fb0: EFI VGA frame buffer device
[    1.103070] EFI Variables Facility v0.08 2004-May-17
[    1.706139] fb: switching to inteldrmfb from EFI VGA

You are correct, I cannot boot Windows 8.1 from the UEFI boot menu, and when I select F21, it will open GRUB2.

cmbrooks gravatar imagecmbrooks ( 2015-03-20 22:31:24 -0500 )edit
1

answered 2015-03-22 12:35:56 -0500

cmurf gravatar image

Currently GRUB on Fedora doesn't support chainloading Windows 8.1 when Secure Boot is enabled. https://bugzilla.redhat.com/show_bug.cgi?id=1170245 I don't recommend disabling Secure Boot just to make this work. Instead, access the firmware's boot manager, typically this is F12, and switch between Windows and Fedora there.

edit flag offensive delete link more

Comments

I have Secure boot disabled because of a bug I encountered with my wireless drivers, so I do not believe Secure Boot is the source of the error. When I access the firmware boot manager, Fedora is the only OS on the list. I have tried re-enabling Secure boot as an attempt to fix it, but to no avail.

cmbrooks gravatar imagecmbrooks ( 2015-03-23 19:50:03 -0500 )edit

Running

# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

should detect Windows and create the proper GRUB menu entry for it and without Secure Boot that entry should work. If the entry isn't created or doesn't work, then probably Windows Startup Repair should be used to try to repair the Windows installation.

cmurf gravatar imagecmurf ( 2016-03-16 00:54:32 -0500 )edit

Question Tools

4 followers

Stats

Asked: 2015-03-19 01:16:24 -0500

Seen: 893 times

Last updated: Mar 22 '15