The first time I’ve laid my eye on a server with UEFI was couple of years ago. My work place bought new IBM servers and they kept crushing down mid boot or taking a very long time to boot.
I asked myself why use this new replacment for BIOS? Why do we need it – especially back then when the UEFI was very young and not that stable.
The real reason back then (to my knowledge) was the Nehalem architecture which benefited faster boot, 2T+ hard drive support and better memory access.
As said I didn’t like it back then.
Don’t take me wrong – UEFI is the future and it should replace the BIOS old architecture that is 30 years old. With built in network support (for updates and fixes), Better visuals, 2T+ Disks support, Modular extensions (for future hardware) and more UEFI is here and it’s here to stay.
Read more on UEFI in Wikipedia or here.
Now lets move to GPT (GUID Partition Table): Most users didn’t use GPT until today because they didn’t need to.
GPT came to replace MBR (Master Boot Record) – These two mechanisms where created to split the hard drive to logical partitions (slices) and provide the OS way to upload itself from the BIOS/UEFI.
The old architecture of MBR was good enough for the old disks and the old OS’s that didn’t need much. Also most users had only 1~3 logical volumes. MBR supported up to 4 partitions, and if you wanted more the 4th was a special partition that gave the ability to add more partitions. Also another problem was that changes to the partition table of the MBR was difficult to the OS partitions without shutting down the OS.
Over the years several solutions came like LVM to make the work easy – yet they where located on the old MBR.
GPT is part of the UEFI, it was created to solve this problem so the new OS’s will be able to work with ease and a lot of partitions to their heart content.
So why do I say this combination is difficult?
Well a few days ago a friend came to me with a help request. He bought a new Laptop with OEM Windows 8. Like most of the people that used this OS he hated it and wanted me to install his old Windows 7 Ultimate he had for the last laptop.
As this laptop had built in Windows 8, inside the hard drive is a special backup partition I’ve wanted to install the Windows 7 under the Windows 8 OS partition and don’t delete the original version the laptop came with.
But alas! when I’ve tried to boot the CD nothing happened. More then that the UEFI boot menu didn’t register the CD as a viable boot device no matter what I’ve done.
After a long time I’ve found this article that explained it: UEFI doesn’t have a fixed boot devices and boot order – It createa it on the fly and ask the devices for their UEFI boot file if one exists, only then it is a viable boot device and you can use boot from it.
This specific version of the installed laptop didn’t have the UEFI boot files so I can’t boot it with UEFI.
OK – what now?
The solution came with CSM (Compatibility Support Module) that gives you backward compatibility to use legacy boot devices.
That solved the problem and the Windows 7 Installer started.
2 minutes in the installer I’ve tried to install the OS on the old C: partition, yet the installer didn’t want to do so. The error was: “windows cannot be installed on this disk. The selected disk is of the GPT partition style.”
What happend? Well, Windows 8 was installed on a hard drive with GPT, yet windows 7 can’t boot itself from GPT hard drive without UEFI boot method.
So lets sum this up:
- I cannot run the Windows 7 installation disk because the disk don’t support UEFI boot – thus I’ve change the boot to legacy mode (CSM).
- I cannot install Windows 7 on the GPT hard drive because the UEFI boot is in legacy mode (CSM)
Well ain’t that Catch 22.
Unfortunately the solution was to erase all the hard drive and use old MBR for the Windows 7 installation thus deleting the Windows 8 for good. (The guy needed his laptop pronto so I didn’t had the time to find another solution).
Well – Now that I don’t need to try to solve this problem I might just watch Catch 22 movie!