Sunday, March 03, 2013

Windows 8 Legacy Boot Menu

This tip was learned at WinAero: How to customize the Windows 8 boot experience. If the steps below are too advanced for you, check out their Boot UI Tuner portable application to easily do the same and more with just two simple clicks.

Many tips online suggest making Windows 7 the default OS to bring back the legacy boot menu (this doesn't load the OS before presenting the OS options). But what if you want Windows 8 as the default?

To keep Windows 8 as the default OS and still enjoy the speed of legacy (Windows 7 style) boot menu:
  1. Launch Windows 8. On the Start screen, type 'cmd' (there's no search box, you just start typing on the screen with tiles).
  2. When results appear on left, right-click on "Command Prompt".
  3. At the bottom bar, click "Run as administrator". (Your computer may appear to be idle for a couple of seconds. This is normal.)
  4. In the User Account Control dialog, click "Yes".
  5. In the Command Prompt window that opens, type the following and press Enter:
     bcdedit /set {default} bootmenupolicy legacy
  6.  If you got the message "The operation completed successfully", you're done.
    • You can type bcdedit and press Enter to verify that bootmenupolicy is set to 'Legacy' on the correct partition.
  7. Close the Command Prompt window. Restart your computer to see if it works. (Do not click Shut down. You must click Restart. Read below for why.)
Note that the Windows 7 version of bcdedit does not support editing the bootmenupolicy parameter as it does not recognize the parameter as valid. You must use Windows 8.

To reverse the above change, follow the steps again but in the Command Prompt window, type the following and press Enter:
bcdedit /set {default} bootmenupolicy standard

Why does this only work on actually "Restart-ing"?
Even if you set the bootmenupolicy to Legacy, you will still get Standard behavior if you click Shut down on the Power menu, then boot up the computer after it shuts down. This is because unlike previous versions of Windows, Windows 8 treats restarting and shutting down differently.

In previous versions, shutting down and powering up was exactly the same as restarting. But in Windows 8, when you shut down, Windows 8 boots up faster next time because of a form of "caching". When this caching is available Windows 8 can boot in half the time it would take on a fresh restart. The caching also forces Standard boot menu over Legacy one. When you restart Windows 8, no such caching is done and the computer always starts fresh. In this case, the Legacy boot menu will appear, allowing you to cut the time required to boot another OS.

Admittedly it would be ideal if the Legacy boot menu always appeared regardless of caching, but the above is still tolerable as Windows 8 loads much quicker when it is cached (which I believe is some form of mini-hibernation).

I was taken aback by the new Windows 8 boot menu. It's fancy but it's not ideal. While it's entirely possible to create a fancy boot menu that starts up quickly, Microsoft did not put any effort to finding out how - since most people will never see the boot menu anyway.

But for those of us on dual-boot configuration the fancy blue Windows 8 boot menu is frustrating especially if you want to keep using Windows 8 as the default OS. It loads Windows 8 first before presenting with the OS options. If you select an option other than Windows 8, the computer restarts fresh and loads the other OS. Every time you want to restart the other OS, you have to go through the process again - restart, load Windows 8, choose other OS, restart, load other OS.

Microsoft argues that since Windows 8 loads so "fast" it shouldn't matter. But the loading takes about 30 seconds on a hard disk, maybe even longer! The reality is, that loading time is a waste of time and resources, considering that the computer has to restart twice to boot into another OS. It's always more reasonable to present the OS options then proceed load the OS which the user chooses (or the default on timeout). It doesn't make any sense to load the default OS, then present with OS options, then discard the loaded default OS with a second restart when the user chooses something else!

At first it looked like the only way to get back the old text-based legacy boot menu (which shows first before loading any OS) is to set Windows 7 as the default OS. It works fine when the user intends to keep Windows 7 as the primary OS and simply try Windows 8 in his leisure. But it defeats the purpose when the user is upgrading to Windows 8 as a replacement (but keeping Windows 7 as an emergency fallback) as the user is forced to always manually select Windows 8 during boot time.

Thankfully, it's now possible with the above tip to revert to the text-based legacy boot menu and still keep Windows 8 as the default OS.

No comments:

Post a Comment

Comments are moderated, and are usually posted within 24 hours if approved. You must have a minimum of OpenID to post comments.


Related Posts with Thumbnails