有人知道如何更改卷的 UUID 吗?这个问题的背景是我有一个重复的 UUID 问题:
我有/Volumes/OldMacHD
一个 UUID 为 XYZ 的镜像。我有/Volumes/Mirror1
一个 UUID 为 XYZ 的镜像(相同的 UUID!我敢打赌那是因为 OldMacHD 曾经是这个镜像的一部分)。我通过以下方式获取了这些 UUID:
diskutil info /dev/thatdisknumber | grep UUID
我想更改 的 UUID Mirror1
。
我偶然发现了这个hfs.util
实用程序,因为这些毕竟是 HFS 卷。手册页hfs.util
表示如果您发出标志-s
,这将更改 UUID。但是,如果您hfs.util
只输入它,它-s
根本不会显示选项,只会显示除此以外的所有选项!哎呀。我还是试了一下:
sudo /System/Library/Filesystems/hfs.fs/hfs.util -s /dev/disk4 (the raid volume).
什么都没发生。没有错误消息,也没有成功消息。UUID 完全相同。我在卸载卷时尝试过。
有任何想法吗?
答案1
hfs.util 的语法似乎只是设备名称,而不是包括 /dev/ 的路径
IE
Server:~ admin$ mount
(...)
/dev/disk1s2 on /Volumes/Backup (hfs, local, journaled)
(...)
Server:~ admin$ sudo /System/Library/Filesystems/hfs.fs/hfs.util -s rdisk1s2
确保在 hfs.util -s 之前卸载驱动器,然后安装。
使用“原始”设备,即 rdisk1s2,而不是 disk1s2
直到您重新挂载,diskutil info 才会显示新的 uuid。
答案2
这应该是可行的。尝试使用 hfs.util 指定卷的实际设备 ID(如果它是 raid 卷,您需要 raid 上卷的设备 ID,而不是任何特定磁盘的设备 ID)。
或者使用 SuperDuper! 的小工具,这样您就可以指定已安装卷的路径。
关于如何处理卷 ID(实际上不是 UUID,UUID 仅用于显示,每次都会根据实际卷 ID 重新计算)的详细信息,我在以下回答中进行了解释:如何将 Mac OS X 上卷的 UUID 更改为指定值?
答案3
您可以通过分区格式化/擦除简单地更改 UUID。
1)使用内置的Disk Utility
2)如果您需要 Windows 分区,请在完成第一步后将磁盘格式化为 exFAT(由于某种原因,Windows 分区需要两个步骤)
您可以通过列出所有 UUID 号码来检查 UUID 是否发生变化:
find /Volumes -maxdepth 1 -mindepth 1 -exec diskutil info {} \;
答案4
我能找到的所有示例都只采用设备 BSD 名称,而不是设备文件的完整路径。你试过吗?