Intended for MotleyMongoose.
Thanks for starting this thread.
Motleymongoose wrote:
OK, so I am new to the apple hardware community. I am trying to upgrade a 2012 MBP. I have one large partitioned hard drive with OS X on one partition and Bootcamp on another. I assume that N=0 because I only have one hard drive. It had four entries. That means I am using a hybrid MBR (Master Boot Record).
Here is one of my 15" 2013 rMBP, with it's hybrid MBR.
sudo fdisk /dev/disk0
Password:
Disk: /dev/disk0 geometry: 121643/255/63 [1954210120 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 0 0 2 - 25 127 14 [ 1 - 409639] <Unknown ID>
2: AF 25 127 15 - 1023 54 16 [ 409640 - 1448624648] HFS+
3: AB 1023 54 17 - 1023 60 39 [1449034288 - 1269536] Darwin Boot
*4: 07 1023 87 51 - 1023 238 3 [1450305536 - 503904256] HPFS/QNX/AUX
All MACs switched from Apple Partition Map (APM) to GPT (GUID Partition Map) and EFI. Macs have had EFI 1.1 for quite some time.Think of UEFI as EFI1.1+
You are welcome to read some gory details http://www.intel.com/content/www/us/en/architecture-and-technology/unified-exten sible-firmware-interface/uefi-architecture-specification.html and http://www.intel.com/content/www/us/en/architecture-and-technology/unified-exten sible-firmware-interface/efi-specifications-general-technology.html
The first entry is where EFI/ESP is located (Rod Smith, the author of GPT Fdisk, also has a very concise page if you do not want to read my explanation - http://www.rodsbooks.com/bios2uefi/index.html). The second is the OSX file system HFS+, next is the Recovery partition, which enables local recovery if the primary OSX partition has issues. The last entry is Bootcamp/Windows. You can also look at the corresponding GPT as well.
sudo gpt -vv -r show /dev/disk0
Password:
gpt show: /dev/disk0: mediasize=1000555581440; sectorsize=512; blocks=1954210120
gpt show: /dev/disk0: Suspicious MBR at sector 0
gpt show: /dev/disk0: Pri GPT at sector 1
gpt show: /dev/disk0: Sec GPT at sector 1954210119
start size index contents
0 1 MBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 1448624648 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
1449034288 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
1450303824 1712
1450305536 503904256 4 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
1954209792 295
1954210087 32 Sec GPT table
1954210119 1 Sec GPT header
You can see a bit more detail in the GPT. GPT#1 is the EFI/ESP, the second is the OSX file system HFS+, next is the Recovery partition, which enables local recovery if the primary OSX partition has issues. The last entry is Bootcamp/Windows. You can see the "mapping" that exists between the GPT and the MBR. This "mapping" is called a Hybrid MBR. Traditional Bootcamp uses this Hybrid and a EFI compatibility layer called CSM-BIOS (emulates traditional BIOS on top of EFI). Late 2013+ Macs support UEFI fully as does W8+ (W8.1 is more reliable, than W8. W7 has some challenges in EFI). Since EFI is technically an interface between the OS and the platform HW, older Macs do not fully comply, even though I think Apple can retrofit any Mac that can run Mavericks/Yosemite to be UEFI compliant by releasing firmware updates.
What you see as EFI in regular OSX is the Mac EFI firmware. It is a FAT partition which can be mounted and looked at as follows (I do not recommend messing with this volume at all).
$ mkdir /Volumes/EFI
$ sudo mount -t msdos /dev/disk0s1 /Volumes/EFI
Password:
$ df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 691Gi 427Gi 263Gi 62% 112017969 69060110 62% /
devfs 336Ki 336Ki 0Bi 100% 1165 0 100% /dev
/dev/disk0s4 240Gi 53Gi 187Gi 23% 124989 196488975 0% /Volumes/rMBPBCMP
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk0s1 197Mi 25Mi 172Mi 13% 0 0 100% /Volumes/EFI
$ cd /Volumes/EFI
$ ls
BOOTLOG EFI
$ cat BOOTLOG
SlingShot: Starting Local and Network Diags/Recovery Session at 07/22/2014 00:41.
Booting Recovery OS.
SlingShot: Starting Local and Network Diags/Recovery Session at 09/11/2014 14:41.
NetworkFinishOSRSHostInfoLookup: Resolved OSRS Hostname [osrecovery.apple.com] to 17.146.232.11, Port 80
GetStationAddressViaIpAgent: Client IP Address: 10.71.6.22
GetStationAddressViaIpAgent: Client Subnet Mask: 255.255.255.0
GetStationAddressViaIpAgent: Router IP Address: 10.71.6.1
GetStationAddressViaIpAgent: DnsServer 0 Address: 10.71.30.30
GetStationAddressViaIpAgent: DnsServer 1 Address: 10.71.30.61
GetStationAddressViaIpAgent: DnsServer 2 Address: 10.71.30.31
The primary challenge with traditional Bootcamp/Windows is maintaining the GPT and MBR to stay in sync. Many utilities fault to do that, and sometimes users throw away this delineation out of the Windows for a quick fix. This is a fairly common use case with tomes dedicated on fora where a user reduces the GPT via Disk Utility, and expands the MBR (which has a limit of 4 entries) and instantly loses Windows boot ability, and in some cases, data. This is the loaded gun that Apple freely gives consumers, but a little caveat does exist here - Boot Camp 5.1: Frequently asked questions about resizing and third-party disk utilities.
Typically N=0 in Laptops, but can be >= 0 on Desktops. Fusion Drives have N=1, but they can be built with N=10. The limit is (unofficially) 255-disk Fusion drive, but I have not found a machine to build such a Fusion drive.
Winclone cautions to check the disk for errors before creating an image. Disk Utility reports that the EFI installation is error free. This is confusing based on what you said about an EFI installation.
DU can verify catalog and disks, and repair file systems it supports. Apple NTFS, by default, does not support NTFS in read-write and hence cannot fix any issues with NTFS at all. It is better to address any disk errors/catalog issues before Winclone is used, otherwise it compounds future problems.
I have four entries but and EFI installation?
As I have shown, you have the legacy Hybrid MBR implementation.
Winclone also suggests to run SysPrep prior to creating the image. Is that in the bootcamp assistant utility? Do I need to perform that step? One of the steps is to create a FAT32 partition. The current Windows partition is NTFS. Is that going to be a problem?
Sysprep is used to remove any hardware specific information, if the Windows installation is being moved from one hardware platform to a different hardware platform . For example, it removes Apple drivers from Bootcamp/Windows, if you plan to move from, say, a 2007 MBP, to a 2014, rMBP. Wincolne converts the FAT32 partition to NTFS automatically and no manual intervention is required.
Here is an example of a pure EFI Windows implementation (GPT and MBR)
gpt show: /dev/disk0: mediasize=500277790720; sectorsize=512; blocks=977105060
gpt show: /dev/disk0: PMBR at sector 0
gpt show: /dev/disk0: Pri GPT at sector 1
gpt show: /dev/disk0: Sec GPT at sector 977105059
start size index contents
0 1 PMBR
1 1 Pri GPT header
2 32 Pri GPT table
34 6
40 409600 1 GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
409640 487712920 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
488122560 1269536 3 GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
489392096 32
489392128 262144 4 GPT part - E3C9E316-0B5C-4DB8-817D-F92DF00215AE
489654272 487450624 5 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
977104896 131
977105027 32 Sec GPT table
977105059 1 Sec GPT header
$ sudo fdisk /dev/disk0
Disk: /dev/disk0 geometry: 60821/255/63 [977105060 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 1023 254 63 - 1023 254 63 [ 1 - 977105059] <Unknown ID>
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused