Make GRUB 2 boot Windows 8 safe mode

Windows 8 recovery is accessed by pressing F8 as soon as you press Enter after selecting Windows 8 kernel (probably listed as Windows Recovery Environment) from the GRUB list. If you aren't quick enough then this does not work. From there this should give you repair/command options, etc. Another way to fix Windows is you could try is using installation media (.iso) from boot.


The standard recipe is to press F8/Shif+F8(an hold it pressed) as fast as possible, after selecting your Windows entry from Grub. For Windows 7 and XP it should work.

However, in Windows 8/8.1 F8 key did not seem to work. Some claimed that because of the extremely fast booting of Windows 8.1, it is being uncapable of detecting any input(including the F8) from your keyboard while booting. I have searched on multiple forums, blogs, etc. this problem and found a solution, after lot of documentation.

Many people advise to use the **bcdedit /set {default} bootmenupolicy** legacy command for making F8 key work while booting on Windows 8.1, but for me didn’t work like this.

If the bcdedit /set {default} bootmenupolicy legacy gives you the following output "The boot configuration data store could not be opened. The system cannot find the file specified",follow the instructions from [1](the answer marked as the right one).

If you do not want to document yourself reading the answer from [1], just type the following command:

bcdedit /store c:\Boot\BCD /set bootmenupolicy legacy

Restart your computer, choose your Windows from Grub, imediately press F8 and it should work as it did for me. Good luck!

[1]http://answers.microsoft.com/en-us/windows/forum/windows_7-performance/bcdedit-the-system-cannot-find-the-file-specified/7135b90a-c6a4-4a31-b752-822029671075

Explanations:

-Boot Configuration Data (BCD) files provide a store that is used to describe boot applications and boot application settings. The objects and elements in the store effectively replace Boot.ini.

-BCDEdit is a command-line tool for managing BCD stores. It can be used for a variety of purposes, including creating new stores, modifying existing stores, adding boot menu options, and so on. BCDEdit serves essentially the same purpose as Bootcfg.exe on earlier versions of Windows, but with two major improvements. Administrative privileges are required to use BCDEdit to modify BCD.

-/set Sets an entry option value.

-/store This option can be used with most BCDedit commands to specify the store to be used. If this option is not specified, then BCDEdit operates on the system store. So when you open cmd with the option "Run as adminstrator" you are in C:\Windows\system32 and that is why system cannot find the file specified, so you must specigy it c:\Boot\BCD.

-bootmenupolicy [ Legacy | Standard ] Defines the type of boot menu the system will use. For Windows 8.1, Windows 8 and Windows RT the default is Standard. For Windows Server 2012 R2, Windows Server 2012, the default is Legacy. When Legacy is selected, the Advanced options menu (F8) is available. When Standard is selected, the boot menu will appear only under certain conditions: for example, if there is a startup failure, if you are booting up from a repair disk or installation media, if you have configured multiple boot entries, or if you manually configured the computer to use Advanced startup. When Standard is selected, the F8 key is ignored during boot. Windows 8 PCs start up quickly so there isn't enough time to press F8. For more information, see Windows Startup Settings (including safe mode).