![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
There's now no shortage of Linux distributions that support Secure Boot out of the box, so that's a mostly solved problem. But even if your distribution supports it entirely you still need to boot your install media in the first place.
Hardware initialisation is a slightly odd thing. There's no specification that describes the state ancillary hardware has to be in after firmware→OS handover, so the OS effectively has to reinitialise it again. This means that certain bits of hardware end up being initialised twice, and that's slow in some cases. The most obvious is probably USB, which has various timeouts as you wait for hardware to settle. Full USB support in the firmware probably adds a couple of seconds to boot time, and it's arguably wasted because the OS then has to do the same thing (but, thankfully, can at least do other things at the same time). So, looking for USB boot media takes time, and since the overwhelmingly common case is that users don't want to boot off USB, it's time that's almost always wasted.
One of the requirements for Windows 8 certified hardware is that it must complete firmware initialisation within a specific amount of time, something that Microsoft refer to as "Fast Boot". Meeting these requirements effectively makes it impossible to initialise USB, and it's likely that certain other things will also be skipped. If you've got a USB keyboard then this obviously means that your keyboard won't work until the OS starts, but even i8042 setup takes time and so some laptops with traditional PS/2-style keyboards may not set it up. That means the system will ignore the keyboard no matter how much you hammer it at boot, and the firmware will boot whichever OS it finds.
For a newly purchased device, that's going to be Windows 8. It's not too much of a problem with a fully installed Windows 8, since you can hold down shift while clicking the reboot icon and get a menu that lets you reboot into the firmware menu. Windows sets a flag in a UEFI variable and reboots the system, the firmware sees that flag and does full hardware initialisation and then drops you into the setup environment. It takes slightly longer to get into the firmware, but that's countered by the time you save every time you don't want to get into the firmware on boot.
So what's the problem? Well, the Windows 8 setup environment doesn't offer that reboot icon. Turn on a brand new Windows 8 system and you have two choices - agree to the Windows 8 license, or power the machine off. The only way to get into the firmware menu is to either agree to the Windows 8 license or to disassemble the machine enough that you can unplug the hard drive[1] and force the system to fall back to offering the boot menu.
I understand the commercial considerations that result in it ranging from being difficult to impossible to buy new hardware without Windows pre-installed, but up until now it was still straightforward to install an alternative OS without agreeing to the Windows license. Now, installing alternative operating systems on many new systems will require you to give up certain rights even if you want nothing other than to reach the system firmware menu.
I'm firmly of the opinion that there are benefits to Secure Boot. I'm also in favour of setups like Fast Boot. But I don't believe that anyone should be forced to agree to a EULA purely in order to be able to boot their own choice of OS on a system that they've already purchased.
[1] Which is a significant and probably warranty-voiding exercise on many systems, and that's assuming that it's not an SSD soldered to the motherboard…
Hardware initialisation is a slightly odd thing. There's no specification that describes the state ancillary hardware has to be in after firmware→OS handover, so the OS effectively has to reinitialise it again. This means that certain bits of hardware end up being initialised twice, and that's slow in some cases. The most obvious is probably USB, which has various timeouts as you wait for hardware to settle. Full USB support in the firmware probably adds a couple of seconds to boot time, and it's arguably wasted because the OS then has to do the same thing (but, thankfully, can at least do other things at the same time). So, looking for USB boot media takes time, and since the overwhelmingly common case is that users don't want to boot off USB, it's time that's almost always wasted.
One of the requirements for Windows 8 certified hardware is that it must complete firmware initialisation within a specific amount of time, something that Microsoft refer to as "Fast Boot". Meeting these requirements effectively makes it impossible to initialise USB, and it's likely that certain other things will also be skipped. If you've got a USB keyboard then this obviously means that your keyboard won't work until the OS starts, but even i8042 setup takes time and so some laptops with traditional PS/2-style keyboards may not set it up. That means the system will ignore the keyboard no matter how much you hammer it at boot, and the firmware will boot whichever OS it finds.
For a newly purchased device, that's going to be Windows 8. It's not too much of a problem with a fully installed Windows 8, since you can hold down shift while clicking the reboot icon and get a menu that lets you reboot into the firmware menu. Windows sets a flag in a UEFI variable and reboots the system, the firmware sees that flag and does full hardware initialisation and then drops you into the setup environment. It takes slightly longer to get into the firmware, but that's countered by the time you save every time you don't want to get into the firmware on boot.
So what's the problem? Well, the Windows 8 setup environment doesn't offer that reboot icon. Turn on a brand new Windows 8 system and you have two choices - agree to the Windows 8 license, or power the machine off. The only way to get into the firmware menu is to either agree to the Windows 8 license or to disassemble the machine enough that you can unplug the hard drive[1] and force the system to fall back to offering the boot menu.
I understand the commercial considerations that result in it ranging from being difficult to impossible to buy new hardware without Windows pre-installed, but up until now it was still straightforward to install an alternative OS without agreeing to the Windows license. Now, installing alternative operating systems on many new systems will require you to give up certain rights even if you want nothing other than to reach the system firmware menu.
I'm firmly of the opinion that there are benefits to Secure Boot. I'm also in favour of setups like Fast Boot. But I don't believe that anyone should be forced to agree to a EULA purely in order to be able to boot their own choice of OS on a system that they've already purchased.
[1] Which is a significant and probably warranty-voiding exercise on many systems, and that's assuming that it's not an SSD soldered to the motherboard…
What about live-cds?
Date: 2013-05-28 10:35 pm (UTC)Re: What about live-cds?
Date: 2013-05-28 10:38 pm (UTC)Re: What about live-cds?
From: (Anonymous) - Date: 2013-05-29 01:49 am (UTC) - ExpandRe: Not bound by licence agreement I think
Date: 2013-05-30 02:39 pm (UTC)Tying
Date: 2013-05-29 01:51 am (UTC)The simplest technical solution would seem to be to not do FastBoot until after the first successful boot-to-full-running-OS, so "out of the box" systems (in "late first install" mode) go through the slow path that enables the keyboard in the pre-boot environment. Or (possibly in addition) implement something like the Apple Macintosh hold-key-to-boot-from-CD in the early OS environment (ie, that when the early OS environment initialises the keyboard, it can notice that the key is held down and then issue the reboot-from-CD; the Mac does it in the firmware IIRC, but it'd be workable in the early OS environment from a one-off usability point of view).
Ewen
Re: Tying
Date: 2013-05-29 09:32 am (UTC)Reboot to firmware menu
Date: 2013-05-29 03:22 am (UTC)Re: Reboot to firmware menu
Date: 2014-04-15 04:42 pm (UTC)For example, with mine, running 'efibootmgr -n 0000' selects the ROM Setup to boot on next reboot (and boots it only once).
A system's design shows it's true intent
Date: 2013-05-29 03:28 am (UTC)shift f10
Date: 2013-05-29 03:39 am (UTC)Re: shift f10
Date: 2013-06-01 07:27 pm (UTC)no subject
Date: 2013-05-29 06:11 am (UTC)no subject
Date: 2013-05-29 07:30 am (UTC)GPIO-connected key?
From: (Anonymous) - Date: 2013-05-29 09:44 am (UTC) - ExpandRe: GPIO-connected key?
From: (Anonymous) - Date: 2013-05-31 04:51 am (UTC) - ExpandNo keyboard
From:(no subject)
From:Boon for ransomware, by the looks of it
Date: 2013-05-29 09:52 am (UTC)Wesley Parish
ALT Linux Rescue
Date: 2013-12-06 04:58 pm (UTC)--
Michael Shigorin
With legal problems, lawyers are the solution
Date: 2013-05-29 11:28 am (UTC)Or perhaps you can argue that EULA is invalid because you were blackmailed into it. That should give you some attention.
Re: With legal problems, lawyers are the solution
Date: 2013-05-29 12:05 pm (UTC)Not at *all* like Prenda Law. Oh no.
Re: With legal problems, lawyers are the solution
From: (Anonymous) - Date: 2013-05-29 01:07 pm (UTC) - Expandwhat did you mean is :
Date: 2013-05-29 11:42 am (UTC)this make no sense.
still need to boot your install media?
boot the "install media"? "install media" is media, or as we call it , data. you cant boot data, its not a computer. booting data is "clearing it?"
im not sure what you ment there.
Re: what did you mean is :
Date: 2013-05-29 11:51 am (UTC)does shift-F10 work at the EULA screen?
Date: 2013-05-29 01:33 pm (UTC)Try to make it crash?
Date: 2013-05-29 02:15 pm (UTC)Boot to the EULA screen, and while at it, hold the power button firmly until it powers down (power down forced by the hardware, the same one you would use if it stopped responding). This would look like a crash (no normal shutdown), so it is possible that it would allow you to get to the firmware on the next power on.
Re: Try to make it crash?
Date: 2013-05-29 02:50 pm (UTC)It isn't show as an simple option for the user =/
Re: Try to make it crash?
From:Re: Try to make it crash?
From: (Anonymous) - Date: 2013-06-01 07:32 pm (UTC) - ExpandPress power button for 5 seconds
Date: 2013-05-29 02:37 pm (UTC)Re: Press power button for 5 seconds
Date: 2013-05-30 07:02 am (UTC)I've got an Intel board with 67 chipset, which has comparable tech in it.
The way to do a full initialise, i.e. turn off all the optimisations, is to press and hold the power button for about 4 seconds (it gives off four beeps). Then you are in a full BIOS/UEFI environment, and you can change the optimisations to allow booting from USB.
no subject
Date: 2013-05-29 02:52 pm (UTC)Build your own?
Date: 2013-05-29 04:02 pm (UTC)Unless you want, you know, a laptop. Or a netbook.
Re: Build your own?
From: (Anonymous) - Date: 2014-01-29 04:31 pm (UTC) - ExpandYou can bypass Fast Boot
Date: 2013-05-29 03:29 pm (UTC)Once in there you can disable Secure Boot and enable Legacy boot devices to get good ol' BIOS behaviour. I don't know if this is true of all Windows 8 machines but it seems Secure Boot must be disabled or there's no option to boot to anything but Windows or network
Re: You can bypass Fast Boot
Date: 2013-05-29 03:36 pm (UTC)Re: You can bypass Fast Boot
From: (Anonymous) - Date: 2013-05-30 06:34 am (UTC) - ExpandRe: You can bypass Fast Boot
From:Recent example
Date: 2013-05-29 05:40 pm (UTC)hardware switch
Date: 2013-05-29 07:42 pm (UTC)this would of course have to be implemented on the next generation of motherboards and/or computer chassis and is not a solution viable solution right now but for the future i think it seems simple and practical, dont you?
Re: hardware switch
Date: 2013-05-29 07:43 pm (UTC)Long Press
Date: 2013-05-29 08:45 pm (UTC)Re: Long Press
Date: 2013-05-30 02:40 am (UTC)Re: Long Press
From:Firmly of the opinion...
Date: 2013-05-29 09:55 pm (UTC)There is no benefit to SB, not in it's current form, not as long as we have to accept Microsoft as any kind of authority. Develop tools that are in the user's control, not in Microsoft's. That's the only way for any meaningful security.
Microsoft signing keys will be compromised. Secure boot will be broken. It's only a matter of time.
Re: Firmly of the opinion...
Date: 2013-05-29 11:42 pm (UTC)Secure Boot doesn't buy anything, until and *UNLESS* you have something secure to boot. And we don't.
Re: Firmly of the opinion...
From: (Anonymous) - Date: 2013-05-30 02:42 am (UTC) - ExpandRe: Firmly of the opinion...
From:Re: Firmly of the opinion...
From: (Anonymous) - Date: 2013-06-01 02:22 pm (UTC) - Expandno subject
Date: 2013-05-29 10:31 pm (UTC)Windows 8 EULA
Date: 2013-05-30 01:38 am (UTC)Re: Windows 8 EULA
Date: 2013-05-30 04:37 am (UTC)Examples of models that have this problems
Date: 2013-05-31 07:44 am (UTC)Re: Examples of models that have this problems
Date: 2013-05-31 07:48 am (UTC)Re: Examples of models that have this problems
From: (Anonymous) - Date: 2013-06-01 07:37 pm (UTC) - Expandno subject
Date: 2013-06-03 08:14 pm (UTC)no subject
Date: 2013-06-17 11:05 am (UTC)So, I don't think too much, and I don't waste time on "fixing" the issues they've imposed on their customers. If I encounter a hardware with win8 preinstalled, first thing I do is wipe off the hard drive, to make sure all Microsoft excrements are gone for good (excuse me for tough words, but this is least how we should behave towards someone who takes our money and spits in our face)
Linus on Windows 8 hardware.
Date: 2013-07-15 08:06 am (UTC)I have a Toshiba P50T (4th gen i7) and cannot get it to boot from a bootable USB.
The USB is a bootable Ubuntu instance (current at time of posting).
I have tried disabling secure boot in the Sony BIOS, but it made no difference.
A legacy Toshiba Satellite Pro A120 boots from the USB not problems e.g. the USB is verified.
The result is I have two high end very much contemporary devices that are useless for booting anything other than Windows 8.