UEFI and Windows 8 Update on Windows/Linux dual-boot systems

UEFI and Windows 8 Update on Windows/Linux dual-boot systems

Summary: There have been recent reports of problems with Windows 8 Updates destroying Linux/Windows dual boot setups. My experience has been that, while there may be problems, they probably aren't as serious as some reports make them sound.

SHARE:

Over the past few days I have been installing Windows Updates on my two most recently acquired Windows 8 systems (see My New ASUS Laptop and My New Compaq Laptop). I had read several news items and blogposts noting that recent Windows Updates were destroying the Linux portion of dual-boot Windows 8/Linux setups. After struggling with this for a while, I can finally report that yes, there is a problem — but it's generally not as serious as has been reported.

This post assumes a fair amount of knowledge of UEFI firmware configuration and boot setup. If you're unfamiliar with how a system with UEFI firmware is configured for dual-booting Windows and Linux, you might want to review a few of my previous posts describing that process (sometimes in painful detail).

This post also assumes that the system with UEFI firmware is NOT set up with Legacy Boot enabled. I don't care whether Secure Boot is enabled or not, as that would have no effect on the following description and operation. I haven't tested this in any way with Legacy Boot enabled, so I have no idea whether it would work the same, or if it might be more (or less) immune to problems.

To configure dual-boot Windows 8 and Linux, you have to add a Linux item to the UEFI boot object list, and then change the boot sequence so that Linux precedes Windows. Again, I have explained this in detail in several recent posts, so I will not go into any more depth than this. The important thing here is that this is the key to dual-booting Linux and Windows, because as far as I have been able to determine it's impossible to boot Linux from the Windows bootloader.

When I installed the latest Windows 8 updates on my two new laptops, both of them suddenly stopped booting Linux by default, and went back to booting Windows 8. This did not make me a happy person — I hate it when an update changes something like this without even giving a warning or notice, much less asking for permission or attempting to preserve the configuration that I have gone to a lot of trouble to set up.

Obvious and non-obvious changes

When I investigated exactly what had happened, I found two things — one rather obvious and not too surprising, and one not at all obvious and very surprising.

The obvious change is that something in the Windows Updates has altered the UEFI boot sequence configuration, and put Windows at the front of the list again. This is the reason that the computer suddenly starts booting Windows by default again, rather than Linux. The important thing to note here, though, is that (at least in my experience), the actual list of boot items has not been changed, so you can fix this problem by using whatever your Boot Select key is to interrupt the boot process, then select Linux to boot, and finally use the efibootmgr program under Linux to reset the boot sequence again, putting whatever Linux distribution you want to boot first in the list.

The non-obvious change is one that can make this situation a lot more difficult and confusing. I have mentioned before that Windows 8 has introduced a new 'feature' called Fast Startup, which a lot of laptop manufacturers have enabled by default. Under Fast Startup, when you instruct Windows to 'Shut down', it doesn't really 'shut down' in the way it always has before. Instead, it actually just goes into hibernation, saving the state of the system to the disk and then powering off, so that when you power on again it will come up and be ready to use much faster. I consider this to be more of a 'dirty trick' than a feature, because it's very poorly documented, if at all, and while it has the obvious effect of making Windows boot seem to be much faster than it really is, it has the much less obvious effect of not doing a real 'power on start up' when you turn the system on again after doing what you thought was a shutdown.

The reason this is so bad, and so deceptive, is actually well illustrated by these current UEFI Boot reset problems. Even if you realize what might have happened when your computer unexpectedly boots Windows instead of Linux after the updates have been installed, you then try to shut down and reboot to Linux so that you can check and repair the UEFI boot configuration. But after the shutdown has finished, you power on again and are madly pressing whatever the Boot Selection key is (Esc, F9, F12, whatever is right for your system), but it doesn't work, because this is NOT a 'boot' — it's a 'wake up from Hibernate'! You can't get back to Boot Select, so you can't boot Linux, so you can't fix whatever the update did to the boot configuration. I think that THIS is the reason for a lot of the recent posts claiming that the Windows Update "completely destroyed" their dual-boot configuration.

The solution

What you actually need to do is tell Windows to Restart, rather than 'Shut down'. That will force it all the way through a shutdown and restart; then pressing the Boot Select key will work, and you should be able to get back to Linux again. Whew. Then you can change the boot order back to Linux first (efibootmgr -o nnnn,mmmm,....) and the world will be a wonderful place again. Sort of.

The other thing that you could do to save yourself some future grief would be to disable the Windows Fast Startup option, so that you don't get fooled or stuck again the next time. This can be done by going to Power Options on the Control Panel — I find the easiest way to get there is to right-click on the battery icon in the Taskbar. Then select 'Choose what the power buttons do', and scroll all the way to the bottom of that list.  You should see an option that says 'Turn on fast startup', which you can then disable.

As I said, this information is based on my own experience with my two newest laptops. In fact, one of them had Fast Startup enabled by default and the other did not, so there are clearly differences between manufacturers on this.

While I found that I was able to 'fix' the loss of Linux dual-booting on both of my systems, I am NOT trying to say that everyone who has posted claims about dual-boot being 'destroyed' by Windows Update is wrong. I certainly have enough experience with UEFI boot configuration to know that all sorts of strange things are possible, and it may well be that some systems, with some configurations, really do get more seriously damaged by Windows Update than mine have. One very obvious example might be that the Linux items could get deleted from the boot object list. If that happened you would have to use efibootmgr to put them back again.

Anyway, after having repaired the UEFI boot configuration on my two laptops, they are both back to dual-booting with Linux GRUB as the default bootloader again. Whew.

Read more on Windows 8 and Linux

Topics: Linux, Operating Systems, Windows 8

J.A. Watson

About J.A. Watson

I started working with what we called "analog computers" in aircraft maintenance with the United States Air Force in 1970. After finishing military service and returning to university, I was introduced to microprocessors and machine language programming on Intel 4040 processors. After that I also worked on, operated and programmed Digital Equipment Corporation PDP-8, PDP-11 (/45 and /70) and VAX minicomputers. I was involved with the first wave of Unix-based microcomputers, in the early '80s. I have been working in software development, operation, installation and support since then.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

63 comments
Log in or register to join the discussion
  • NO, it is NOT a dirty trick

    Something that benefits 99% of the user base and happens to cause a problem for less than 1% is NOT a dirty trick. I knew about this before Windows 8 general availability. It was in Steven Sinofsky's blogs about building Windows 8. I know most of the user base don't have a clue but they don't have to. The point is, it benefits Windows users. Nuff Said.
    thekman58
    • Why not rename it?

      I understand that Windows needed to do something to improve their pathetic boot times, and this certainly had the desired effect. Using this "dirty trick", Windows is able to "boot" almost as fast as Linux does.

      But my problem with what they did is simple - why didn't they use a different name? Suspend, Hibernate, Sleep, or anything else - call it "George" if you want (or "Jamie" for that matter). But the simple fact is that "Shutdown" has had a very clear meaning, and a very clear function, for a very, very long time, and what this function does now is NOT "shutdown". It is, in fact, no longer "Shutdown". It doesn't perform a "shutdown". As it is, the misleading nature of the name is likely to cause problems for a lot of users, not just "less than 1%".

      Thanks for reading and commenting.

      jw
      j.a.watson@...
      • Average Joe

        Because the average user is simply going to select Shutdown.
        And that is the Target Audience. No sense in complicating things for the average joe just to make it easier for people who are a lot more tech savvy.
        KB
        thekman58
        • Dumb MS move

          There are very good reasons to complete shutdown and start cold with full boot. There are many system resets that can occur with true shutdown. Plus what is the effect on battery life?
          Linux_Lurker
          • There is no effect on battery

            The clean state is saved on the hard drive and the OS knows what to do with it.
            The OS also knows when it needs to do a clean boot like after updates.
            thekman58
          • Restart for cold boot

            FYI, choosing Restart from the Win8 UI will do a full shutdown, followed by a cold boot.
            thekman58
      • I vote for 'Hibernation'

        Neither Sleep (nor Standby) is appropriate as it is different than Hibernation.
        Rabid Howler Monkey
        • Not a true Hibernation

          because it does not save the complete state of the machine.
          only what's needed to boot
          not going to save the state of open applications, etc...
          thekman58
          • When resumed, the PC goes directly to Windows 8 without passing Go

            By saving what's needed to boot, it's closer to hibernation than it is shutdown, even if it is not 'true' hibernation.

            P.S. Whatever happened to Windows needing to reboot (at least once) during/after Patch Tuesday updates?
            Rabid Howler Monkey
          • Certain patches will require a reboot

            Yes, technically it IS hibernation. As a matter of fact, the file is save into that reserved area, only its a much smaller file since all it saves is session 0. If you do want a full shut down and cold start, just do a restart like come patches still require.
            thekman58
    • But not all of them

      While their loyalty might be suspect, dual booters are Windows users and MS customers too. And it's probably not wise to encourage them to eliminate the dual booting and run Windows under a Linux VM; or dump Windows completely.
      John L. Ries
      • Bad move

        It is always a bad mover to alienate any customer. A lost customer is the hardest one to get back and all businesses really survive on loyal, repeat customers.
        Linux_Lurker
    • re: NO, it is NOT a dirty trick

      > benefits 99% of the user base and
      > happens to cause a problem for
      > less than 1% ... The point is, it
      > benefits Windows users.

      How do you know less than 1 percent dual boot? And, to be fair, it benefits a majority of Windows users at the expense of a minority of *Windows users.*

      What if one percent of users search for words within files? According to you, MS would be right to discontinue that feature. Now, what if you relied on that feature?

      Windows: the OS of the least common denominator. What a slogan!
      none none
      • Given Linux markets hare 1% may be too generous.

        That would mean almost all of them dual boot.
        ye
      • Managing expectations

        If you're the 500 lb gorilla and you want everybody to use your software, then you need to make some concessions to computing minorities who might otherwise encouraged to go elsewhere. At the very least, you have to give people the ability to use the system the way they want to use it, even if it induces vomiting in the developers and their supervisors.

        You can design a system for a very focused group and be "my way or the highway" about it, but you're limiting yourself to a niche market by definition.

        Nothing's free.
        John L. Ries
  • It Is As Big A Problem As Is Being Reported

    Just because you don't see it as an issue doesn't mean that it's not an issue. For someone that has to diagnose and then triage affected computers it's most certainly as big a problem as is being reported.
    cj100570@...
    • True,

      But that's what living on the cutting edge is all about right? ;-)
      thekman58
    • No, it isn't

      I would seriously question the competence of any IT admin who has multiple customer/clients setup to dual boot.

      And I would question the competence of any IT admin who allows customers/clients to install OS updates without fulling testing it out themselves on the appropriate configurations.
      aep528
  • Secureboot

    It was put there as an anti-piracy measure by Microsoft as a widely known pirating trick makes use of GRUB and has little to do with rootkits, plausible deniability. From MS's point of view it also has the added bonus of making Linux duel boot users life a lot more difficult.
    Alan Smithie
    • Soooooo

      ..why couldnt they just incorporate a better solution into grub? It's open source by the way and free to contribute to..no that would help Mr Average out and not them! Plank
      Bladeforce