我的 Mac Pro 运行 OSX 10.6.4,有 3 个物理驱动器。有时,重新启动计算机后,磁盘编号会发生变化,导致 /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,以允许从 OSX 内访问 BootCamp 分区。 Parallels 在其配置文件中使用 /dev/disk# 路径,因此在重新启动 OSX 后,我启动 Parallels,它告诉我该磁盘不再存在。
有没有办法告诉 OSX 始终将给定驱动器分配给 /dev/disk0?
答案1
不,除了按特定顺序启动驱动器之外,没有办法强制磁盘设备使用特定的 /dev/disk 名称。 /dev 设备由内核分配给物理设备,用户态中没有任何内容会影响这些分配。
在 *BSD 系统上,强制磁盘/设备链接的正常方法是使用以下配置行构建内核
sd* at scsibus? target ? lun ?
如果您想将设备名称与特定的 SCSI 目标联系起来,请将元字符替换为实际数字。在 Mac OS X 下,您不会构建自己的内核,因此此选项不对您开放。
答案2
您可以使用通用唯一标识符固定安装点。
使用命令找出每个磁盘的UUID
sudo blkid
通过指定设备和 UUID(而不是 /dev/disk*)在 /etc/fstab 中添加设备:
UUID=<UUID> [Other options for fstab entry]