With Windows 8 pushing a “touch-first” desktop interface—Microsoft’s words, not ours—and with Valve’s Steam on Linux beginning to bring much-needed games and popular attention to the oft-overlooked operating system, there’s never been a better time to take Linux out for a test drive.
Dipping your toes into the penguin-filled waters of the most popular open-source ecosystem is easy, and you don't have to commit to switching outright to Linux. You can install it alongside your current Windows system, or even try it without installing anything at all.
Ubuntu is the most popular Linux distribution for desktop and laptop Linux users, so we’ll focus on Ubuntu throughout this guide. For the most part, Ubuntu just plain works. It sports a subtle interface that stays out of your way. It enjoys strong support from software developers (including Valve, since Steam on Linux only officially supports Ubuntu). And you can find tons of information online if you run into problems.
Windows 8's tile-based interface puts a bold new spin on the familiar Windows interface—so bold that many long-time Windows users are threatening to jump ship to another operating system rather than learn Microsoft's "modern" UI. Of course, you'll still find yourself in foreign territory even if you actually follow through and make the jump. Installing a new operating system is easy, but wrapping your head around an alien environment can be more difficult, even if you're using a comparatively user-friendly OS like Ubuntu Linux.
Luckily, Linux is customizable—much, much more than Windows. In fact, if you're having trouble with the transition (or plopping Ubuntu on a parent's PC), you can tweak and tune the OS to feel pretty darned close to the Windows environment you've forsaken.
I’ll go through two methods here. One adapts Ubuntu’s default Unity desktop to make it feel slightly more like Windows, while the other entails a bit more work and a different desktop interface entirely to create a truly Microsoft-like experience.
Freeing the way for independent Linux distributions to be installed on Windows 8 computers, the Linux Foundation has released software that will allow Linux to work with computers running the UEFI (Unified Extensible Firmware Interface) firmware.
The Linux Foundation Secure Boot System solves a fundamental problem for many Linux distributions, by providing a way for a Linux-based OS to run on new hardware controlled by UEFI firmware, also known as "secure-boot" technology.
"The Linux Foundation wishes not only to enable Linux to keep booting in the face of the new wave of secure boot systems, but also to enable those technically savvy users who wish to do so to actually take control of the secure boot process by installing their own platform key," wrote Linux Foundation technical advisory board member James Bottomley,who led the development of the bootloader, in a statement.
As a potential replacement to the long-used BIOS firmware, UEFI is an industry initiative to secure computers against malware by designing the computer's firmware to require a trusted key before booting the operating system, or any hardware inside the computer, such as a graphics card.
UEFI would provide a foundation for a chain of trust that would connect all the way up to the software layer, which could thwart attempts to install illicit, and harmful, software on computers.
Windows 8
Microsoft requires UEFI on all machines running Windows 8. While OEMs (original equipment manufacturers) have the option of providing a way to turn off UEFI so other OSes can run on the machine, many in the Linux community fear that OEMs will not provide a UEFI off-switch, thereby not allowing other OSes without a key to run on these machines.
A generic Linux distribution will not run on a Windows 8 computer without keys.
"In secure mode ... the platform will only execute EFI binaries signed with a key that is whitelisted in the UEFI secure boot signature database," Bottomley explained.
The latest releases of many major Linux distributions now include a bootloader or a shim of some sort to work with UEFI, including Ubuntu 12.10 and Fedora 18. This UEFI requirement, however, has been seen as a roadblock for those who like to create their own distributions of Linux. The Linux Foundation bootloader provides a hash code, certified by Microsoft, and support infrastructure to boot a generic Linux kernel.
"We have in place a protocol where Microsoft is happy for us to hand off from the initial Microsoft signed EFI binary load to a separately verified EFI binary chain, which the individual distributions control," Bottomley wrote.
Other efforts
This is not the first approach someone in the Linux camp has devised for working with UEFI. Security developer Matthew Garrett released his own shim last year.
A shim is different from a bootloader even though both override the UEFI security system to load Linux. Garrett's shim is hardcoded to work with a specific generic bootloader, called elilo, that boots the Linux kernel.
UEFI
The Linux Foundation bootloader, which Bottomley said technically is more of "a preloader," can work with any generic Linux bootloader. "We did this because our mission is to enable any bootloader in the Linux ecosystem to work with secure boot," Bottomley said.
Garrett and Bottomley are discussing the possibility of merging Garrett's shim with the Linux Foundation's bootloader. Garrett helped Bottomley create the bootloader, as did other developers from the Linux Foundation, Red Hat, and Canonical.
UEFI has proved to be a challenge to implement even for Microsoft Windows. Garrett also reported that certain Samsung laptops running Windows 8 could permanently stop working due to a bug in how the Samsung firmware stores system crash data in the UEFI storage space.