Ask Different is a question and answer site for power users of Apple hardware and software. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have 3 physical drives in my Mac Pro with OSX 10.6.4. Occasionally after rebooting the machine, the disk numbering changes such that the /dev/disk# does not reference the same drive as it did before the reboot.


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

After rebooting the mapping might be

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

Even more confusing is that the remapping is not consistent. For most stuff this is irrelevant. However I also have Parallels installed to allow access to the BootCamp partition from within OSX. Parallels uses the /dev/disk# path in it's configuration file so, after rebooting OSX I launch Parallels and it tells me that the disk is no longer present.

Is there a way to tell OSX to always assign a given drive to /dev/disk0?

share|improve this question
Is it possible to change the Parallels configuration to use the logical (mounted) path instead of the disk#? – Jason Salaz Dec 13 '10 at 3:13

There does not seem to be a way to specify a device for a given drive. Your best bet might be to not auto-mount, then use a LaunchAgent to mount them in the order you want with a pause between each mount, and see if it works that way. This method might get messed up if you have a USB key or something else that auto-mounts available to the system when you boot.

share|improve this answer

One trick I've used to solve your Parallels use case is to have the config file point to a symbolic link file, and then update the symlink to point to the correct device before starting the vm.

If you're comfortable writing scripts, you could use a shell script like this to determine the device name and update the symlink based on the volume name:

 BOOTCAMP_DEVICE=`mount | grep BOOTCAMP | cut -f 1 -d ' '`
 ln -f -s $BOOTCAMP_DEVICE path_to_symlink
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.