2010-02-17 89 views
4

我知道音量的UUID - 如在「磁盤工具」中找到的那樣。通過UUID查找音量

如何獲得有關音量的其他信息? 最重要的是,我想知道它的掛載點。

看看/ etc/fstab並沒有辦法。這不會列出根卷。我至少需要找出根卷的UUID來驗證我的已知UUID。

回答

8

可以使用diskutil由其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> 

您可以使用NSTask和NSPipe從運行磁盤工具在您的程序中並捕獲輸出。

附錄:並非所有卷都有UUID。根據磁盤實用程序和diskutil,我的相機具有內置只讀MS-DOS格式的卷,但沒有UUID。因此,請確保您的程序可以處理上述diskutil info … | grep管道的空輸出。

+0

這是個竅門。 謝謝彼得! – 2010-02-17 10:55:39

-3

有幾種方法可以做到這一點。如果您想要系統中所有UUID的列表,您通常可以查看/ dev/disk/by-uuid /。

此文件夾包含一個將uuids映射到設備位置的符號鏈接。在我的系統將其映射爲以下幾點:

[[email protected] ~]$ 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 /路徑/到/ dev」爲每個設備查找這是你正在尋找一個的。同樣,在我的系統上,它看起來像這樣:

[[email protected] ~]$ blkid /dev/sda1 
/dev/sda1: LABEL="restore" UUID="ea28833b-fa7b-465d-992b-c333b288233b" TYPE="ext4" 

希望有所幫助。

+6

自10.6.1起,Mac OS X上既沒有blkid命令,也沒有/ dev/disk/by-uuid目錄。 – 2010-02-17 08:10:26