12

У меня в Mac Pro 3 физических диска с Mac OS X 10.6.4. Иногда после перезагрузки машины нумерация дисков меняется так, что /dev /disk # не ссылается на тот же диск, который использовался до перезагрузки.

пример

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

После перезагрузки сопоставление может быть

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

Еще более запутанным является то, что переназначение не является последовательным. Для большинства вещей это не имеет значения. Однако у меня также установлен Parallels, чтобы разрешить доступ к разделу BootCamp из OS X. Parallels использует путь /dev /disk # в своем файле конфигурации, поэтому после перезагрузки OS XI запустите Parallels и он сообщит мне, что диска больше нет ,

Есть ли способ сказать OS X всегда назначать данный диск /dev /disk0?

6 ответов6

2

Насколько я понимаю, у MacOS такой возможности нет, хотя для запуска параллелей это может быть не совсем необходимо.

используя macports и устанавливая e2fsprogs с небольшим патчем:

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

вы можете использовать blkid -s UUID /dev /rdisk * для перечисления разделов, дисков и получения их соответствующих uuids (для любой поддерживаемой файловой системы, которой довольно много).

После этого должно сработать добавление программной ссылки с помощью 'ln -s' или создание альтернативного узла устройства с помощью mknod (а затем ссылка на это псевдо-/clone-устройство из Parallels). Я делал подобные трюки с Fusion, но сейчас у меня не установлены Paralells (поэтому я не могу проверить)

stat -f "% Sr% Z" /dev /rdisk s дает вам карту устройства на мажоре, минор, который будет использоваться, если Parallels не принимает программную ссылку на устройство.

который можно использовать как в следующем примере:

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

Теперь остается только написать скрипт и использовать инструкции в http://support.apple.com/kb/HT2420?viewlocale=en_US, чтобы он запускался при загрузке.

Но это будет для кого-то еще, чтобы закончить ...

1

Чтобы просмотреть пути к файлам символьных устройств для томов на внутреннем жестком диске, откройте приложение «Терминал», расположенное в папке /Applications /Utilities. Введите следующее, а затем клавишу возврата:

df

Вы можете увидеть полные пути к файлам символьных устройств для текущих томов, открыв Терминал, а затем напечатав (нажимайте Return после каждой строки):

cd /dev
ls -lias

Каждый раздел (отображается ли он в Finder или нет) на каждом подключенном томе будет иметь два файла в списке для каталога /dev. Имена файлов идентифицируют как устройство по номеру, так и раздел на устройстве по его номеру. Возможно, вам придется немного прокрутить в окне терминала, чтобы найти файлы.

1

Я слышал, что более умные парни Mac, чем я, подразумевают, что нумерация дисков несколько произвольна, и нельзя полагаться на то, что одно и то же устройство получит тот же номер после перезагрузки. Это было упомянуто в связи с созданием фрагментов RAID через diskutil в Терминале.

Похоже, что ни одна из утилит низкого уровня, таких как diskutil, pdisk или gpt, не влияет на нумерацию дисков. Боюсь, что это не может быть управляемым.

0

У меня была эта проблема раньше, они обычно меняются после того, как я сделал обновления или установил что-то, но возвращаюсь к своей первоначальной нумерации после второго перезапуска. Это явно не идеально, но мне показалось, что это работает ...

0

Попробуйте добавить записи в ваш /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

Идентификатор используется для идентификации тома; LABEL - это имя тома, UUID - диск с универсальным уникальным идентификатором. Вы можете использовать оба, но UUID - лучший выбор, потому что переименование тома не изменит этот идентификатор.

От http://macosx.com/forums/mac-os-x-system-mac-software/314314-stop-disk-unmounting-automounting.html

0

Номер диска зависит от того, когда физическое устройство перечислено во время загрузки. Это случилось со мной и в Windows. Я долго и упорно за разрешением к этому, и я не нашел. Мне удалось привести диски в "правильный" порядок, когда я переключил кабели SATA, но это было только временное исправление. В вашем случае, поскольку Parallels полагается на нумерацию диска для пути, лучше всего создать скрипт для обновления этого файла конфигурации при запуске.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .