我知道音量的UUID - 如在「磁盤工具」中找到的那樣。通過UUID查找音量
如何獲得有關音量的其他信息? 最重要的是,我想知道它的掛載點。
看看/ etc/fstab並沒有辦法。這不會列出根卷。我至少需要找出根卷的UUID來驗證我的已知UUID。
我知道音量的UUID - 如在「磁盤工具」中找到的那樣。通過UUID查找音量
如何獲得有關音量的其他信息? 最重要的是,我想知道它的掛載點。
看看/ etc/fstab並沒有辦法。這不會列出根卷。我至少需要找出根卷的UUID來驗證我的已知UUID。
可以使用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
管道的空輸出。
有幾種方法可以做到這一點。如果您想要系統中所有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"
希望有所幫助。
自10.6.1起,Mac OS X上既沒有blkid命令,也沒有/ dev/disk/by-uuid目錄。 – 2010-02-17 08:10:26
這是個竅門。 謝謝彼得! – 2010-02-17 10:55:39