在OSX上没有从diskutil获取UUID

时间:2013-07-12 10:14:15

标签: osx-lion uuid

运行Mac OSX 10.7.5 我想在USB3外部硬盘上启用NTFS并需要UUID来执行它(http://ntfsonmac.com),但diskutil拒绝向我提供UUID。我从:

开始
diskutil info /Volumes/HD-PCTU3/

然后从这个:

diskutil info disk2s1
   Device Identifier:        disk2s1
   Device Node:              /dev/disk2s1
   Part of Whole:            disk2
   Device / Media Name:      Untitled 1

   Volume Name:              HD-PCTU3
   Escaped with Unicode:     HD-PCTU3

   Mounted:                  Yes
   Mount Point:              /Volumes/HD-PCTU3
   Escaped with Unicode:     /Volumes/HD-PCTU3

   File System Personality:  NTFS
   Type (Bundle):            ntfs
   Name (User Visible):      Windows NT File System (NTFS)

   Partition Type:           Windows_NTFS
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 USB
   SMART Status:             Not Supported

   Total Size:               500.1 GB (500107804672 Bytes) (exactly 976773056 512-Byte-Blocks)
   Volume Free Space:        499.9 GB (499896778752 Bytes) (exactly 976360896 512-Byte-Blocks)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Yes
   Ejectable:                Yes

   Whole:                    No
   Internal:                 No

但可以看出没有显示UUID。任何想法和/或如何获得UUID的想法?

2 个答案:

答案 0 :(得分:7)

我能找到的唯一方法是hfs.util的文档记录稍差。

运行diskutil命令,然后复制/记住/保存Device Identifier

diskutil info /Volumes/my_drive_label | grep "Device Identifier" 

您可以hfs.util使用Device Identifier {替换disk2s1来代替diskutil来为您的音量生成UUID:

/System/Library/Filesystems/hfs.fs/hfs.util -s disk2s1

请记住,如果卷不是HFS驱动器而不是它可能不起作用,这对每个卷都不起作用,并且其他Filesystem/*.fs/*.util命令可能没有-s动词来生成UUID

<强>更新

在Yosemite中以及在源级别禁用-s标志之后。我无法找到hfs.util的预修改版本,但您可以使用this Superuser question中的信息自行完成,在此汇总:

  1. 下载hfs.util源from Apple并将其解压缩到临时文件夹
  2. 下载hfs_fsctl.h from Apple并将其放入hfs.util文件夹
  3. hfsutil_jnl.c的行 47 更改为#include <hfs_fsctl.h>
  4. hfsutil_main.c的行 80 更改为#include <System/uuid/uuid.h>
  5. hfsutil_main.c的行 81 更改为static unsigned char kFSUUIDNamespaceSHA1[] = {0xB3,0xE2,0x0F,0x39,0xF2,0x92,0x11,0xD6,0x97,0xA4,0x00,0x30,0x65,0x43,0xEC,0xAC};(替换包含行)
  6. 同时将#define HFS_UUID_SUPPORT 1添加到hfsutil_main.c
  7. 如果上述方法不起作用,参数解析部分可能仍然缺少某些内容,如果我遗漏了某些内容,请参考超级用户问题和评论。

    有些人还报告说可以使用Gparted来更改驱动器的UUID。

答案 1 :(得分:0)

我在Mac OS X 10.6.8上,购买了NTFS 4TB Seagate USB3.0驱动器。 插入电源后,Mac允许我从中读取文件,但不能写入文件。当我为卷/磁盘选择“获取信息”时,在“共享和权限”下看到'You can read only'
我将Windows 10中的大文件复制到USB驱动器,工作正常。然后我将文件下载到Mac,工作正常,但不允许我将Mac上的任何内容写入USB驱动器,或对其进行任何更改。删除或重命名USB驱动器上的文件。 我之所以要将此USB驱动器格式化为NTFS,是因为FAT中限制为4GB,因此将大于4GB的Mac文件复制到Windows以进行冗余备份。

我在网上发现的一种解决方案是sudo将UUID回显到/ etc / fstab 当我使用diskutil信息时,没有得到UUID。 我还看到以下摘录:

File System Personality: NTFS Type (Bundle): ntfs Name (User Visible): Windows NT File System (NTFS)

Read-Only Media: No Read-Only Volume: Yes Ejectable: Yes

我的解决方案是从以下位置下载适用于Mac驱动程序的Samsung NTFS: https://www.seagate.com/au/en/support/downloads/item/samsung-ntfs-driver-master-dl/

安装并重新启动后,我注意到以下更改:

  1. 当我为卷/磁盘选择“获取信息”时,在“共享和权限”下看到'You can read and write'

2。    File System Personality: UFSD_NTFS Type (Bundle): ufsd_NTFS Name (User Visible): Windows NT Filesystem

3。    Read-Only Media: No Read-Only Volume: No Ejectable: Yes

下载随附的自述文件(pdf)表示NTFS功能在Mac中也适用于USB驱动器。 现在,我可以读取/写入磁盘了,并且在Finder中也可见。我已经测试了2GB文件的读写速度,但看不到NTFS和HFS +日记卷之间的性能/速度有任何差异。

最后,在阅读了有关sudo,hfs.util和diskutil的两天后,我现在可以回到将数据从Mac 10.6备份到USB NTFS驱动器的情况。