My primary laptop is a Samsung Chronos Series 7 machine that came with Windows 8 pre-loaded. Although there was nothing wrong with it the machine did have a considerable amount of usual vendor bloat-ware that is installed on mostly every machine these days.
On the recent release of Windows 8.1 I decided to do a clean format of my laptop to get rid of all pre-installed crapware and then upgrade it to Windows 8.1 to make the most of the upgrade process.
So I downloaded 8.1 ISO from my MSDN account, downloaded the Windows 7 USB tool, got a spare USB flash drive handy and I was ready to roll. After preparing the flash drive with the 8.1 ISO I shut down my system, plugged the USB in turned it on, went into the BIOS and altered the boot device priority so that the laptop would boot from the USB instead of HDD.
Problem 1 – Boot, no boot, WTF eh?
And there was my first problem. The laptop wouldn’t boot from the USB drive no matter what I do. I was genuinely confounded at this point. This process is something I have done countless times for both my personal use and during the course of my small business that I used to run a couple of years ago here in England. No matter what I do my laptop would not boot from the USB. Some research into this behaviour lead to the discovery of UEFI mode and something called Secure Boot. Let’s start with UEFI which as per its Wikipedia page is defined as
The Unified Extensible Firmware Interface (UEFI) is a specification that defines a software interface between an operating system and platform firmware. UEFI is meant to replace the BIOS firmware interface, present in all IBM PC-compatible personal computers. UEFI can support remote diagnostics and repair of computers, even without another operating system.
I had no idea what this meant. Reading between the lines and on a few blogs gave me the impression that this is a new way of doing the good old fashioned blog and with this UEFI support the systems would be able to boot faster and run more secure.
Next comes Secure Boot. Again referring back to the same Wikepedia page Secure Boot is defined as
The UEFI specification adds a protocol known as Secure boot, which can secure the boot process by preventing the loading of drivers or OS loaders that are not signed with an acceptable digital signature. Secure boot is supported by Windows 8, Windows Server 2012, and selected Linux distributions.
I do not claim to be an expert by any means on either of these two but reading through various explanations of these two it made sense that my laptop supported UEFI and thus Secure Boot and together these two were preventing from any unsigned boot loader from bootstrapping the OS load process. I confirmed this by trying to boot my laptop using a Kaspersky boot disk which again failed to boot my laptop.
Resolution – Part 1
While not obviously apparent the solution to this problem was thankfully simple. I entered the BIOS of my laptop and changed the UEFI mode to both UEFI and legacy BIOS mode. Further I disabled Secure Boot within the BIOS so it would let me boot from the USB key. On making these two changes I was finally able to kick start the Windows 8.1 installation process.
So far so good eh! Well only for so long. I quickly reached the screen where I was asked to chose a partition to install 8.1 on. Curiously no matter whichever partition I picked I received the following
Windows cannot be installed to this disk. The selected disk is not of the GPT partition style
Problem 2 – This disk is not GPT style. Say what?
Another head scratcher! Again in my years of installing plain old vanilla Windows systems never had I come across this tongue twister of a bummer. At this point my laptop was a bit out of action, my three year son refused to hand me the iPad with a strong “No papa that is not funny!” warning and my 7 month old daughter was happily chewing away at my (crappy) Samsung Galaxy S3 Mini with a very “take it if you dare” look in her eyes. Very well then! I hit the power button of the laptop, yanked out the USB key and booted back in my old Windows 8 universe. Running a few Google (Bing..LOL) searches on this problem pointed this out as a mixed bag of problems.
- It turns out that my laptop was still using the UEFI mode, it had just disabled the Secure Boot which allowed me to boot from the USB Key
- Windows 7 USB/DVD tool formats the USB Key as NTFS file system which the UEFI does not like. You must convert it to FAT32 to go anywhere with this tool.
Armed with this information the rest was rather easy to put together.
Resolution – Part 2
Instead of using the Windows 7 USB/DVD download tool you can use diskpart to format the USB Key in FAT32 and make it bootable. Here’s what you do
Open up a command prompt in the admin mode and then fire the following sequence of commands (double click anywhere in the below code to copy it)
list disk – This would show you a list of disks on your machine. Find your USB drive. Say it is at position 3
select disk 3
create partition primary
select partition 1
format quick fs=fat32
Your USB key is now formatted to fat32 and is assigned a drive letter. Let us assume it is X. Mount your Windows 8.1 ISO to another drive letter. Assume this is Y. Now finally execute this
xcopy Y:\* x:\ /s /e
Remove the USB drive, shut down the system, boot from the drive and that’s it! At this point you should be able to install Windows 8.1 using this USB key.
Finally – Disable Legacy Boot
When the Windows 8.1 was successfully installed I reinforced the UEFI mode exclusivity and removed the option of support legacy BIOS boot to secure the OS.
The problems that I faced were due to the UEFI mode and Secure Boot which at first did not let me boot from a USB Key to install Windows 8.1 and then would not let me install the OS from a USB Key formatted as NTFS.
Following the process as I explained above resolved the issues and I was able to install Windows 8.1 successfully on my laptop.