[Update: There’s a newer article that will cover both Windows 8 and Windows 8.1 for installation of unsigned drivers, including the directive screenshots.]
Most consumer devices that computer-syncable usually use the USB port for tethering. The devices have their own controllers, that are automatically installed on your PC during the first time it is plugged in. In Windows, they’re called drivers. Each device has different modes of operations on the hardware level, that the software doesn’t need to know the specifics of. All the software does, is command, and your hardware does what it has to; a driver is like an instruction manual for the hardware. As you can probably imagine, I happen to have at least one of every such thing you can speak of – mice, keyboards, printers, flash drives, wireless XBox game controller, phones, tablets, hard drives, and developer electronic stuff.
Working of drivers
Except most developer electronics, every other device have their own drivers that install either via the internet or from the device itself. With a steady internet connection, one can basically cut down printer driver installations to a few KiBs, instead of doing it with a bundled driver setup. This way one can avoid wasting system resources that happens from installing the whole thing instead of just the main components. Same is the case with developer electronics, sometimes. However, the issues lie with the driver signing process.
Drivers could be written by anyone. It would be difficult to differentiate the original from a malicious, non-functional, or troublesome driver if certain securities weren’t in place. Microsoft has a system that would help do that by only letting the right drivers install without pain. It’s called WHQL. You can read all about it here.
Issues with driver signing in genuine cases
Problem is, sometimes, certain things are used in very small quantities, so it would be counter-productive for the manufacturer to get those drivers signed. Developer electronics are generally used by, well, electronic developers, which is not really as vast as one might think. Plus, the whole concept is quite fickle when it comes to hardware design considerations. If the hardware changes in a way unsupported by the driver, it might have to be changed to accommodate new designs. SInce, driver signing is not a free service, hardware developers avoid getting them signed.
Of course, there are trusted developer stuff that don’t get driver-signed, but would pose no harm to the system, if downloaded from the right website. Until Windows 7, every unsigned driver wouldn’t install by itself.
Process until Windows 7
The installation would fail in the first attempt. The user would have to intervene and explicitly browse to the right driver package. It doesn’t end there. The user would have to confirm it in the scary colour coded dialog. After this step is passed one would not face any trouble.
However, Windows 8 took security up a notch. Unsigned drivers couldn’t be installed at all. Of course, there is a workaround but not that straightforward or intuitive. To be honest, I still wouldn’t recommend you go through bypassing the driver check blockade if you don’t know what the end result might be. Still, if you’re a developer, there is a way to go through with this.
Installing Unsigned Drivers in Windows 8
Again, do this only if you’re sure about it. Follow the steps precisely:
1. Open control panel:
Invoke the Settings’ charm via the Charms bar.
If you don’t know how it’s done go back in time and buy a Windows 7 PC, or discourage yourself from upgrading to Windows 8, whichever applies to you. Oh heck! Move your mouse pointer to one of the extreme right corners, slide along the right edge and click on “Settings”.
At the bottom of the charm, click on “Change PC settings”.
This should open up the special Control Panel for Windows 8.
2. Restart in advanced startup mode:
Click on the “General” tab. Vertical scroll to the bottom of the tab, and check for “Advanced Startup”. Click on “Restart”.
The system will restart and provide you an EFI menu, prompting you with choices on how to proceed.
3. Restart into startup settings prompt:
Click on “Troubleshoot”. This will let you choose from three options – Refresh, Reset and Advanced. Choose “Advanced Options”.
On the next screen choose the last option, “Windows Startup Settings”. Click on Restart.
4. Choose to force unsigned driver installation:
The computer restarts again, this time presenting you a list of options using which you can change the parameters of your current system startup.
In the list, there is an option, “Disable driver signature enforcement”. Here the relevant function key has to be tapped.
5. Install your driver:
As soon as that is done, the system boots in a special full functionality mode that’ll let you force driver installations just like in Windows 7 and earlier. Try to keep it in this mode for as little time as possible. Install the drivers and check if they show up in the list of devices with no errors. If they still do, you might have the wrong driver that might not have been compatible with the device or Windows 8.
Restarting will enable driver signing enforcement and continue to protect the system from unverified drivers. However, drivers installed continue to remain as they are and are usable on your Windows 8 system then on.
Where it’s helpful
This process came in handy while installing Arduino UNO drivers on Windows 8. It was a stubborn little fellow, and I used the aforementioned bypass to, well, bypass it.
Do let me know if and why you used this tutorial. I’m making a list of devices that may have unverified drivers, so I’ll certainly need your help. If you wish to Buy me stuff, then scroll all the way up for the details on Buy Me Stuff…