Why is a WD 4TB hard drive refusing to be used as an internal boot disk in an iMac 27″ 2011

bootbootable-diskhard drive

Bought a WD Re 4TB 3.5" HD to use as an internal boot disk in an iMac 27" mid 2011. I have seen nothing online indicating that shouldn't work. iMac does not ask for any firmware/EFI updates so seem to be fully up to date in that regard. The WD drive is formatted with GUID and split into two volumes. But when the iMac starts with the new hard drive (cloned from the old with the newest version of Carbon Copy Cloner) internally mounted, there is just the blinking folder with question mark. If I then boot from a USB stick with the drive still inside, the iMac will say that it doesn't recognise the disk. If I open Disk Utility and select the WD disk, it will be listed as having a Master Boot Record partition scheme.

WD disk as shown in Disk Utility (Yosemite) when mounted internally (SATA)

If I take it out, mount it in an external enclosure and connect to same iMac over USB, it works fine, and can even be booted from.

WD disk as shown when mounted from external enclosure over USB

As can be seen, when used externally is is correctly listed with a GUID partition map.

To recap: Works fine externally, can be booted from over USB. Does not work internally on SATA, is listed with wrong partition map type.

Here's a listing of disks with it mounted on my laptop:

    LarsMacBook:~ larsgu$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:          Apple_CoreStorage Macintosh HD            499.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

/dev/disk1 (internal, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            LarsMacBook HD         +499.1 GB   disk1
                                 Logical Volume on disk0s2
                                 3E6BC282-2AA4-46CE-BBBC-FC9BC7DCAC9D
                                 Unlocked Encrypted

/dev/disk2 (disk image):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     Apple_partition_scheme                        +19.8 MB    disk2
   1:        Apple_partition_map                         32.3 KB    disk2s1
   2:                  Apple_HFS Flash Player            19.7 MB    disk2s2

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *4.0 TB     disk3
   1:                        EFI EFI                     314.6 MB   disk3s1
   2:                  Apple_HFS Mac HD                  1.8 TB     disk3s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk3s3
   4:                  Apple_HFS Mac HD 2                2.2 TB     disk3s4

I can't see anything weird. Anywhere really, and I've run out of ideas. Hope somebody knows.

PS. For some reason, I can't boot into verbose mode on the iMac. But I have tried resetting PRAM/NVRAM without any difference.

Best Answer

The problem of undetected GUID partition tables arises when disks with 512B aligned partition tables are mounted to 4k-only enclosures (or 512B disks partitioned in 4k-only enclosures with a 4k aligned partition table are attached internally).

The 512B GUID partition table looks like this in blocks (in parenthesis the "respective" start Byte/size in Byte):

                0     (0)     1   (512)   PMBR
                1   (512)     1   (512)   Pri GPT header
                2  (1024)    32 (16384)   Pri GPT table
               34             6  
               40 (20480)   ...           Start of first partition 4k aligned

The 4k GUID partition table looks like this in 4k blocks:

               0     (0)      1  (4096)   PMBR
               1  (4096)      1  (4096)   Pri GPT header
               2  (8192)      4 (16384)   Pri GPT table
               6 (24576)    ...           Start of first partition

Either GPT table can hold up to 128 partition entries.

The GPT standard requires that the primary GPT header must be located at block 1.

A 512B disk partitioned in a 4k-only enclosure won't have the primary GPT header starting at Byte 512 but at Byte 4096. The GPT of this disk attached internally won't be detected properly because the primary header is expected at Byte 512.

Only the PMBR seems to be valid and the "Partition Map Scheme" is therefore detected as "Master Boot Record".

The opposite is also true: the GPT of a 512B disk partitioned internally (with the primary header starting at Byte 512) won't be detected in the 4k-only enclosure because there the primary header is expected at Byte 4096.