Installing Ubuntu on a GPT HDD

I have changed my system to boot from UEFI instead of BIOS and have installed Windows 7 on my internal SSD which has GPT partition type.

I am trying to install Ubuntu 13.04 on my external HDD. My machine is a Lenovo W520. My HDD is a 1TB USB3 WD.

Here is some of what I have been trying:

  1. My laptop is set to boot in UEFI mode.
  2. I have 64 bit version of Ubuntu, on my bootable flash disk
  3. I took out my SSD before installing Ubuntu
  4. Before installation my external HDD was also partitioned as GPT and it only had one 950GB partition
  5. I tried two different methods:

    • First: When I let the Ubuntu to install itself automatically, without changing anything, the installation completed but Ubuntu did not boot. SSD was out and I am sure the systems boots in UEFI mode.

    • Second: I tried to do the partitioning myself in the following order, but I still have the same problem, I am sure my HDD is partitioned as GPT:

      • /EFI Boot
      • /(root)
      • /swap
      • /home

I chose to install the bootloader in /EFI boot.

Please let me know what I am doing wrong.
Thanks

Update: I was sure that Windows, on SSD, boots in UEFI mode. However, I disconnected my HDD and the windows did boot from SSD.I used the live USB to boot Ubuntu and let it do the partitioning and install Ubuntu on the external HDD. I still had the same problem and Ubuntu did not boot. Then I used the live USB and installed Boot-Repair. After running Boot-repair and a restart everything was good, and Ubuntu did boot from HDD. However, there is a line before booting into Ubuntu: ata_id[279]: HDIO_GET_IDENTITY failed for '/dev/sdb': Invalid argument But the system boots.

Boot Info Script: Here is a Boot Info Script I got after using Boot Repair.

I tried to change the partitioning and partition sizes. After reading here, I changed the partitioning using Gparted.
I also installed the bootloader in /dev/sda1 which is flagged as the /boot partition. As expected after installation and a reboot, Ubuntu did not boot. So by following this and this posts, I tried to register the bootloader to the EFI. But I was not successful. I even noticed that my machine might have this problem, and I changed the /EFI/Ubuntu/bootx64.efi name and location but no effect, Ubuntu did not want to boot. Again, I used boot repair to solve the boot problem and it worked like the previous time and I am in Ubuntu. But I really like to know what is causing this problem. The interesting thing is that Boot Repair has created all possible folders and files. Is there a way that I know which folders are being used for boot? These are the different folders and files:
-/boot/efi/EFI/Boot/bootx64.efi
-/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi and bootx64.efi
-/boot/efi/EFI/ubuntu/bootx64.efi and grubx64.efi


Solution 1:

The Grub2/installer does not always manage EFI. Best option is to boot the live CD and use boot repair.

See : How do I install Windows 7 alongside a pre-existing Ubuntu installation?

Different question, same solution.

Post the url bootrepair gives you if it does not work.