Transfers Using Huge External Disks (120+GB)

Summary: How to use current huge disks to transfer and share data files between Macintosh and Windows computers. How to format them? Hybrid partitioning.
 

Introduction

The current size of external hard disks (USB or FireWire) let some users express hopes and questions about transferring or even sharing files between Macintosh and Windows computers using such media.
We chose to write down some of the basic conditions one should never forget when trying to implement such schemes. We hope this will help you to get a clear picture of the matter before going too far.

Disk Size Limits under Windows

The FAT32 volumes are limited to 127GB under Windows 98SE. Recent versions of Windows (ME, 2000 and XP) support all sizes of FAT32 volumes. The format utility, under Windows 98SE and ME, displays false data from 64 and 80GB, respectively, but works correctly.
On the other hand, Windows 2000 and XP can't format FAT32 partitions of more than 32GB. One has to use third-party tools to format the drive.
On the other hand, the NTFS format supports all sizes under Windows 2000 and XP, but this format is supported as read-only by the Macintosh (see below).
To be complete, we have to mention also the ExFAT format.

Disk Format and Size Limits under Mac OS

Mac OS (more precisely, the File Exchange control panel) manages FAT16 and FAT32 disks. Mac OS X, up to 10.2, doesn't manage NTFS disks. From 10.3, NTFS disks are read-only.
The only format which can be used freely (without using a special utility) with huge modern disks is therefore the FAT32 scheme. However, Mac OS X doesn't manage FAT32 volumes of more than 137GB. Please note that a 250GB disk, for instance, can be partitionned in two volumes of 125GB (with Partition Magic or the like) and will then be managed correctly, at least under Mac OS X (you can't rename the volumes, but this is a minor problem).

The 2.19TB threshold

The disk companies are always offering bigger disks, and 3TB disks, for instance, are now readily available, with different characteristics.
The threshold of 2.19TB corresponds to 4294967295 sectors (0xFFFFFFFF, that is the maximum size for a 32-bit integer) times 512 bytes (0x200), that is the (logical) sector size.

Beyond 2.19TB on Windows

Those disks are not supported under Windows XP. They should be supported under Windows Vista, 7 and 8. Caution with some enclosures, nevertheless.
When partitionning the disk, choose the GUID partition table and not the classical MBR scheme to be able to see the part of the disk above the 2.19TB limit.

Beyond 2.19TB on Macintosh

Since Mac OS X Leopard, those drives should be supported, if the enclosure is compatible. The enclosure used with my Windows 3TB disk is not recognized at all by my Mac, be it an iMac under Snow Leopard or a Mac mini under Lion. Another one works fine. Caveat emptor.

MacDisk version 8.0

MacDisk version 8.0 supports thoe huge disks formatted on the Macintosh as HFS+ with the classical partitionning scheme and the EFI/GUID partitionning scheme. MacDisk was tested with sectors of 512 and 4096 bytes. I never saw other sector sizes, but the code was written to also accomodate other sectorizations.

Hybrid (Mac/PC) Partitioning?

Sector 0
In principle, it is not possible to put on the same disk a Macintosh partition and a FAT16/32 (or even NTFS) partition. The Macintosh partition scheme uses the sector 0 as a volume descriptor (even if the end of the sector remains unused). The MS-DOS/Windows partition scheme (which is also used under Unix and Linux) uses the sector 0 to contain the bootstrap code (if any) and a partition table at the end of the sector. Therefore, they are incompatible.
Iomega Solution
In the past, some companies have used the fact that the end of the Macintosh sector 0 was empty to put there the MS-DOS/Windows partition table. A normal driver should choke on such sectors, because the first bytes (0x45 0x52) indicate a Macintosh volume, while the last ones (0x55 0xAA) denote a MS-DOS/Windows volume. One should note that, with Iomega Zip Tools cartridges, in particular, one had to use Iomega drivers to be able to read the data stored on the disk.
Unix Solution
However, some fearless Macintosh/Linux users have found ways, using some rather obscure features of software mounting tools, to achieve a so-called hybrid partitioning scheme. See the information given on Mac OS X Hints. The partitioning scheme is the MS-DOS/Windows/Unix one, and a disk mounting tool mounts a HFS volume stored in one of the partitions. Such a volume can't be read directly by a Macintosh, and can't be used to boot the computer.
Let me add that I would not put critical data on such a medium ;-).
Mac OS X Leopard
From Mac OS X Leopard, Apple doesn't use its own Mac partition table anymore, but switched to the classical MBR partition table. This is the same partition code as the one used by Unix and Windows/DOS. Some documentation states that Apple switched to the GUID partition map (see this Wiki page), but things are more complicated. One must distinguish between internal (bootable) disks and external (plain data) disks.
On external (plain data) disks, the classical MBR scheme can host Apple partitions, which are coded 0xAF. This allows a Macintosh to create an HFS+ partition within the MBR scheme. MacOS X only uses this scheme for external removable disks. Since the MBR scheme allows four main partitions, you could have one HFS+ journaled, one plain HFS+ and two FAT32 partitions. This partitioning scheme can only be implemented with Apple's Disk Utility.
On the other hand, on an internal disk (mainly to allow the MacIntel computers to boot from the disk), MacOS X uses the EFI partitioning scheme with GPT (GUID partitioning table) entries. The MBR sector uses 0xEE as a code, and "protects" the disk by declaring the whole used by this unknown partition. The disk console in the Administartive tools names this partition "GPT Protection Partition". Older utilities should not mess with this.
The GPT table can contain up to 128 entries. Amongst those partitions, the ones bearing a HFS GUID are HFS+ (Mac OS Extended) partitions. This scheme is needed to be able to boot from the disk.
On the other hand, to keep water muddied, Apple chose not to implement the EFI standard the way it is written and added to the MBR partition table (which should normally only contain the EFI "protection" partition) a classical partition record pointing to the internal partitions. This way, on my Mac with Bootcamp, I have a MBR table with three partitions (EFI, MacIntel and HFS+) and a EFI table with three partitions entries also, namely the EFI partition itself, the MacIntel partition and the HFS+ partition.
Therefore, you can now format a disk with a Macintosh/HFS+ partition and another in FAT32 or even NTFS (see above for some aspects to take in account).
From Version 8.0, MacDisk manages those new kinds of partitions also.

Practical solutions

Don't mix the storage and the transfer solution. If you need to transfer data, use a 120GB USB drive, formatted as FAT32 or as HFS+, to transfer the data between both computers (natively or using MacDisk). Don't forget to reformat the disk whenever needed.
If you want to store data, use the size you want, but leave the disk on its side of the fence.

 
Pierre Duhem (ex-Logiciels & Services Duhem)
3, rue Pierre Haret - F-75009 Paris (France) - Tel. (+33) [0]149 700 455
web: http://www.macdisk.com