在向虚拟机添加通用 SCSI 设备时,设备并未出现在可用 SCSI 设备列表中。
问题
向虚拟机添加 SCSI 设备后,设备并未出现在可用 SCSI 设备列表中。
原因
主机系统上未安装适用于该设备的驱动程序,主机系统上的某个驱动程序使设备无法被检测到,或是虚拟机使用的设备没有可用于主机操作系统的驱动程序。
解决方案
- 确定设备在主机系统上使用的 SCSI 总线编号。
在所有 IDE 总线都被分配了编号后,主机操作系统会为 SCSI 总线分配一个编号。例如,如果您有两个 IDE 总线,编号分别是 0 和 1。分配给第一个 SCSI 总线的总线编号 2。您可以使用第三方工具(如
winobj)确定 SCSI 总线编号。
- 确定设备在虚拟机和主机系统中使用的目标 ID。
这个 ID 通常由设备上的某些跳线或交换机设置。
- 确定主机系统中是否安装了该设备的设备驱动程序。
如果设备驱动程序尚未安装,请安装并查看设备是否出现。为避免使用中的设备在主机和客户机之间产生冲突,您可能不希望在主机系统上安装驱动程序。
- 如果已经在主机系统中安装原始 SCSI 设备驱动程序,请禁用该驱动程序。
如果设备驱动程序是设备的所有者,某些 Windows 操作系统将不会处理适配器发出的命令。
- 关闭虚拟机并用文本编辑器打开虚拟机配置 (.vmx) 文件。
- 在虚拟机配置 (.vmx) 文件中添加或更改以下行。
scsiZ:Y.fileName = "设备名称"
Z 是设备在虚拟机中使用的 SCSI 总线编号。对于设备名称,请使用 scsiX:Y 格式,其中 X 是设备在主机系统上使用的 SCSI 总线编号,Y 是设备在虚拟机和主机系统中使用的目标 ID。
例如,如果存在问题的设备是 CD-ROM 驱动器,现有条目是
scsi0:4.fileName = "CdRom0",且主机系统上的设备位于总线 2,目标 ID 是 4,请将上述行更改为
scsi0:4.fileName = "scsi2:4"。
- 如果虚拟机不包含任何 SCSI 设备,要将通用 SCSI 设备添加到新的虚拟 SCSI 适配器,或是使用现有的 SCSI 设备作为通用 SCSI 设备,请将以下行添加到虚拟机配置 (.vmx) 文件。
scsiZ:Y.deviceType = "scsi-passthru"
- 如果虚拟机不包含任何 SCSI 设备,或是要将通用 SCSI 设备添加到新的虚拟 SCSI 适配器,请将以下行添加到虚拟机配置 (.vmx) 文件。
scsiZ:Y.present = "true" scsiZ.present = "true"