Bagaimana cara me-mount disk oleh UUID atau LABEL di OS X El Capitan?

17

Saya mendapatkan UUID dan label disk dari 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 menggunakan label volume tidak berfungsi:

$ 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 menggunakan volume UUID tidak bekerja dengan atau tanpa tanda kutip:

$ 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 menggunakan pengenal volume bekerja

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

Memperbarui:

Tujuan saya adalah untuk memasukkan mountbaris /etc/fstabkarena saya ingin memasang volume ke custom mountpoint.

biocyberman
sumber
Seperti yang sudah Anda ketahui, mountperintah tidak dapat menggunakan UUIDatau LABELdan harus menggunakan Pengidentifikasi Disk, mis /dev/disk0s4. Sebagai tambahan mungkin barangkali menunjukkan bahwa metode OS X akan digunakan diskutil. Untuk mengatasi pembaruan Anda ... Namun fstabdapat menggunakan UUIDatau LABEL, cukup lihat contoh di halaman manual untuk fstab. Dalam jenis Terminal fstabdan kemudian klik kanan pada fstabdan pilih Open man Page, lalu baca secara keseluruhan! :)
user3439894
@ user3439894 Saya mencoba baris fstabseperti ini :, UUID=<volume_uuid> /mount/point autodan berlari sudo mount -a. Kesalahan yang sama terjadi:... mount_hfs: No such file or directory
biocyberman
Bidang kedua, (fs_file), titik mount, harus sudah ada, bukan?
user3439894
Ya, memang ada.
biocyberman
Saya tidak memiliki masalah dalam menggunakan fstab, namun saya selalu menggunakan setidaknya empat bidang pertama. Saya melihat Anda melewatkan bidang ketiga, (fs_vfstype), di komentar Anda. Apakah Anda menghilangkannya fstab? Anda harus mengedit pertanyaan Anda dan menunjukkan dengan tepat apa yang Anda coba fstabdan editor mana yang Anda gunakan. Yang mengatakan, tidak ada poin mount saya selain default / Volumesyang noneditetapkan. Saya akan menguji setelah saya melihat hasil edit Anda dan titik mount yang Anda coba.
user3439894

Jawaban:

17

Saat menggunakan OS X, biasanya lebih disarankan digunakan diskutiluntuk aktivitas yang berhubungan dengan disk.

TL; DR:

Untuk memasang volume / disk dengan pengidentifikasi:

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

Untuk memasang volume oleh UUID:

diskutil mount [Volume/Partition UUID]

Untuk memasang volume dengan label:

diskutil mount [label]

Penjelasan

Dengan diskutil, pengidentifikasi simpul ( /dev/diskXsY) dapat dipertukarkan dengan UUID: dalam diskutiloperasi apa pun (seperti eject), UUID dapat ditentukan sebagai ganti pengidentifikasi simpul. Dari halaman manual:

PERANGKAT

Parameter perangkat untuk salah satu dari perintah di atas (kecuali jika diminta sebaliknya) biasanya dapat berupa salah satu dari yang berikut:

o Pengidentifikasi disk (lihat di bawah). Entri apa pun dari bentuk disk *, mis. Disk1s9.

o Entri simpul perangkat yang berisi pengidentifikasi disk. Entri apa pun dari bentuk / dev / disk *, misalnya / dev / disk2.

o Titik pemasangan volume. Setiap entri dalam bentuk / Volume / *, misalnya / Volume / Tanpa Judul. Dalam kebanyakan kasus, titik mount "custom" mis. / Your / custom / mountpoint / di sini juga diterima.

o Bentuk URL dari salah satu bentuk volume mount point yang dijelaskan di atas. Misalnya file: /// Volume / Tanpa Judul atau file: ///.

o UUID. Setiap entri dalam bentuk misalnya 11111111-2222-3333-4444-555555555555. UUID dapat berupa "media" UUID yang ditempatkan IOKit dalam simpul IOMedia yang berasal dari mis. Partisi UUID peta GPT, atau dapat berupa set AppleRAID (atau CoreStorage) (LV) atau member (PV) UUID.

Dari man diskutil, bagian 'Perangkat'.


Memperoleh pengidentifikasi / UUID / label ini sederhana, dengan salah satu dari perintah berikut:

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

Nilai yang dikembalikan dari perintah ini akan terlihat seperti berikut ini:

$ 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

Seperti yang ditunjukkan di atas, pengidentifikasi dapat ditemukan dari IDENTIFIERkolom, label dari NAMEkolom, dan UUID dari kedua UUIDbidang (salah satu UUID akan me-mount volume).

Dengan label:

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

Oleh UUID:

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

Dengan pengidentifikasi disk:

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

tambahan untuk edit ke pertanyaan OP: mount ke jalur khusus

Anda dapat melakukan ini dengan diskutil mountdan -mountPointopsi. Dari halaman manual:

pasang [readOnly] [-mountPoint path] perangkat

Pasang satu volume. Jika readOnly ditentukan, maka sistem file dipasang hanya-baca, bahkan jika sistem file yang mendasari dan / atau perangkat dan / atau media mendukung penulisan; bahkan super-user tidak boleh menulis untuk itu; ini sama dengan opsi rdonly untuk me-mount (8). Jika -mountPoint ditentukan, maka jalur itu, alih-alih jalur standar / Volume / VolumeName, akan digunakan sebagai tampilan ke isi file volume; direktori di jalur itu harus sudah ada.

Dari man diskutil, bagian 'Kata Kerja'.

Sintaks untuk me-mount ke custom mountpoint adalah sebagai berikut:

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

Ingatlah bahwa itu /path/to/custom/mountpoint harus berupa direktori , seperti halnya dengan mount, dan bahwa pengenal / UUID / label Anda spesifik untuk volume (yaitu /dev/diskXsYtidak /dev/diskX). Pemasangan ke titik mount khusus tidak dapat dilakukan dengan diskutil mountDisk, dan hanya berfungsi dengan volume tunggal pada satu waktu.

mungkin mungkin menikah
sumber
Terima kasih atas jawabannya, dapatkah Anda memeriksa bagian pembaruan di pertanyaan saya dan mengatasinya?
biocyberman
@biocyberman memperbarui jawaban saya. Jika tidak membahas penambahan Anda dengan tepat, beri tahu saya
mungkin mungkin
2

Inilah yang saya gunakan untuk memasang SSD eksternal ke folder Musik saya yang berisi file media iTunes saya secara otomatis setiap kali saya masuk. Anda tidak mengatakan dengan pasti apa tujuan pemasangan eksternal sehingga beberapa dari bit ini mungkin tidak menjadi apa yang Anda butuhkan tetapi sekali lagi, mungkin persis apa yang Anda coba lakukan.

Seperti yang disebutkan dalam pertanyaan Anda dan dalam jawaban @mungkinbeharryry, mountperintah tersebut tidak mendukung UUID sehingga diskutilutilitas yang disarankan. Namun, fstabfile tersebut mendukung UUID sehingga Anda dapat menyimpan parameter mount di fstabkemudian diskutilakan membaca parameter dari fstabuntuk me-mount drive Anda.

  • Di ~/Music/iTunes/, buat folder yang akan digunakan untuk mountpoint. Saya menggunakan SSD_Music.
  • Gunakan sudo vifsuntuk mengedit fstabfile, tambahkan baris berikut sebagai satu baris (mengedit UUID dan USERNAME jika diperlukan) kemudian simpan / keluar. UUID=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/USERNAME/Music/iTunes/SSD_Music hfs rw,noauto,noowners,nobrowse 0 0

    • noauto = jangan pasang drive saat boot. Saya telah menemukan waktu di mana drive dipasang sebagai root, bukan sebagai saya sehingga lebih baik menunggu sampai Anda login.
    • noowners = Abaikan kepemilikan pada volume. Izin akan diwarisi dari mountpoint. Jika saya tidak menggunakan ini, volume yang dipasang dimiliki oleh root tetapi subdirektori dimiliki oleh saya.
    • nobrowse = Jangan tampilkan disk di bilah sisi Finder atau Desktop.
  • Lakukan pemasangan dengan diskutil mount F8C88B2D-5412-343B-8969-254F3AC559B8( Catatan: Jangan sertakan UUID=awalan dalam perintah ini.
  • Semoga itu dipasang tanpa kesalahan. Periksa dengan mountyang menunjukkan sesuatu seperti/dev/disk2s2 on /Users/USERNAME/Music/iTunes/SSD_Music (hfs, local, nodev, nosuid, journaled, noowners, nobrowse)
  • Jika Anda melakukan ini untuk iTunes, Anda perlu membuat alias untuk iTunes Mediafolder untuk menunjuk ke folder pada disk yang terpasang.
    • Keluar dari iTunes jika sedang berjalan
    • cd ~/Music/iTunes/
    • mv 'iTunes Media' 'iTunes Media-bak'
    • ln -s 'SSD_Music/iTunes Media' 'iTunes Media'
    • ditto 'iTunes Media-bak' 'iTunes Media'untuk menyalin media Anda ke drive baru. Lewati ini jika Anda sudah menyalinnya.
  • Lepaskan disk dengan diskutil unmount ~/Music/iTunes/SSD_Music

Sekarang Anda dapat memasang drive dengan UUID, mari kita mengotomatiskannya saat Anda masuk.

  • Di ~/Library/LaunchAgents/, buat file baru bernamalocal.mount_SSD_Music.plist
  • Salin / Tempel XML berikut ke dalam file baru kemudian simpan / keluar.

    <?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>
    
  • Pastikan drive tidak terpasang

  • Uji pemasangan menggunakan pelat LaunchAgent baru dengan launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Semoga itu dipasang tanpa kesalahan lagi.

Jadi sekarang jika Anda reboot, drive eksternal akan secara otomatis dipasang ketika Anda masuk.

Semoga ini membantu!

Perangkat Lunak Insomnia
sumber
0

Saya menggabungkan beberapa komentar saya ke dalam sebuah jawaban karena saya yakin itu mengatasi fstabmasalah ini.

Seperti yang sudah Anda ketahui, mountperintah tidak dapat menggunakan UUIDatau LABELdan harus menggunakan Pengidentifikasi Disk, mis /dev/disk0s4. Sebagai tambahan mungkin barangkali menunjukkan bahwa metode OS X akan digunakan diskutil. Untuk mengatasi pembaruan Anda ... Namun fstabdapat menggunakan UUIDatau LABEL, cukup lihat contoh di halaman manual untuk fstab. Dalam jenis Terminal fstabdan kemudian klik kanan pada fstabdan pilih Open man Page. Baca seluruhnya! :)

Saya tidak memiliki masalah dalam menggunakan fstab, namun saya selalu menggunakan setidaknya empat bidang pertama. Saya melihat Anda melewatkan bidang ketiga, (fs_vfstype), di komentar Anda. Apakah Anda menghilangkannya fstab? Anda harus mengedit pertanyaan Anda dan menunjukkan dengan tepat apa yang Anda coba fstabdan editor mana yang Anda gunakan.

Coba: di UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs rw,auto mana /mount/pointdirektori yang sudah ada sebelumnya.

Saya sudah menguji ini pada sistem saya menggunakan saya UUID, itu UUIDdi baris saya saya sarankan Anda mencoba di atas.

Catatan: Itu hanya akan me-mount ke titik mount yang ditentukan jika saya menyertakan bidang ketiga, (fs_vfstype), jika tidak, mount /Volumesmeskipun bidang kedua, (fs_file), ada.

pengguna3439894
sumber
Saya telah menguji ini sebelumnya dan saya mendapatkan dua volume identik yang dipasang UUID=... /mount/point hfs rw,autodi El Capitan: 1. / mount / point dan 2. / Volume.
Klanomath
@klanomath, Tidak yakin apa yang ingin Anda katakan, selain itu mungkin itu berfungsi seperti yang saya katakan dalam jawaban saya? Atau apakah Anda mengatakan itu dipasang dua kali tidak peduli apa? BTW saya menjalankan OS X 10.8.5.
user3439894
@klanomath, saya sudah mengeditnya, semoga lebih jelas. Sekarang kembali ke komentar pertama Anda, apakah Anda mengatakan bahwa di bawah OS X 10.11 itu akan me-mount ke titik mount kustom tetapi juga me-mount titik mount kedua di default /Volumesjuga, dengan hanya satu baris ditambahkan ke fstab?
user3439894
Ya itu pengalaman saya. Saya menulis jawaban yang sama tetapi kemudian saya menyadari bahwa volume ditunjukkan dua kali: pada Desktop (yang merupakan / Volume) dan pada titik mount yang didefinisikan dalam fstab (yang adalah / Pengguna / pengguna / tes)
klanomath
@klanomath, saya tidak pernah melihat jawaban Anda, saya kira Anda menghapusnya sebelum saya melihat pertanyaan ini. Karena saya menjalankan OS X 10.8.5 dan tidak memiliki mesin OS X 10.11.x untuk menguji, tidak ada lagi yang bisa saya lakukan selain untuk menghapus jawaban saya juga.
user3439894