Bizarre partition map error - macOS using old partition map despite Windows recognizing new partition map

I decided to re-partition my 1TB external drive (HDD) and for some reason, my macOS is showing the old partition map with functioning partitions (i.e. I can access old files in those partitions).

Here is what the HDD looked like before: 1st partition: 750GB - exFAT 2nd partition: 250GB - exFAT

I could see these partitions on both Windows and Mac machines. And then I did the following to repartition the HDD on a Windows machine using the Disk Management tool:

  1. I backed up and then deleted the 750GB volume
  2. I then created a new 500GB simple volume from the available unallocated space (750GB). I then transferred files to this volume. This left 250GB of unallocated space.
  3. I then deleted the 250GB 2nd partition. When I did this, it combined this 250GB unallocated space with the 250GB unallocated space created in step 2.
  4. I then created a new simple volume with 500GB of unallocated space.

So in the end, I took 2 partitioned spaces (750GB, 250GB) and repartitioned them to create two equal partitioned spaces (500GB) each.

Windows recognized this new partition map perfectly and could see the new files that I had transferred to one of the 500GB volumes (step 2).

When I plugged this HDD into my macOS (Catalina 10.15.7), it bizarrely recognized the old partitions (750GB, 250GB) and even let me access files from the 250GB partition that I had deleted in the process. I quickly plugged it into my Windows machine and it showed the new partitions.

Why is my Mac showing the old partitions and how is it still allowing me access to the files I deleted? Is the partition map corrupt or is my Mac reading it incorrectly somehow? How do I fix this?

I need to transfer files from my Mac onto one of the new partitions that I created but since my Mac isn't showing me these new partitions (just the old ones), I don't know what to do.


Solution 1:

Your drive is probably using hybrid partitioning. This is where three tables containing the partition location information are stored on the drive. One table is stored in the first sector of the drive. The second is stored near the start of the drive and third is stored near the end of the drive. The second and third are identical (although the corresponding headers are not.) When a disk is hybrid partitioned, macOS recognizes all three tables, but only uses the data stored in the second and third tables to determine the partition location information. However, Windows only uses the first table to determine the partition location information and ignores the second and third tables.

Under hybrid partition, the possibility exists where Windows could be used to reparation the drive where only the first table would be updated with the changes. The macOS operation system would then possibly read outdated or corrupted information from the second and third tables.