Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocoa 按UUID查找卷_Cocoa_Macos_Macos Carbon - Fatal编程技术网

Cocoa 按UUID查找卷

Cocoa 按UUID查找卷,cocoa,macos,macos-carbon,Cocoa,Macos,Macos Carbon,我知道一个卷的UUID——在Disk Utility中可以找到 如何获取有关卷的其他信息? 最重要的是,我想知道它的安装点 查看/etc/fstab并不起作用。这不会列出根卷。我至少需要找出根卷的UUID,以验证我的已知UUID是否与之对应。有几种方法可以做到这一点。如果需要系统中所有uuid的列表,通常可以查看/dev/disk/by uuid/ 此文件夹包含将UUID映射到设备位置的符号链接。在我的系统上,它映射如下: [sean@vladimir ~]$ ls -al /dev/disk/

我知道一个卷的UUID——在Disk Utility中可以找到

如何获取有关卷的其他信息? 最重要的是,我想知道它的安装点


查看/etc/fstab并不起作用。这不会列出根卷。我至少需要找出根卷的UUID,以验证我的已知UUID是否与之对应。

有几种方法可以做到这一点。如果需要系统中所有uuid的列表,通常可以查看/dev/disk/by uuid/

此文件夹包含将UUID映射到设备位置的符号链接。在我的系统上,它映射如下:

[sean@vladimir ~]$ ls -al /dev/disk/by-uuid/
total 0
drwxr-xr-x 2 root root 300 2010-02-02 22:42 .
drwxr-xr-x 6 root root 120 2010-02-02 22:42 ..
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 02123883-6538-4c74-bc74-362eb2588d2b -> ../../sdc4
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 1ce37cd8-52b0-4442-98b5-3702194644f2 -> ../../dm-5
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 1d718419-8175-446c-a01b-51e895d59467 -> ../../sdc7
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 382a64d7-68fe-45a3-87d3-ae7b7a861067 -> ../../dm-1
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 47ab8e51-4023-4bec-a888-576879fba2dd -> ../../sdc1
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 5b4e6b94-f7c7-40c1-a4ee-ca555efc97df -> ../../dm-4
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 6d1df3de-b408-4942-a2e3-78244a68cece -> ../../dm-0
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 c7f841db-8b38-403e-9bcc-926c18deadfc -> ../../sdc6
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 db3f2c47-e29d-4b33-a462-6230ed2bcea8 -> ../../dm-2
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 e5bd9df3-65f7-4815-839f-8b5fad82bc50 -> ../../sdc5
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 ea28833b-fa7b-465d-992b-c333b288233b -> ../../sda1
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 ebb72c56-8776-4e7d-ace9-fc727239f999 -> ../../sda2
lrwxrwxrwx 1 root root  10 2010-02-02 22:42 fd75f53b-6058-467b-9e0f-0a725e7bc83e -> ../../dm-3
或者,您可以为每个设备运行“blkid/path/to/dev”,以查找您要查找的设备。同样,在我的系统上,它显示为:

[sean@vladimir ~]$ blkid /dev/sda1
/dev/sda1: LABEL="restore" UUID="ea28833b-fa7b-465d-992b-c333b288233b" TYPE="ext4" 
希望有帮助。

您可以使用UUID查找磁盘,并使用-plist选项以机器可解析的格式获取输出:

% diskutil info /Volumes/RAM\ Disk | grep -F UUID
   Volume UUID:              EA20BE94-5F3C-3C02-901D-A213B5AB6831

% diskutil info -plist EA20BE94-5F3C-3C02-901D-A213B5AB6831
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <!--snip-->
    <key>MountPoint</key>
    <string>/Volumes/RAM Disk</string>
    <!--snip-->
</dict>
</plist>
%diskutil info/Volumes/RAM\Disk | grep-F UUID
卷UUID:EA20BE94-5F3C-3C02-901D-A213B5AB6831
%diskutil信息-plist EA20BE94-5F3C-3C02-901D-A213B5AB6831
山点
/卷/RAM磁盘
您可以使用NSTask和NSPipe从程序中运行diskutil并捕获输出


附录:并非所有卷都有UUID。我的相机有一个内置的只读MS DOS格式的卷,根据Disk Utility和diskutil,该卷没有UUID。因此,请确保您的程序能够处理来自上述
diskutil info…| grep
管道的空输出。

从10.6.1起,Mac OS X上既没有blkid命令,也没有/dev/disk/by uuid目录。