Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.
ioreg

– displays the I/O Kit registry, the hierarchical registry structure as an inverted tree.

ioreg -w0 -l | grep -F "\"UUID"

– displays each point in the tree where there is a UUID of a volume. Example:

macbookpro08-centrim:~ gjp22$ ioreg -w0 -l | grep -F "\"UUID"
    | |   |                     | |   "UUID" = "F1158F61-E697-4F8E-B0D3-8602D29627EE"
    | |   |                       |   "UUID" = "78301A52-4AFF-4D96-8DE9-E76ABC14909C"
    | |   |                     | |   "UUID" = "5468F70B-1D69-49CA-B2CA-A0DC24F09A20"
    | |   |                       |   "UUID" = "1928482A-7FE4-482D-B692-3EC6B03159BA"
    | |   |   |             | |   "UUID" = "851F87AB-16A1-4915-944A-73B42C720710"
    | |   |   |             | |   "UUID" = "A9A6E403-30B1-4A3C-8EC9-5659F11033FE"
    | |   |   |             | |   "UUID" = "5C9B2907-D9DD-4CC2-B849-6E9B5F718C1C"
    | |   |   |             | |   "UUID" = "0EAE54A5-2A4B-44AE-AF23-DF6E6CC20ADF"
    | |   |   |             | |   "UUID" = "EA84F7AC-1C3F-461F-B59E-5DFAD43C3A5A"
    | |   |   |             |       |   "UUID" = "B13EE5BF-5D08-49D3-94C2-DF58AFEA1D08"
    | |   |   |             | |   "UUID" = "E64ABD1F-E7FC-4AEE-93EA-1736438A027E"
    | |   |   |             | |   "UUID" = "2ECB1605-865F-4C71-922A-534087038632"
    | |   |   |             |       |   "UUID" = "0CFAFD38-E79B-40AC-A4BE-63296E6B4331"
    | |   |   |             |         | |   "UUID" = "A29D4627-161C-4A19-A0B5-CB5B3008E72C"
    | |   |   |             |           |   "UUID" = "71B8BDA2-3EBA-4B91-9E1C-2AE2B1DAAD06"
    | |   |   |               |   "UUID" = "E6107E0F-D345-42C3-8685-017102214AA6"
    | |   |           | |   |             | |   "UUID" = "4D83D606-35CD-4E95-9FEF-4A29D44BDB69"
    | |   |           | |   |               |   "UUID" = "EBB5CA9F-557A-4B4B-88EC-8B66A80AA987"
      |             |   "UUID" = "8C4B2DA2-A485-4C60-8906-3D16C64E8C90"
macbookpro08-centrim:~ gjp22$ 

Question

Can a command display the parts of the tree within which each UUID is found?

ioreg(8) OS X Manual Page

Ideally

A single tree with the UUIDs interleaved at appropriate points.

A partial mock-up of the sort of thing that I'd like to see:

+-o AppleACPIPlatformExpert  <class AppleACPIPlatformExpert, id 0x100000111, registered, matched, active, busy 0 (29054 ms), retain 50>
| +-o PCI0@0  <class IOACPIPlatformDevice, id 0x10000012f, registered, matched, active, busy 0 (28986 ms), retain 145>
| | +-o AppleACPIPCI  <class AppleACPIPCI, id 0x1000001e6, registered, matched, active, busy 0 (28972 ms), retain 49>
| |   +-o EHC1@4,1  <class IOPCIDevice, id 0x1000001b7, registered, matched, active, busy 0 (1939 ms), retain 16>
| |   | +-o AppleUSBEHCI  <class AppleUSBEHCI, id 0x100000206, registered, matched, active, busy 0 (1922 ms), retain 16>
| |   |   +-o GoFlex Desk@24140000  <class IOUSBDevice, id 0x1000010be, registered, matched, active, busy 0 (256 ms), retain 9>
| |   |     +-o IOUSBInterface@0  <class IOUSBInterface, id 0x1000010c3, registered, matched, active, busy 0 (249 ms), retain 8>
| |   |       +-o IOUSBMassStorageClass  <class IOUSBMassStorageClass, id 0x1000010c6, registered, matched, active, busy 0 (195 ms), retain 9>
| |   |         +-o IOSCSIPeripheralDeviceNub  <class IOSCSIPeripheralDeviceNub, id 0x1000010c8, registered, matched, active, busy 0 (88 ms), retain 7>
| |   |           +-o IOSCSIPeripheralDeviceType00  <class IOSCSIPeripheralDeviceType00, id 0x1000010c9, !registered, !matched, active, busy 0 (83 ms), retain 8>
| |   |             +-o IOBlockStorageServices  <class IOBlockStorageServices, id 0x1000010cc, registered, matched, active, busy 0 (83 ms), retain 6>
| |   |               +-o IOBlockStorageDriver  <class IOBlockStorageDriver, id 0x1000010cd, registered, matched, active, busy 0 (83 ms), retain 9>
| |   |                 +-o Seagate GoFlex Desk Media  <class IOMedia, id 0x1000010ce, registered, matched, active, busy 0 (82 ms), retain 11>
| |   |                   +-o IOMediaBSDClient  <class IOMediaBSDClient, id 0x1000010cf, registered, matched, active, busy 0 (0 ms), retain 6>
| |   |                   +-o IOGUIDPartitionScheme  <class IOGUIDPartitionScheme, id 0x1000010d1, !registered, !matched, active, busy 0 (33 ms), retain 7>
| |   |                     +-o EFI System Partition@1  <class IOMedia, id 0x1000010d4, registered, matched, active, busy 0 (1 ms), retain 9>
| |   |                     | |   "UUID" = "F1158F61-E697-4F8E-B0D3-8602D29627EE"
| |   |                     +-o zfs vdev for 'tall'@2  <class IOMedia, id 0x1000010d5, registered, matched, active, busy 0 (32 ms), retain 12>
| |   |                       |   "UUID" = "78301A52-4AFF-4D96-8DE9-E76ABC14909C"

Maybe less challenging, imagine something like this:

----

| |   |                     +-o EFI System Partition@1  <class IOMedia, id 0x1000010d4, registered, matched, active, busy 0 (1 ms), retain 9>
| |   |                     | |   "UUID" = "F1158F61-E697-4F8E-B0D3-8602D29627EE"

----

| |   |                     +-o zfs vdev for 'tall'@2  <class IOMedia, id 0x1000010d5, registered, matched, active, busy 0 (32 ms), retain 12>
| |   |                       |   "UUID" = "78301A52-4AFF-4D96-8DE9-E76ABC14909C"

----

– or this:

----

+-o EFI System Partition@1  <class IOMedia, id 0x1000010d4, registered, matched, active, busy 0 (1 ms), retain 9>
  |   "UUID" = "F1158F61-E697-4F8E-B0D3-8602D29627EE"

----

+-o zfs vdev for 'tall'@2  <class IOMedia, id 0x1000010d5, registered, matched, active, busy 0 (32 ms), retain 12>
  |   "UUID" = "78301A52-4AFF-4D96-8DE9-E76ABC14909C"

----
share|improve this question
    
If we defocus from ioreg, then wonder whether an answer could involve VolumeToBSDNode –  Graham Perrin Jul 10 '13 at 7:00

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.