OpenSolaris

Printable Version Enter a New Search
Bug ID 6374985
Synopsis Solaris EFI doesn't understand EFI label created by MacOS X 10.4.4
State 11-Closed:Duplicate (Closed)
Category:Subcategory utility:diskformat
Keywords onnv_triage
Responsible Engineer Larry Liu
Reported Against
Duplicate Of 6434157
Introduced In
Commit to Fix
Fixed In
Release Fixed
Related Bugs
Submit Date 20-January-2006
Last Update Date 27-September-2006
Description
USB Disk of 27G.  Using DiskUtil.app on MacOS X 10.4.4 (running on an intel iMac) I created
two EFI partitions, one HFS+ and one UFS.  What is actually on the disk turns out to be a 200Mb FAT32
filesystem then the HFS+ then the UFS one.  The FAT32 partition doesn't show up on 10.4.4 running on
a PowerPC Mac but thats a bug report for another company.

I took the same disk and plugged into an machine running snv_31 (amd64) and ran format -e and displayed
the EFI partition table.

Current partition table (original):
Total disk sectors available: 58588702 + 16384 (reserved sectors)

Part      Tag    Flag     First Sector        Size        Last Sector
  0          -    wm                40     200.00MB         409639
  1 unassigned    wm                 0          0              0
  2 unassigned    wm                 0          0              0
  3 unassigned    wm                 0          0              0
  4 unassigned    wm                 0          0              0

and so on upto part 127.

As can be seen Solaris doesn't display the MacOS X creted HFS+ or UFS partitions.  These
to partitions have data in them.   This is a major issue since the Solaris admin
is led to believe that there is only a 200Mb FAT32 filesystem on there.

I'm not expecting Solaris to be able to mount the HFS+ or the UFS partitions created by MacOS X
but it MUST in format(1m) show that they exist otherwise there is potential for massive data
loss.

I was also able to see the partitions using the Intel EFI toolkit running on the intel iMac (ie
it isn't running MacOS X at all at that point).
Some more data based on Solaris actually running on an Intel iMac rather than this being a USB attached disk created on MacOS and taken to a Solaris machine:

From jk at tools.de:

Hmm, the Solaris kernel sees the disk as c1d1
It seems the S-x86 ata driver is trying to use the EFI label on the
HDD, prtvtoc reports this:

* /dev/rdsk/c1d1s0 partition map
*
* Dimensions:
*     512 bytes/sector
* 488396160 sectors
* 488397101 accessible sectors
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector
*          34         6        39
*      409640 100663296 101072935
*   164062501 324334633 488397133
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       0     12    00         40    409600    409639
       2     17    00  101072936  62989565 164062500


s0 is the EFI system partition.  s2 is a Windows XP partition.
AFAICT, the EFI s1 partition is missing, it should contain the
Mac HFS+ volume.  Maybe a bug in the Solaris ata driver, 
when using EFI disk labels?

I'd expect that the standard Solaris x86 install software will produce
a nice mess on this EFI (& FDISK) partitioned HDD.    :-)
Work Around
N/A
Comments
N/A