Làm cách nào để gắn đĩa bằng UUID hoặc LABEL trong OS X El Capitan?


17

Tôi nhận được UUID và nhãn của một đĩa từ diskutil info disk0s4

diskutil info disk0s4
   Device Identifier:        disk0s4
   Device Node:              /dev/disk0s4
   Whole:                    No
   Part of Whole:            disk0
   Device / Media Name:      Untitled

   Volume Name:              Data

   Mounted:                  No

   File System Personality:  HFS+
   Type (Bundle):            hfs
   Name (User Visible):      Mac OS Extended
   Journal:                  Unknown (not mounted)
   Owners:                   Disabled

   Partition Type:           Apple_HFS
   OS Can Be Installed:      No
   Media Type:               Generic
   Protocol:                 PCI
   SMART Status:             Verified
   Volume UUID:              F8C88B2D-5412-343B-8969-254F3AC559B8
   Disk / Partition UUID:    1738336E-68DD-46B1-997E-57469CF0472D

   Total Size:               338.0 GB (337984569344 Bytes) (exactly 660126112 512-Byte-Units)
   Volume Free Space:        0 B (0 Bytes) (exactly 0 512-Byte-Units)
   Device Block Size:        512 Bytes

   Read-Only Media:          No
   Read-Only Volume:         Not applicable (not mounted)

   Device Location:          Internal
   Removable Media:          No

   Solid State:              Yes

mount sử dụng nhãn âm lượng không hoạt động:

$ sudo mount -t hfs LABEL=Data /Users/user/test
GetMasterBlock: Error 2 opening LABEL=Data
GetMasterBlock: Error 2 opening LABEL=Data
mount_hfs: error on mount(): error = -1.
mount_hfs: No such file or directory

mount sử dụng âm lượng UUID không hoạt động có hoặc không có dấu ngoặc kép:

$ sudo mount -t hfs uuid=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/user/test
GetMasterBlock: Error 2 opening uuid=F8C88B2D-5412-343B-8969-254F3AC559B8
GetMasterBlock: Error 2 opening uuid=F8C88B2D-5412-343B-8969-254F3AC559B8
mount_hfs: error on mount(): error = -1.
mount_hfs: No such file or directory
$ sudo mount -t hfs UUID="F8C88B2D-5412-343B-8969-254F3AC559B8" /Users/user/test
GetMasterBlock: Error 2 opening UUID=F8C88B2D-5412-343B-8969-254F3AC559B8
GetMasterBlock: Error 2 opening UUID=F8C88B2D-5412-343B-8969-254F3AC559B8
mount_hfs: error on mount(): error = -1.
mount_hfs: No such file or directory

mount sử dụng định danh âm lượng hoạt động

mymac:~ user$ sudo mount -t hfs /dev/disk0s4 /Users/user/test

Cập nhật:

Mục tiêu của tôi là đặt mountdòng vào trong /etc/fstabkhi tôi muốn gắn âm lượng vào một điểm gắn tùy chỉnh.


Như bạn đã tìm ra, mountlệnh không thể sử dụng UUIDhoặc LABELphải sử dụng Trình nhận dạng đĩa, vd /dev/disk0s4. Ngoài ra, có lẽ như có lẽ chỉ ra rằng phương pháp OS X sẽ được sử dụng diskutil. Để giải quyết cập nhật của bạn ... Tuy nhiên, fstabcó thể sử dụng UUIDhoặc LABEL, chỉ cần xem các ví dụ trong trang hướng dẫn fstab. Trong một loại Terminal fstabvà sau đó nhấp chuột phải vào fstabvà chọn Open man Page, sau đó đọc toàn bộ nó! :)
dùng3439894

@ user3439894 Tôi đã thử một dòng fstabnhư thế này : UUID=<volume_uuid> /mount/point auto, và đã chạy sudo mount -a. Lỗi tương tự đã xảy ra:... mount_hfs: No such file or directory
biocyberman

Trường thứ hai, (fs_file), điểm gắn kết, phải tồn tại, phải không?
dùng3439894

Vâng, nó tồn tại.
biocyberman

Tôi không gặp vấn đề gì khi sử dụng fstab, tuy nhiên tôi luôn sử dụng ít nhất bốn trường đầu tiên. Tôi thấy bạn thiếu trường thứ ba, (fs_vfstype), trong bình luận của bạn. Bạn đang bỏ qua nó trong fstab? Bạn nên chỉnh sửa câu hỏi của mình và hiển thị chính xác những gì bạn đã thử fstabvà trình soạn thảo nào bạn đã sử dụng. Điều đó nói rằng, không ai trong số các điểm gán tôi là khác thì default / Volumesnoneđược thiết lập. Tôi sẽ kiểm tra khi tôi thấy chỉnh sửa của bạn và điểm gắn kết bạn đang cố gắng.
dùng3439894

Câu trả lời:


17

Khi sử dụng OS X, thông thường nên sử dụng diskutilcho các hoạt động liên quan đến đĩa.

TL; DR:

Để gắn một ổ đĩa / đĩa bằng mã định danh:

diskutil mount /dev/diskXsY          # mounts just that volume
diskutil mountDisk /dev/diskX        # mounts the whole disk

Để gắn kết âm lượng bằng UUID:

diskutil mount [Volume/Partition UUID]

Để gắn âm lượng theo nhãn:

diskutil mount [label]

Giải trình

Với diskutil, số nhận dạng nút ( /dev/diskXsY) có thể hoán đổi cho nhau bằng UUID: trong mọi diskutilhoạt động (chẳng hạn như eject), UUID có thể được chỉ định thay vì số nhận dạng nút. Từ trang người đàn ông:

THIẾT BỊ

Một tham số thiết bị cho bất kỳ lệnh nào ở trên (trừ khi có yêu cầu rõ ràng khác) thường có thể là bất kỳ lệnh nào sau đây:

o Định danh đĩa (xem bên dưới). Bất kỳ mục nhập nào ở dạng đĩa *, ví dụ: đĩa1s9.

o Mục nút thiết bị chứa định danh đĩa. Bất kỳ mục nhập nào ở dạng / dev / đĩa *, ví dụ / dev / đĩa2.

o Điểm gắn âm lượng. Bất kỳ mục nhập nào của hình thức / Tập / *, ví dụ / Tập / Chưa có tiêu đề. Trong hầu hết các trường hợp, điểm gắn kết "tùy chỉnh", vd / your / custom / mountpoint / here cũng được chấp nhận.

o Biểu mẫu URL của bất kỳ biểu mẫu điểm gắn khối lượng nào được mô tả ở trên. Ví dụ: tệp: /// Tập / Chưa có tiêu đề hoặc tệp: ///.

o UUID. Bất kỳ mục nhập nào của ví dụ 11111111-2222-3333-4444-555555555555. UUID có thể là UUID "phương tiện" mà IOKit đặt trong nút IOMedia như xuất phát từ ví dụ UUID của bản đồ GPT hoặc có thể là một bộ AppleRAID (hoặc CoreStorage) (LV) hoặc thành viên (PV) UUID.

Từ man diskutil, phần 'Thiết bị'.


Lấy các mã định danh / UUID / nhãn này rất đơn giản, với một trong các lệnh sau:

diskutil list                               # lists all connected volumes and their identifiers
diskutil info /dev/diskXsY | grep UUID      # gets the UUID of a connected volume

Các giá trị được trả về từ các lệnh này sẽ trông giống như sau:

$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.3 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh SSD           499.4 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3

$ diskutil info /dev/diskXsY | grep UUID
Volume UUID:              1F340CD7-G071-4218-98DG-2D08G89CC57C
Disk / Partition UUID:    76E7G531-G6C3-5E37-C11B-BCEEC67D12G4

Như được hiển thị ở trên, số nhận dạng có thể được tìm thấy từ IDENTIFIERcột, nhãn từ NAMEcột và UUID từ một trong hai UUIDtrường (UUID sẽ gắn âm lượng).

Theo nhãn:

$ diskutil mount Recovery\ HD
Volume Recovery HD on Recovery HD mounted

Bằng UUID:

$ diskutil mount 67EG87EB-CB01-4ED9-082D-303F63CF6394
Volume Recovery HD on 67EG87EB-CB01-4ED9-082D-303F63CF6394 mounted

Theo định danh đĩa:

$ diskutil mount /dev/disk0s3
Volume Recovery HD on /dev/disk0s3 mounted

Ngoài ra để chỉnh sửa câu hỏi của OP: gắn vào đường dẫn tùy chỉnh

Bạn có thể làm điều này với diskutil mount-mountPointtùy chọn. Từ trang người đàn ông:

gắn thiết bị [readOnly] [-mountPoint]

Gắn kết một khối lượng duy nhất. Nếu readOnly được chỉ định, thì hệ thống tệp được gắn ở chế độ chỉ đọc, ngay cả khi hệ thống tệp cơ bản của tập và / hoặc thiết bị và / hoặc phương tiện hỗ trợ ghi; ngay cả siêu người dùng cũng không thể viết thư cho nó; điều này giống như tùy chọn rdonly để gắn kết (8). Nếu một -mountPoint được chỉ định, thì đường dẫn đó, chứ không phải là đường dẫn tiêu chuẩn của / Tập / VolumeName, sẽ được sử dụng làm chế độ xem vào liên kết tệp âm lượng; một thư mục tại đường dẫn đó phải tồn tại.

Từ man diskutil, phần 'Động từ'.

Cú pháp để gắn kết với một mountpoint tùy chỉnh như sau:

diskutil mount -mountPoint /path/to/custom/mountpoint [volume (identifier/UUID/label)]

Hãy nhớ rằng đó /path/to/custom/mountpoint phải là một thư mục , giống như với mountvà định danh / UUID / nhãn của bạn là dành riêng cho âm lượng (tức là /dev/diskXsYkhông /dev/diskX). Việc gắn vào một điểm gắn tùy chỉnh không thể được thực hiện diskutil mountDiskvà chỉ hoạt động với một âm lượng duy nhất tại một thời điểm.


Cảm ơn câu trả lời, bạn có thể kiểm tra phần cập nhật trong câu hỏi của tôi và giải quyết nó không?
biocyberman

@biocyberman cập nhật câu trả lời của tôi. Nếu nó không giải quyết sự bổ sung của bạn một cách thích hợp, xin vui lòng cho tôi biết
lẽ là

2

Đây là những gì tôi đã sử dụng để gắn SSD ngoài vào thư mục Âm nhạc chứa các tệp phương tiện iTunes của tôi bất cứ khi nào tôi đăng nhập. Bạn không nói chính xác mục đích của việc gắn ngoài là gì nên một số bit này có thể không là những gì bạn cần nhưng sau đó một lần nữa, nó có thể chính xác là những gì bạn đang cố gắng làm.

Như đã đề cập trong câu hỏi của bạn và trong câu trả lời của @ mightmaybeharry, mountlệnh không hỗ trợ UUID, vì vậy đây diskutillà tiện ích được đề xuất. Tuy nhiên, fstabtệp không hỗ trợ UUID để bạn có thể lưu trữ các tham số gắn kết fstabsau đó diskutilsẽ đọc các tham số từ fstabđể gắn ổ đĩa của bạn.

  • Trong ~/Music/iTunes/, tạo một thư mục sẽ được sử dụng cho mountpoint. Tôi đã sử dụng SSD_Music.
  • Sử dụng sudo vifsđể chỉnh sửa fstabtệp, thêm dòng sau dưới dạng một dòng (chỉnh sửa cho UUID và USERNAME nếu phù hợp) sau đó lưu / thoát. UUID=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/USERNAME/Music/iTunes/SSD_Music hfs rw,noauto,noowners,nobrowse 0 0

    • noauto = không gắn ổ đĩa trong khi khởi động. Tôi đã gặp những lần ổ đĩa được gắn dưới dạng root thay vì như tôi, tốt hơn là đợi cho đến khi bạn đăng nhập.
    • noowners = Bỏ qua quyền sở hữu trên âm lượng. Quyền sẽ được kế thừa từ điểm gắn kết. Nếu tôi không sử dụng điều này, khối lượng gắn kết được sở hữu bởi root nhưng các thư mục con thuộc sở hữu của tôi.
    • nobrowse = Không hiển thị đĩa trong thanh bên Finder hoặc Desktop.
  • Thực hiện gắn kết với diskutil mount F8C88B2D-5412-343B-8969-254F3AC559B8( Lưu ý: Không bao gồm UUID=tiền tố trong lệnh này.
  • Hy vọng nó gắn kết mà không có lỗi. Kiểm tra xem nó mountsẽ hiển thị cái gì đó như/dev/disk2s2 on /Users/USERNAME/Music/iTunes/SSD_Music (hfs, local, nodev, nosuid, journaled, noowners, nobrowse)
  • Nếu bạn đang làm điều này cho iTunes, bạn cần tạo bí danh cho iTunes Mediathư mục để trỏ đến thư mục trên đĩa được gắn.
    • Thoát khỏi iTunes nếu nó đang chạy
    • cd ~/Music/iTunes/
    • mv 'iTunes Media' 'iTunes Media-bak'
    • ln -s 'SSD_Music/iTunes Media' 'iTunes Media'
    • ditto 'iTunes Media-bak' 'iTunes Media'để sao chép phương tiện truyền thông của bạn vào ổ đĩa mới. Bỏ qua điều này nếu bạn đã sao chép nó qua.
  • Tháo đĩa với diskutil unmount ~/Music/iTunes/SSD_Music

Bây giờ bạn có thể gắn ổ đĩa bằng UUID, hãy tự động hóa nó khi bạn đăng nhập.

  • Trong ~/Library/LaunchAgents/, tạo một tệp mới gọi làlocal.mount_SSD_Music.plist
  • Sao chép / Dán XML sau vào tệp mới sau đó lưu / thoát.

    <?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>
        <key>Disabled</key>
        <false/>
        <key>KeepAlive</key>
        <false/>
        <key>Label</key>
        <string>local.mount_SSD_Music</string>
        <key>ProcessType</key>
        <string>Background</string>
        <key>ProgramArguments</key>
        <array>
            <string>/usr/sbin/diskutil</string>
            <string>mount</string>
            <string>F8C88B2D-5412-343B-8969-254F3AC559B8</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
    </plist>
    
  • Hãy chắc chắn rằng ổ đĩa không được đếm

  • Kiểm tra việc gắn kết bằng cách sử dụng công cụ mới LaunchAgent với launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Hy vọng nó gắn kết mà không có lỗi một lần nữa.

Vì vậy, bây giờ nếu bạn khởi động lại, ổ đĩa ngoài sẽ được tự động gắn kết khi bạn đăng nhập.

Hi vọng điêu nay co ich!


0

Tôi đang kết hợp một số bình luận của tôi thành một câu trả lời vì tôi tin rằng nó giải quyết fstabvấn đề.

Như bạn đã tìm ra, mountlệnh không thể sử dụng UUIDhoặc LABELphải sử dụng Trình nhận dạng đĩa, vd /dev/disk0s4. Ngoài ra, có lẽ như có lẽ chỉ ra rằng phương pháp OS X sẽ được sử dụng diskutil. Để giải quyết cập nhật của bạn ... Tuy nhiên, fstabcó thể sử dụng UUIDhoặc LABEL, chỉ cần xem các ví dụ trong trang hướng dẫn fstab. Trong một loại Terminal fstabvà sau đó nhấp chuột phải vào fstabvà chọn Open man Page. Đọc toàn bộ! :)

Tôi không gặp vấn đề gì khi sử dụng fstab, tuy nhiên tôi luôn sử dụng ít nhất bốn trường đầu tiên. Tôi thấy bạn thiếu trường thứ ba, (fs_vfstype), trong bình luận của bạn. Bạn đang bỏ qua nó trong fstab? Bạn nên chỉnh sửa câu hỏi của mình và hiển thị chính xác những gì bạn đã thử fstabvà trình soạn thảo nào bạn đã sử dụng.

Hãy thử: UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs rw,auto nơi /mount/pointcó một thư mục có sẵn.

Tôi đã thử nghiệm điều này trên hệ thống của tôi bằng cách sử dụng UUID, đây là UUIDdòng của bạn , tôi khuyên bạn nên thử ở trên.

Lưu ý: Nó sẽ chỉ gắn kết với điểm gắn kết được xác định nếu tôi bao gồm trường thứ ba, (fs_vfstype), nếu không, nó được gắn vào /Volumesngay cả khi trường thứ hai, (fs_file), tồn tại.


Tôi đã thử nghiệm điều này trước đây và tôi đã nhận được hai khối lượng giống hệt nhau được gắn UUID=... /mount/point hfs rw,autotrong El Capitan: 1. / mount / point và 2. / Volume.
klanomath

@klanomath, Không chắc bạn đang cố nói gì, ngoài ra thì có lẽ nó hoạt động như tôi đã nói trong câu trả lời của tôi? Hoặc bạn đang nói nó gắn kết hai lần không có vấn đề gì? BTW Tôi đang chạy OS X 10.8.5.
dùng3439894

@klanomath, tôi đã chỉnh sửa nó, hy vọng nó rõ ràng hơn. Bây giờ trở lại nhận xét đầu tiên của bạn, bạn có nói rằng trong OS X 10.11, nó sẽ gắn kết với một điểm gắn tùy chỉnh nhưng nó cũng gắn kết một điểm gắn kết thứ hai ở mặc định /Volumes, chỉ với một dòng được thêm vào fstab?
dùng3439894

Vâng, đó là kinh nghiệm của tôi. Tôi đã viết một câu trả lời tương tự nhưng sau đó tôi nhận ra rằng âm lượng được hiển thị hai lần: trên Bàn làm việc (đó là / Tập) và tại điểm gắn kết được xác định trong fstab (đó là / Người dùng / người dùng / kiểm tra)
klanomath

@klanomath, tôi chưa bao giờ thấy câu trả lời của bạn, tôi đoán bạn đã xóa nó trước khi tôi thấy câu hỏi này. Vì tôi đang chạy OS X 10.8.5 và không có máy OS X 10.11.x để kiểm tra, nên tôi cũng không thể làm gì khác để xóa câu trả lời của mình.
dùng3439894
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.