OS X El Capitan'da UUID veya LABEL ile disk nasıl monte edilir?


17

Bir diskin UUID'sini ve etiketini alıyorum 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 birim etiketi kullanmak çalışmıyor:

$ 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 birim UUID kullanımı tırnak işareti ile veya tırnak işareti olmadan çalışmaz:

$ 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 birim tanımlayıcı kullanarak çalışır

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

Güncelleme:

Amacım, bir birimi özel bir bağlama noktasına bağlamak istediğim gibi mounthattı yerleştirmektir /etc/fstab.


Daha önce öğrendiğiniz gibi, mountkomut Disk Tanımlayıcı'yı kullanamaz UUIDveya LABELkullanmalıdır, örn /dev/disk0s4. Ayrıca belki de harry OS X yönteminin kullanılacağına dikkat çekti diskutil. Güncellemenize hitap etmek için ... Bununla birlikte fstab, UUIDveya öğesini kullanabilir LABEL, sadece man sayfasındaki örneklere bakın fstab. Terminal türünde fstabsağ tıklayın fstabve Man Sayfasını Aç'ı seçin, ardından tamamını okuyun! :)
user3439894

@ user3439894 Ben bir çizgi çalıştı fstabböyle: UUID=<volume_uuid> /mount/point autove ran sudo mount -a. Aynı hata oldu:... mount_hfs: No such file or directory
biocyberman

İkinci alan, (fs_file), bağlama noktası zaten mevcut olmalı, değil mi?
user3439894

Evet, var.
biocyberman

Kullanmakta sorun yaşamıyorum fstab, ancak her zaman en az ilk dört alanı kullanıyorum. Yorumunuzda üçüncü alanı (fs_vfstype) kaçırdığınızı görüyorum. İçeri mi atlıyorsunuz fstab? Sorunuzu düzenlemeli ve tam olarak neyi denediğinizi fstabve hangi editörü kullandığınızı göstermelisiniz. Bu benim montaj noktalarının hiçbiri varsayılan / diğer mı dedim Volumeskendisi için noneayarlanır. Düzenlemenizi ve denediğiniz bağlama noktasını gördüğümde test edeceğim.
user3439894

Yanıtlar:


17

OS X kullanırken, genellikle diskutildiskle ilgili etkinlikler için kullanılması daha tavsiye edilir .

TL; DR:

Bir birimi / diski tanımlayıcıya göre monte etmek için:

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

Bir birimi UUID ile bağlamak için:

diskutil mount [Volume/Partition UUID]

Bir birimi etikete göre monte etmek için:

diskutil mount [label]

açıklama

İle diskutil, düğüm tanımlayıcıları ( /dev/diskXsY) UUID'lerle değiştirilebilir: herhangi bir diskutilişlemde (örneğin eject), düğüm tanımlayıcı yerine bir UUID belirtilebilir. Man sayfasından:

CİHAZLAR

Yukarıdaki komutlardan herhangi birine ait bir aygıt parametresi (aksi açıkça belirtilmediği durumlar dışında) genellikle aşağıdakilerden herhangi biri olabilir:

o Disk tanımlayıcı (aşağıya bakın). Disk * biçimindeki herhangi bir girdi, örneğin disk1s9.

o Disk tanımlayıcısını içeren aygıt düğümü girişi. / Dev / disk * biçimindeki herhangi bir girdi, örneğin / dev / disk2.

o Ses bağlama noktası. / Volumes / * biçimindeki herhangi bir girdi, örneğin / Volumes / Untitled. Çoğu durumda, "özel" bağlama noktası, örneğin / / custom / mountpoint / burada da kabul edilir.

o Yukarıda açıklanan birim bağlama noktası formlarının herhangi birinin URL formu. Örneğin dosya: /// Ciltler / Adsız veya dosya: ///.

o Bir UUID. 11111111-2222-3333-4444-555555555555 şeklindeki herhangi bir giriş. UUID, IOKit'in bir IOMedia düğümüne GPT haritasının bölüm UUID'sinden türetildiği gibi yerleştirdiği bir "medya" UUID olabilir veya bir AppleRAID (veya CoreStorage) seti (LV) veya üye (PV) UUID olabilir.

Kimden man diskutil, 'Aygıtlar' bölümü.


Bu tanımlayıcıları / UUID'leri / etiketleri almak, aşağıdaki komutlardan biriyle basittir:

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

Bu komutlardan döndürülen değerler aşağıdaki gibi görünmelidir:

$ 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

Yukarıda gösterildiği gibi, tanımlayıcı IDENTIFIERsütundan, sütundan etiketten NAMEve her iki UUIDalandan UUID'den (her iki UUID de birimi bağlar) bulunabilir.

Etikete göre:

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

UUID tarafından:

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

Disk tanımlayıcıya göre:

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

OP sorusuna düzenleme için ek: özel bir yola montaj

Bunu diskutil mountve -mountPointseçeneği ile yapabilirsiniz . Man sayfasından:

mount [readOnly] [-mountPoint yolu] cihazı

Tek bir birim monte edin. ReadOnly belirtilirse, birimin temel dosya sistemi ve / veya aygıtı ve / veya medyası yazmayı desteklese bile dosya sistemi salt okunur olarak bağlanır; süper kullanıcı bile ona yazamaz; bu, (8) montajı için rdonly seçeneğiyle aynıdır. Bir -mountPoint belirtilirse, / Volume / VolumeName öğesinin standart yolu yerine bu yol, birim dosyası içeriğinin görünümü olarak kullanılır; bu yoldaki bir dizin zaten mevcut olmalıdır.

Kimden man diskutil, 'Fiiller' bölümü.

Özel bir bağlama noktasına monte edilecek sözdizimi aşağıdaki gibidir:

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

/path/to/custom/mountpoint Bir dizin olması gerektiğini unutmayın , tıpkı mountonun gibi ve tanımlayıcı / UUID / etiketinizin birime özgü olduğunu (yani /dev/diskXsYdeğil /dev/diskX) unutmayın. Özel bir bağlama noktasına montaj yapılamaz diskutil mountDiskve aynı anda yalnızca tek bir birimle çalışır.


Cevabınız için teşekkürler, sorumun güncelleme bölümünü kontrol edip adresinizi sorabilir misiniz?
biocyberman

@biocyberman cevabımı güncelledi. Eklemenizi uygun şekilde ele almazsa, lütfen bana bildirin
belki

2

İşte ne zaman giriş yaptığımda iTunes medya dosyalarımı otomatik olarak içeren bir SSD'yi Müzik klasörüne monte etmek için kullandığım şey. İhtiyacınız olan şey olun ama yine de, tam olarak yapmaya çalıştığınız şey olabilir.

Sorunuzda ve @ belki maybeharry'nin cevabında belirtildiği gibi, mountkomut UUID'leri desteklemediğinden diskutilönerilen yardımcı programdır. Ancak, fstabsen monte parametreleri saklayabilirsiniz böylece dosya desteği UUIDs yapar fstabsonra diskutilgelen parametreleri okuyacak fstabsürücünüzü monte etmek.

  • İçinde ~/Music/iTunes/, bağlama noktası için kullanılacak bir klasör oluşturun. Ben kullandım SSD_Music.
  • Kullanım sudo vifsdüzenlemeye fstabdosya, daha sonra kaydet / çıkış (uygun olarak UUID için düzenleme ve USERNAME) tek bir satır olarak aşağıdaki ekleyin. UUID=F8C88B2D-5412-343B-8969-254F3AC559B8 /Users/USERNAME/Music/iTunes/SSD_Music hfs rw,noauto,noowners,nobrowse 0 0

    • noauto = önyükleme sırasında sürücüyü bağlamayın. Sürücünün benim gibi kök olarak monte edildiği zamanlarla karşılaştım, bu yüzden giriş yapana kadar beklemek daha iyi.
    • noowners = Birimdeki sahipliği yoksay. İzinler bağlama noktasından devralınacaktır. Eğer bunu kullanmazsam, bağlanan birime kök aitti fakat alt dizinler bana aitti.
    • nobrowse = Diski Finder kenar çubuğunda veya Masaüstünde gösterme.
  • Montajı diskutil mount F8C88B2D-5412-343B-8969-254F3AC559B8( Not:UUID= Bu komuta önek dahil etmeyin .
  • Umarım hatasız monte edilir. mountHangi gibi bir şey göstermesi gerektiğini kontrol edin/dev/disk2s2 on /Users/USERNAME/Music/iTunes/SSD_Music (hfs, local, nodev, nosuid, journaled, noowners, nobrowse)
  • İTunes için bunu yapıyorsanız iTunes Media, klasörün takılan diskteki klasörü göstermesi için bir diğer ad oluşturmanız gerekir .
    • Çalışıyorsa iTunes'dan çıkın
    • cd ~/Music/iTunes/
    • mv 'iTunes Media' 'iTunes Media-bak'
    • ln -s 'SSD_Music/iTunes Media' 'iTunes Media'
    • ditto 'iTunes Media-bak' 'iTunes Media'medyanızı yeni sürücüye kopyalamak için. Zaten kopyaladıysanız bunu atlayın.
  • Diski ile bağlantısını kesin diskutil unmount ~/Music/iTunes/SSD_Music

Şimdi sürücüyü UUID ile monte edebildiğinize göre, giriş yaptığınızda otomatikleştirelim.

  • İçinde ~/Library/LaunchAgents/, adlı yeni bir dosya oluşturun.local.mount_SSD_Music.plist
  • Aşağıdaki XML'yi kopyalayın / yeni dosyaya yapıştırın, ardından kaydedin / çıkın.

    <?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>
    
  • Sürücünün takılı olmadığından emin olun

  • Yeni LaunchAgent plist ile montajı test edin launchctl load ~/Library/LaunchAgents/local.mount_SSD_Music.plist. Umarım tekrar hatasız monte edilir.

Şimdi yeniden başlatırsanız, giriş yaptığınızda harici sürücü otomatik olarak bağlanır.

Bu yardımcı olur umarım!


0

fstabKonuyla ilgili olduğuna inandığım için yorumumun bir kısmını bir cevapta birleştiriyorum .

Daha önce öğrendiğiniz gibi, mountkomut Disk Tanımlayıcı'yı kullanamaz UUIDveya LABELkullanmalıdır, örn /dev/disk0s4. Ayrıca belki de harry OS X yönteminin kullanılacağına dikkat çekti diskutil. Güncellemenize hitap etmek için ... Bununla birlikte fstab, UUIDveya öğesini kullanabilir LABEL, sadece man sayfasındaki örneklere bakın fstab. Terminal tipinde fstabsağ tıklayın fstabve Man Page Sayfasını Aç'ı seçin. Bütünüyle okuyun! :)

Kullanmakta sorun yaşamıyorum fstab, ancak her zaman en az ilk dört alanı kullanıyorum. Yorumunuzda üçüncü alanı (fs_vfstype) kaçırdığınızı görüyorum. İçeri mi atlıyorsunuz fstab? Sorunuzu düzenlemeli ve tam olarak neyi denediğinizi fstabve hangi editörü kullandığınızı göstermelisiniz.

Deneyin: UUID=1738336E-68DD-46B1-997E-57469CF0472D /mount/point hfs rw,auto nerede /mount/pointönceden var olan dizindir.

Bunu benim sistemimi kullanarak test ettim UUID, bu sizin UUIDyukarıda satırında yapmanızı öneririm.

Not: Yalnızca üçüncü alanı (fs_vfstype) dahil etsem tanımlı bağlama noktasına bağlanır, aksi takdirde /Volumesikinci alan (fs_file) mevcut olsa bile monte edilir .


Bunu daha önce test ettim UUID=... /mount/point hfs rw,autove El Capitan'da iki özdeş birim monte ettim : 1. / mount / point ve 2. / Volume.
klanomath

@klanomath, Ne demeye çalıştığınızdan emin değilsiniz, diğeri cevabımda söylediğim gibi çalışıyor olabilir mi? Yoksa ne olursa olsun iki kez monte edildiğini mi söylüyorsun? BTW OS X 10.8.5 kullanıyorum.
user3439894

@klanomath, düzenledim, umarım daha açıktır. Şimdi ilk yorumunuza geri dönersek, OS X 10.11 altında özel bir bağlantı noktasına bağlanacağını, ancak varsayılan olarak ikinci bir bağlama noktasını da /Volumeseklediğini ve sadece bir satır eklendiğini mi söylüyorsunuz fstab?
user3439894

Evet bu benim deneyimimdi. Benzer bir cevap yazdım ama sonra hacmin iki kez gösterildiğini fark ettim: Masaüstünde (/ Volumes) ve fstab (/ Users / user / test) olarak tanımlanan bağlama noktasında
klanomath

@klanomath, cevabınızı hiç görmedim, sanırım bu soruyu görmeden önce sildiniz. OS X 10.8.5 çalıştırıyorum ve test etmek için bir OS X 10.11.x makinem olmadığından, cevabımı da silmek için yapabileceğim çok daha fazla şey yok.
user3439894
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.