Since the prices on 4TB drives have started to come down ($125+shipping on Newegg as of this writing) I decided it was time to start looking into converting my system from MBR over to a UEFI/GPT-based setup. I've read through a LOT of information here on these forums, as well as other places and, being computer-savvy (I've been working with computers in one way or another for over 25 years), I decided to make a go of it so that I would know what I was doing when the time came to add a 4TB drive or two to my PC. I am no stranger to PCs or to installing operating systems, but UEFI was (and still is) something completely new to me. I had very few issues and none that I could not overcome, but since it seems like UEFI is still a major headache for many I thought I would share my experiences here. This is in NO way meant to be any definitive, final guide or tutorial, though I have done my best to be as detailed as possible in describing the steps I took. This is simply me documenting how I went about getting things done. Many of the things I talk about are plainly obvious facts to a lot of folks, but to me a lot of them are things I learned as I went along so I included them in the write-up. If someone else can learn a thing or two from what I did then that makes it all the better. And finally, I am NO expert on UEFI and I still have a LOT to learn but I am more than happy to answer any questions that I can.
First things first, here are the basics of the system I used during my experimenting:
Intel DP55KG Extreme Series motherboard
Intel i5-760 (first-generation) quad-core CPU @ 2.80GHz
12GB (3x4GB) DDR3
MSI GeForce 210 graphics card
ThinkPenguin TPE-N300PCIE4 Wi-Fi card
LG dual-layer "Super Multi Blue" BD burner
320GB Seagate platter drive
Win7 Ultimate SP1 - disc ISO obtained from Digital River (before M!cr0$oft stopped allowing them to host the Windows ISO files)
Kubuntu 14.04LTS 64-bit "standard" installation disc
I have not been able to find out which version of UEFI my mobo has, but a couple things are worth mentioning. First, nowhere in my BIOS can be found an option to enable/disable Secure Boot. I can only assume this is because, due to the age of my mobo, Secure Boot simply didn't exist or didn't exist in its current implementation when Intel was still manufacturing this board. The other thing worth mentioning is that I have not found an actual command line EFI Shell. During the install processes I ran into boot menu entries referencing EFI Shell (see below) but I've not found any way to access the EFI command line.
The drive used for this test was given a 1-pass erase with Active KillDisk to wipe out any info left from previous uses. Before beginning anything, all of my other internal and external HDDs were disconnected so as to avoid any complications or confusion. Once the blank drive was plugged in I was ready to go.
My first step was to set my BIOS to boot in UEFI mode. I believe I have read somewhere that SATA operation needs to be set to IDE/Legacy mode but I was able to have a working install with my controller left in AHCI mode. With AHCI mode set, however, the BIOS shows "No Boot Drive" on the boot order selection screen. Hitting [F10] during startup for the boot selection also shows no available boot devices. However, booting up with my Win7 disc in the drive showed the following entry in my [F10] Boot Option Menu:
which I of course selected, and then the real work began.
A moment after pressing "any key to boot from CD or DVD" the language and locale selection screen popped up. I hit [Shift]+[F10] to open a command prompt, where I entered the following commands:
At this point I could have continued on with the installation but, wanting to double-check everything, I rebooted and once again selected "[Internal EFI Shell--CDROM]" from the [F10] boot menu. Again I opened a command prompt and did a "list disk" in DiskPart to verify that the HDD was indeed now showing as a GPT disk after reboot. I exited DiskPart and the CLI and continued with the install, where I opted for a custom install.
The next screen was the disk selection/partitioning screen, which showed Disk 0 as empty and having no partitions. At the bottom of the window was a yellow warning triangle and "Windows cannot be installed to this disk. (Show details)". The details stated that "Windows cannot be installed to this disk. The computer's hardware may not support booting to this disk. Ensure that the disk controller is enabled in the computer's BIOS menu." This warning was due to my SATA operation being set to AHCI mode. In the previous trial runs that led up to this write-up, the warning message did not appear when I had my SATA set to IDE mode.
Clicking "Drive options (Advanced)" brings up the basic partition creation buttons. I cilcked "New" and opted for a 102400MB (100GB) partition - just an arbitrary number - clicked "Apply" and then "OK" in the standard notice about how Windows might create additional partitions. The end result was 3 partitions and the leftover unallocated space:
I've read elsewhere on these forums recommendations that the EFI partition be 512MB but I decided to leave everything at the defaults since I'm only going to be installing one other OS (Kubuntu 14.04). Despite the continued warning that Windows cannot be installed, selecting Partition 3 and clicking the "Next" button began the install process. I'll not go into further details since everything after this point is subjective (user name, password, network, etc.) but the installation completed properly and without issue. I now had a PC that UEFI-booted into Win7.
Upon completion of the install, rebooting into the BIOS still showed "No Boot Drive" in the boot order tab. Of course that's because, now than an OS has been installed, the UEFI would be handling the boot order. With the Win7 install disc removed, the [F10] Boot Option Menu now showed two options:
Choosing either one of these options loaded Windows. Although not necessary for my testing, I took the time to install my chipset, LAN, and graphics drivers, and to install all available Windows updates. Essentially, I had a complete Win7 installation that, with the exception of the few add-on programs I use, now mirrored my previous MBR installation. Win7 was good to go so it was time to move on to installing Kubuntu.
Since this is a Kubuntu forum I am going to assume that most of us here are familiar with installing Kubuntu. As such, I'll try to be a bit less in-depth than I was in explaining how I installed Win7.
Powering up with the "standard" (as opposed to Server, Alternate/OEM, etc.) Kubuntu 14.04 disc and bringing up the [F10] boot menu showed the following:
because the Kubuntu disc contains EFI boot code. One thing that immediately caught my attention was that, unlike loading the disc in legacy MBR mode, running it as EFI opened a GRUB menu:
After selecting "Start Kubuntu" and then "Install Kubuntu" from the Welcome screen, I logged into my Wi-Fi router and opted to install the third-party software as well as download updates during the install. The updates and third-party software are subjective, of course, but I do prefer to install them. For Installation Type I chose Manual because I certainly didn't want to wipe out the Win7 that I just got done installing. Using the free space at the end of /dev/sda I set up my / and swap partitions to my liking. I left the bootloader device at its default of /dev/sda and started the install. From here on out the entire process was exactly the same as it is on a BIOS/MBR system, and I followed it through to the final disc eject and reboot.
This time around my [F10] menu had "ubuntu" above the two previous entries. Selecting that brought up GRUB, which shows the standard options. Trying out the different entries in both GRUB and the EFI boot manager gave the expected results. I could find no discernable difference between loading the Windows Boot Manager from GRUB or from the [F10] menu.
As with Win7, I installed all available updates and a few basic extras that I include in my Kubuntu setups. A look at the list of installed packages did indeed show the EFI version of GRUB (grub-common, grub-efi-amd64, grub-efi-amd64-bin, and grub-efi-amd64-signed) and not the grub-pc package. On my other dual-boot PCs I use BURG, installed via Super Boot Manager, because I like the nice-looking, themeable boot menu. I was a little dismayed to discover that BURG is only available for MBR systems. In other articles here on Kubuntu Forums I have seen many mentions of rEFInd so I might give that a go just for the sake of learning something new. But for now I am content to leave well enough alone and end the day with the knowledge that, on my particular system anyway, I can easily set up a dual-boot EFI configuration for when the time comes to add storage larger than 2TB in size.
NOTES:
1. In the meanwhile since I wrote this all up, I did some further reading regarding the EFI shell. Unless I am mistaken, the EFI shell is something I have to install myself. While I know there are users out there who do, I can't see myself needing an EFI shell. As of this point I have still not installed one though I probably will at some point in the future just so I can learn how.
2. In my previous runs with the SATA controller set to IDE mode, the [F10] Boot Option Menu showed the "[Internal EFI Shell--CDROM]" as well as my optical drive and HDD. Selecting the EFI Shell option loaded the installer in EFI mode but simply choosing my Bluray drive ran the installer in "regular" mode and would not allow Windows to be installed as a UEFI operating system even though the UEFI Boot was enabled in the BIOS.
3. I've discovered through trial and error that with the BIOS showing "No Boot Drive", only discs with EFI boot code (i.e. the Win7 & Kubuntu install discs) will load. I had a minor issue with my HDD and had to temporarily switch SATA operation to IDE mode in order to load the CD with my testing software. I believe there is a way to use the EFI shell to add optical drives to the boot menu but, as stated in the main text and Note #1, I currently do not have an EFI shell available to me.
First things first, here are the basics of the system I used during my experimenting:
Intel DP55KG Extreme Series motherboard
Intel i5-760 (first-generation) quad-core CPU @ 2.80GHz
12GB (3x4GB) DDR3
MSI GeForce 210 graphics card
ThinkPenguin TPE-N300PCIE4 Wi-Fi card
LG dual-layer "Super Multi Blue" BD burner
320GB Seagate platter drive
Win7 Ultimate SP1 - disc ISO obtained from Digital River (before M!cr0$oft stopped allowing them to host the Windows ISO files)
Kubuntu 14.04LTS 64-bit "standard" installation disc
I have not been able to find out which version of UEFI my mobo has, but a couple things are worth mentioning. First, nowhere in my BIOS can be found an option to enable/disable Secure Boot. I can only assume this is because, due to the age of my mobo, Secure Boot simply didn't exist or didn't exist in its current implementation when Intel was still manufacturing this board. The other thing worth mentioning is that I have not found an actual command line EFI Shell. During the install processes I ran into boot menu entries referencing EFI Shell (see below) but I've not found any way to access the EFI command line.
The drive used for this test was given a 1-pass erase with Active KillDisk to wipe out any info left from previous uses. Before beginning anything, all of my other internal and external HDDs were disconnected so as to avoid any complications or confusion. Once the blank drive was plugged in I was ready to go.
My first step was to set my BIOS to boot in UEFI mode. I believe I have read somewhere that SATA operation needs to be set to IDE/Legacy mode but I was able to have a working install with my controller left in AHCI mode. With AHCI mode set, however, the BIOS shows "No Boot Drive" on the boot order selection screen. Hitting [F10] during startup for the boot selection also shows no available boot devices. However, booting up with my Win7 disc in the drive showed the following entry in my [F10] Boot Option Menu:
Code:
[Internal EFI Shell--CDROM]
A moment after pressing "any key to boot from CD or DVD" the language and locale selection screen popped up. I hit [Shift]+[F10] to open a command prompt, where I entered the following commands:
Code:
diskpart - to open the Windows CLI-based partition utility list disk - to list the available disk(s) and what Disk # they are select disk - to select the appropriate disk (disk 0 in my case, but dependent on your specific setup clean - to wipe out any existing partitions even though the HDD had been Active KillDisk-ed and the MBR wiped with Super FDisk convert gpt - to convert the disk to a GUID Partition Table instead of MBR list disk - to verify that the disk now has the flag for GPT marked exit - to close DiskPart exit - to close the command prompt
The next screen was the disk selection/partitioning screen, which showed Disk 0 as empty and having no partitions. At the bottom of the window was a yellow warning triangle and "Windows cannot be installed to this disk. (Show details)". The details stated that "Windows cannot be installed to this disk. The computer's hardware may not support booting to this disk. Ensure that the disk controller is enabled in the computer's BIOS menu." This warning was due to my SATA operation being set to AHCI mode. In the previous trial runs that led up to this write-up, the warning message did not appear when I had my SATA set to IDE mode.
Clicking "Drive options (Advanced)" brings up the basic partition creation buttons. I cilcked "New" and opted for a 102400MB (100GB) partition - just an arbitrary number - clicked "Apply" and then "OK" in the standard notice about how Windows might create additional partitions. The end result was 3 partitions and the leftover unallocated space:
Code:
Name Total Size Free Space Type Disk 0 Partition 1 100.0MB 95.0MB System Disk 0 Partition 2 128.0MB 128.0MB MSR (Reserved) Disk 0 Partition 3 99.8GB 99.8GB Primary Disk 0 Unallocated Space 198.1GB 198.1GB
Upon completion of the install, rebooting into the BIOS still showed "No Boot Drive" in the boot order tab. Of course that's because, now than an OS has been installed, the UEFI would be handling the boot order. With the Win7 install disc removed, the [F10] Boot Option Menu now showed two options:
Code:
Windows Boot Manager [Internal EFI Shell--Hard Drive]
Since this is a Kubuntu forum I am going to assume that most of us here are familiar with installing Kubuntu. As such, I'll try to be a bit less in-depth than I was in explaining how I installed Win7.
Powering up with the "standard" (as opposed to Server, Alternate/OEM, etc.) Kubuntu 14.04 disc and bringing up the [F10] boot menu showed the following:
Code:
Windows Boot Manager [Internal EFI Shell--Hard Drive] [Internal EFI Shell--CDROM]
Code:
Start Kubuntu OEM install (for manufacturers) Check disc for defects
This time around my [F10] menu had "ubuntu" above the two previous entries. Selecting that brought up GRUB, which shows the standard options. Trying out the different entries in both GRUB and the EFI boot manager gave the expected results. I could find no discernable difference between loading the Windows Boot Manager from GRUB or from the [F10] menu.
As with Win7, I installed all available updates and a few basic extras that I include in my Kubuntu setups. A look at the list of installed packages did indeed show the EFI version of GRUB (grub-common, grub-efi-amd64, grub-efi-amd64-bin, and grub-efi-amd64-signed) and not the grub-pc package. On my other dual-boot PCs I use BURG, installed via Super Boot Manager, because I like the nice-looking, themeable boot menu. I was a little dismayed to discover that BURG is only available for MBR systems. In other articles here on Kubuntu Forums I have seen many mentions of rEFInd so I might give that a go just for the sake of learning something new. But for now I am content to leave well enough alone and end the day with the knowledge that, on my particular system anyway, I can easily set up a dual-boot EFI configuration for when the time comes to add storage larger than 2TB in size.
NOTES:
1. In the meanwhile since I wrote this all up, I did some further reading regarding the EFI shell. Unless I am mistaken, the EFI shell is something I have to install myself. While I know there are users out there who do, I can't see myself needing an EFI shell. As of this point I have still not installed one though I probably will at some point in the future just so I can learn how.
2. In my previous runs with the SATA controller set to IDE mode, the [F10] Boot Option Menu showed the "[Internal EFI Shell--CDROM]" as well as my optical drive and HDD. Selecting the EFI Shell option loaded the installer in EFI mode but simply choosing my Bluray drive ran the installer in "regular" mode and would not allow Windows to be installed as a UEFI operating system even though the UEFI Boot was enabled in the BIOS.
3. I've discovered through trial and error that with the BIOS showing "No Boot Drive", only discs with EFI boot code (i.e. the Win7 & Kubuntu install discs) will load. I had a minor issue with my HDD and had to temporarily switch SATA operation to IDE mode in order to load the CD with my testing software. I believe there is a way to use the EFI shell to add optical drives to the boot menu but, as stated in the main text and Note #1, I currently do not have an EFI shell available to me.
Comment