У меня есть 3 физических диска в моем Mac Pro с 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
Еще более сбивающий с толку то, что переотображение не последовательно. Для большей части материала это не важно. Однако у меня также есть Параллели, установленные для предоставления доступа к разделу BootCamp из OS X. Параллели используют/dev/disk# путь в, он - конфигурационный файл так после перезагрузки OS X, я запускаю Параллели, и это говорит мне, что диск больше не присутствует.
Существует ли способ сказать OS X всегда присваивать данный диск/dev/disk0?
Попытайтесь добавить записи в Вас /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
Идентификатор используется для идентификации объема; МАРКИРОВКА является именем тома, UUID является Универсальным Диском Уникального идентификатора. Можно использовать обоих, но UUID является лучшим выбором, потому что переименование объема не изменит этот идентификатор.
Из http://macosx.com/forums/mac-os-x-system-mac-software/314314-stop-disk-unmounting-automounting.html
Я услышал, что более умные парни Mac, чем я подразумевают, что дисковая нумерация несколько произвольна, и нельзя зависеть от того же устройства, получая то же число после перезагрузки. Это было упомянуто в отношении создания частей RAID через diskutil в Терминале.
Ни одна из низкоуровневых утилит, которые я нашел, такие как diskutil, pdisk или gpt, кажется, не может влиять на дисковую нумерацию. Я боюсь, что это не может быть управляемо.
Для наблюдения путей файлов устройства посимвольного ввода-вывода для объемов на внутреннем жестком диске откройте Терминальное приложение, расположенное в/Applications/Utilities. Введите следующее, сопровождаемый клавишей Return:
df
Вы видите полные пути для файлов устройства посимвольного ввода-вывода для текущих объемов путем открытия Terminal, затем вводя (нажмите Return после каждой строки):
cd /dev
ls -lias
Каждый раздел (отображается ли это в Средстве поиска или не) на каждом смонтированном объеме будет иметь два файла в списке для/dev каталога. Названия файлов определяют и устройство числом и раздел на устройстве его числом. Вам, вероятно, придется прокрутить немного в Окне терминала для нахождения файлов.
Число диска на основе того, когда физическое устройство перечисляется во время начальной загрузки. Это произошло со мной также в Windows. Я выглядел длинным и трудным для разрешения к этому, и я не нашел тот. Я смог получить диски в "корректном" порядке, когда я передвинул кабели SATA, но это было только временным приспособлением. В Вашем случае, начиная с Параллелей полагается на дисковую нумерацию для пути, может быть лучше создать сценарий для обновления того файла конфигурации на запуске.
Насколько я понимаю, что 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 (для любой поддерживаемой файловой системы, которая является довольно многими).
После этого добавление softlink с 'ln-s' или создание альтернативного узла устройства с mknod должно работать (и затем ссылка что psudo-/clone-device от Параллелей). Я сделал подобные приемы с Fusion, но у меня нет Paralells, установленного прямо сейчас (таким образом, я не могу протестировать),
статистика-f "%Sr %Z"/dev/rdisks дает Вам карту по устройству к главному, незначительному, которое будет использоваться, если параллели не принимают гибкую ссылку на устройство.
который может использоваться в качестве в следующем примере:
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, чтобы заставить его работать при начальной загрузке.
Но это будет, чтобы кто-то еще закончил...