Microsoft is trying to lock down system firmware to prevent malware and pirated copies of Windows. Unfortunately, this may have some undesirable side effects for Linux users and anyone else that wants to boot an operating system not officially blessed by Microsoft and OEMs. This poses a problem for hobbyists and large organizations alike.
This was discovered by Linux developer Matthew Garrett, who's been doing a lot of work with EFI booting in general for his day job. Recent UEFI specifications have allowed for "secure boot" that requires an OS to have a signed key in system firmware to work.
Microsoft is requiring (PowerPoint) that OEMs ship client systems with the secure boot enabled to get the Windows 8 logo. Of course, all major OEMs are going to want the Windows 8 logo. In short, a vendor like Dell would ship systems that recognize the OSes that Dell offers. That would mean whatever Windows versions that are offered by Dell would be properly signed. Other OSes – even retail versions of Windows 8 – wouldn't necessarily be signed to run on the systems.
The positive to this system is that malware that affects OS might not be able to boot. According to the presentation by Arie van der Hoeven of Microsoft, if the boot process detects a unsigned boot manager, it would drop to a recovery system managed in firmware. Presumably OEMs would include recovery media to fall back to.
The downside is that users have a lot less control over their hardware with this feature enabled. Much like mobile devices that prevent unsigned ROMs from loading, this would mean desktop systems with Windows 8 would not run unsigned OSes without rooting the computer. If you have malware on your system, you're stuck with the OEM recovery media instead of being able to use your own recovery software.
This presents a bit of a headache for vendors like Acronis that provide backup software that boots systems to make images of hard drives.
Garrett notes that vendors could choose to provide firmware support to disable this, but "experience indicates that many firmware vendors and OEMs are interested in providing only the minimum of firmware functionality required for their market." Loosely translated? Many vendors aren't going to spend the money to give users this feature.
The secure boot requirement is already raising eyebrows in the Linux community. As planned, machines that would conform to the logo requirements for Windows 8 (read: virtually any system you would buy from Dell, Asus and so on) would not boot Linux.
Though Microsoft has not shown a great deal of love for Linux, I doubt that this is a just a scheme to thwart desktop Linux. At best, Linux commands a few percent of the desktop market. It's hardly worth Microsoft's time to go out of its way to prevent a small percentage of users from installing Linux on machines they've already paid "the Windows tax" for. I suspect Microsoft's primary aim is to further curtail "pirate" versions of Windows.
But it has the potential to do collateral damage to Linux users and distributors. It also affects anybody else that might want to load a different OS onto the system, and even to users who want to install third-party graphics cards onto the system.
Secure boot means that the small but enthusiastic Hackintosh community would be out of luck too. While you might find Linux vendors willing to jump through the technical and administrative hoops to get signed copies of Linux that would work with UEFI, there's little chance of getting boot media for OS X that would have an approved CA signature.
Dedicated users could still build their own machines, of course. However, if the Win 8 Logo program goes to market as proposed it would severely limit the options for many OEM-built machines. Want to reuse that old Windows 8 machine with a Linux distribution or something like FreeNAS? No dice.
It's also unclear how this would affect resale of systems that go off-lease. There's a pretty big aftermarket for desktop systems that would be affected by this as well.
Time for Concern?
Garrett says that "it's probably not worth panicking yet. But it is worth being concerned." I agree with this – it's going to be quite a while before Windows 8 ships. There's a lot of time to give Microsoft feedback on this feature, and the company might back off the stance on its own.
But it is a concern. One of the things that's always been a given for me is that I can repurpose any PC hardware by installing Linux on it. Losing this much control over hardware that I've purchased concerns me – and it should concern enterprise buyers as well.
What do you think? Is this an acceptable feature, or should Microsoft go back to the drawing board?