I've been trying to upgrade my MacBook Pro to Leopard for the last few
days. The trouble is, the installer refuses to detect any of the
partitions on my hard drive. It doesn't even show the drive with a
exclamation mark and tell me I need to repartition, which seems to be
fairly common. The Disk Utility and command line tools in the
installer don't see the partitions either, so it seems to a problem at
a more fundamental (kernel?) level. Tiger works fine, as does the
installer for Tiger. From searching the inter-tubes, it appears that
the problem is related to my bootcamp partition. The Leopard
installed seems to require a specific partition layout in order for it
to detect the partitions, which seems massively stupid. Especially
when bootcamp installations are probably fairly common on Tiger
machines.
I tried a couple of things already, such are resetting the protective
MBR to contain only the EFI protection partition, but that had no
effect. Since I have rEFIt installed, I wasn't
worried about trashing the MBR, since rEFIt can recreate it from the
GPT.
A guy on this thread about the Leopard
Installer disk detection problems suggests that the installer
requires the GPT itself to be set up in exactly the right way. It
requires either a single HFS+ partition of any size, or a single HFS+
partition followed by a "basic data" partition, as long as the sum of
the two partition sizes is exactly the size of the disk. My disk
appears to fit the second case... Except it doesn't, because
there is a gap between the HFS+ and FAT32 partitions, which can be seen
with the gpt tool:
thunderstorm:~ mch$ sudo gpt -r -v -v show /dev/disk0
gpt show: /dev/disk0: mediasize=80026361856; sectorsize=512; blocks=156301488
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 156301487
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 102760448 2 GPT part - 48465300-0000-11AA-AA11-00306543ECAC
103170088 262144
103432232 52869216 3 GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
156301448 7
156301455 32 Sec GPT table
156301487 1 Sec GPT header
So, there is a 6 sector gap between the table and the HFS+
partition, and a 262144 sector gap between the HFS+ partition and the
FAT32 partition. That second gap is probably what is messing up the
Leopard installer.
Here's what diskutil has to say about the disk:
thunderstorm:~ mch$ sudo diskutil list disk0
/dev/disk0
#: type name size identifier
0: GUID_partition_scheme *74.5 GB disk0
1: EFI 200.0 MB disk0s1
2: Apple_HFS Thunderstorm 49.0 GB disk0s2
3: Microsoft Basic Data HELL 25.2 GB disk0s3
Yes, my Windows partition is named HELL. Here is my MBR, after I
trashed it so that it only contains the protective GPT partition:
thunderstorm:~ mch$ sudo fdisk /dev/rdisk0
Disk: /dev/rdisk0 geometry: 9729/255/63 [156301488 sectors]
Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
------------------------------------------------------------------------
1: EE 0 0 2 - 1023 254 63 [ 1 - 156301487]
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
The next step is to back up my boot camp partition before taking
the FAT32 partition out of the GPT... I'm hoping that that will let
me install Leopard, after which I can attempt to restore the GPT
entry for the FAT32, and hopefully everything will work.