OS X'te yeniden başlatma sırasında disk yeniden numaralandırmasını nasıl önleyebilirim?


12

Mac OS X 10.6.4 ile Mac Pro'mda 3 fiziksel sürücüm var. Bazen makineyi yeniden başlattıktan sonra, disk numaralandırma / dev / disk # yeniden başlatmadan önceki sürücüye başvurmayacak şekilde değişir.

Misal

/dev/disk0 -> 64GB SSD drive
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 160GB WD (BootCamp)

Yeniden başlattıktan sonra eşleme

/dev/disk0 -> 160GB WD (BootCamp)
/dev/disk1 -> 640GB Hitachi
/dev/disk2 -> 64GB SSD drive

Daha da kafa karıştırıcı olması, yeniden eşlemenin tutarlı olmamasıdır. Çoğu şey için bu önemsizdir. Ancak aynı zamanda OS X içinden BootCamp bölümüne erişime izin vermek için Parallels yüklü. Parallels, yapılandırma dosyasında / dev / disk # yolunu kullanır, böylece OS XI başlatma Parallels'i yeniden başlattıktan sonra diskin artık mevcut olmadığını söyler .

OS X'e her zaman / dev / disk0'a belirli bir sürücü atamasını söylemenin bir yolu var mı?


3
Bu benim uzmanlığım alanı içinde değil, ancak toplu UUID'lerle bir şeyler yapılabilir mi?
fideli

@fideli: Bilmiyorum ... bu konuda yardıma ihtiyacım var :) OSX'in bunu yapmasını bekliyordum - belirli bir UUID'ye sahip bir sürücünün nereye monte edildiğini ve orada bırakıldığını hatırladım ama öyle görünmüyor dava.
Paul Alexander

Linux'ta diskler, numaralandırma yapsa bile değişmeyen / dev / disk / by-uuid / [disk-uuid] gibi sembolik bağlara sahiptir. Belki OSX benzerdir?
solarc

Yanıtlar:


2

Anladığım kadarıyla MacOS bu yeteneğe sahip değil, ancak paralellikler için kesinlikle gerekli olmayabilir.

macports kullanma ve e2fsprogs'u küçük bir yama ile yükleme:

diff -r e2fsprogs-1.41.12/misc/Makefile e2fsprogs-1.41.12.patched/misc/Makefile
399c399
>       $(LIBEXT2FS) $(LIBCOM_ERR)
---
<       $(LIBEXT2FS)
401,402c401

bölümleri, diskleri numaralandırmak ve ilgili uuid'leri almak için blkid -s UUID / dev / rdisk * kullanabilirsiniz (oldukça az desteklenen herhangi bir dosya sistemi için).

Bundan sonra, 'ln -s' ile bir softlink eklemek veya mknod ile alternatif bir cihaz düğümü oluşturmak çalışmalıdır (ve sonra Parallels'den bu psudo- / clone-cihazına başvurmalıdır). Fusion ile benzer numaralar yaptım, ancak şu anda Paralells yüklü değil (bu yüzden test edemiyorum)

stat -f "% Sr% Z" / dev / rdisk s , paralellikler cihaza bir yumuşak bağlantı kabul etmezse kullanılacak küçük, önemsiz olana aygıt üzerinden bir harita verir.

Aşağıdaki örnekte olduğu gibi kullanılabilir:

some@host:/e2fsprogs-1.41.12$ blkid -s UUID /dev/rdisk*s* 
/dev/rdisk0s1: UUID="76D6-1701" 
/dev/rdisk0s2: UUID="654F73AE51849687" 
/dev/rdisk1s1: UUID="51FC4E72-BFA9-4DBD-9A5C-0E5H731DB0ED" 
some@host:/e2fsprogs-1.41.12$ stat -f "%Sr %Z" /dev/rdisk*
rdisk0 14,0
rdisk0s1 14,1
rdisk0s2 14,2
rdisk1 14,3
rdisk1s1 14,4

# okay, UUID 51FC4E72-BFA9-4DBD-9A5C-0E5H731DB0ED is a partition
# on the disk we want to use. so we make a 'private' device node
# pointing to the device containing that partition.

some@host:/e2fsprogs-1.41.12$ sudo mknod /dev/pdisk1 b 14 3

# just a quick verify that the mknod worked as expected ...
some@host:/~$ sudo dd if=/dev/rdisk1  count=10 2>/dev/null | md5 
19d55b28485771bc80acdddbd1b45faf
some@host:/~$ sudo dd if=/dev/pdisk1  count=10 2>/dev/null | md5 
19d55b28485771bc80acdddbd1b45faf

Artık geriye kalan tek şey bir komut dosyası yazmak ve önyükleme sırasında çalıştırmak için http://support.apple.com/kb/HT2420?viewlocale=en_US adresindeki talimatları kullanmaktır .

Ama bu başkası için bitecek ...


Hey detaylı cevap için teşekkürler. mknodFusion ile denemek ama hata vermek ./vmware-rawdiskCreator create /dev/pdisk1 fullDevice ~/5tc ide Unable to create the source raw disk: The specified device is not a valid physical disk device (20).Herhangi bir ipucu var mı? Şerefe
Alexandre G

Bu cevap benim için aynı problem için harika çalıştı, ancak VMware Fusion ile. Ne yazık ki bundan sonra, VMware standart olmayan disk aygıtı yollarından hoşlanmıyor gibi görünüyor (bir vmdk dosyasında, diske / bölüme atıfta bulunarak). Onları ne yapacağını bilmeyen kaputun altındaki diskutil tarzı kütüphanelere geçiriyor gibiydi. Çok yakın ... Benim durumumdaki alternatif, muhtemelen keşiften sonra vmdk dosyasını programlı olarak yeniden oluşturmaktır.
Tom

1

Benden daha akıllı Mac çocuklar duydum disk numaralandırma biraz keyfi olduğunu ve bir yeniden başlatıldıktan sonra aynı numarayı almak aynı cihaza bağlı olamaz. Terminalde diskutil aracılığıyla RAID dilimleri oluşturmaya atıfta bulunuldu.

Diskutil, pdisk veya gpt gibi bulduğum düşük düzeyli yardımcı programların hiçbiri disk numaralandırmasını etkileyemiyor gibi görünüyor. Korkarım kontrol edilemeyebilir.


1
Ha, cevabın -1 kötü olduğunu düşünmemiştim. Bazen cevap "bunu yapamazsın."
Theo Belk

1

Dahili sabit diskinizdeki birimlere ilişkin karakter aygıtı dosyalarının yol adlarını görmek için / Applications / Utilities içinde bulunan Terminal uygulamasını açın. Aşağıdakileri yazın ve ardından Return tuşuna basın:

df

Terminal'i açıp ardından (her satırdan sonra Return tuşuna basın) geçerli birimler için karakter aygıtı dosyalarının tam yol adlarını görebilirsiniz.

cd /dev
ls -lias

Bağlanan her birimin her bir bölümünde (Finder'da görüntülenip görüntülenmemesine bakılmaksızın) / dev dizini listesinde iki dosya bulunur. Dosya adları hem cihazı numaraya göre hem de cihazdaki bölümünü numarasına göre tanımlar. Dosyaları bulmak için Terminal penceresinde biraz kaydırma yapmanız gerekebilir.


0

Size giriş eklemeyi deneyin /etc/fstab.

An /etc/fstab example:

# Identifier, mount point, fs type, options1
UUID=DF000C7E-AE0C-3B15-B730-DFD2EF15CB91 /export ufs ro
UUID=FAB060E9-79F7-33FF-BE85-E1D3ABD3EDEA none hfs rw,noauto
LABEL=This40Is40The40Volume40Name none msdos ro

Tanımlayıcı ses seviyesini tanımlamak için kullanılır; LABEL birim adı, UUID Evrensel Benzersiz Tanımlayıcı Sürücüsüdür. Her ikisini de kullanabilirsiniz, ancak birimi yeniden adlandırmak bu tanımlayıcıyı değiştirmeyeceğinden UUID en iyi seçimdir.

Gönderen http://macosx.com/forums/mac-os-x-system-mac-software/314314-stop-disk-unmounting-automounting.html


Bu yalnızca sürücünün / Volumes dizinine bağlandığı yerde değişir. Onun / dev / disk üzerinde herhangi bir etkisi yok ??? Görev.
Paul Alexander

0

Sürücü numarası, önyükleme sırasında fiziksel aygıtın numaralandırılmasına bağlıdır. Bu bana Windows'da da oldu. Buna bir çözüm bulmak için uzun ve sert baktım ve bir tane bulamadım. SATA kablolarını değiştirdiğimde diskleri "doğru" sırayla alabildim, ama bu sadece geçici bir düzeltmeydi. Sizin durumunuzda, Parallels bir yol için disk numaralandırmasına dayandığından, başlangıçta bu yapılandırma dosyasını güncellemek için bir komut dosyası oluşturmak en iyisi olabilir.


0

Bu sorunu daha önce yaşadım, genellikle güncellemeler yaptıktan veya bir şey yükledikten sonra değişiyorlar, ancak ikinci bir yeniden başlatmadan sonra orijinal numaralarına geri dönüyorlar. Bu kesinlikle ideal değil, ama benim için çalışıyor gibi görünüyordu ...

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.