在向虚拟机添加通用 SCSI 设备时,设备并未出现在可用 SCSI 设备列表中。

问题

向虚拟机添加 SCSI 设备后,设备并未出现在可用 SCSI 设备列表中。

原因

主机系统上未安装适用于该设备的驱动程序,主机系统上的某个驱动程序使设备无法被检测到,或是虚拟机使用的设备没有可用于主机操作系统的驱动程序。

解决方案

  1. 确定设备在主机系统上使用的 SCSI 总线编号。
    在所有 IDE 总线都被分配了编号后,主机操作系统会为 SCSI 总线分配一个编号。例如,如果您有两个 IDE 总线,编号分别是 0 和 1。分配给第一个 SCSI 总线的是总线编号 2。您可以使用第三方工具(如 winobj)确定 SCSI 总线编号。
  2. 确定设备在虚拟机和主机系统中使用的目标 ID。
    这个 ID 通常由设备上的某些跳线或交换机设置。
  3. 确定主机系统中是否安装了该设备的设备驱动程序。
    如果设备驱动程序尚未安装,请安装并查看设备是否出现。为避免使用中的设备在主机和客户机之间产生冲突,您可能不希望在主机系统上安装驱动程序。
  4. 如果已经在主机系统中安装原始 SCSI 设备驱动程序,请停用该驱动程序。
    如果设备驱动程序是设备的所有者,某些 Windows 操作系统将不会处理适配器发出的命令。
  5. 关闭虚拟机并用文本编辑器打开虚拟机配置 (.vmx) 文件。
  6. 在虚拟机配置 (.vmx) 文件中添加或更改以下行。
    scsiZ:Y.fileName = "deviceName"

    Z 是设备在虚拟机中使用的 SCSI 总线编号。对于 deviceName,请使用 scsiX:Y 格式,其中 X 是设备在主机系统上使用的 SCSI 总线编号,Y 是设备在虚拟机和主机系统中使用的目标 ID。

    例如,如果存在问题的设备是 CD-ROM 驱动器,现有条目是 scsi0:4.fileName = "CdRom0”,且主机系统上的设备位于总线 2,目标 ID 是 4,请将上述行更改为 scsi0:4.fileName = "scsi2:4"
  7. 如果虚拟机不包含任何 SCSI 设备,要将通用 SCSI 设备添加到新的虚拟 SCSI 适配器,或是使用现有的 SCSI 设备作为通用 SCSI 设备,请将以下行添加到虚拟机配置 (.vmx) 文件。
    scsiZ:Y.deviceType = "scsi-passthru"
  8. 如果虚拟机不包含任何 SCSI 设备,或是要将通用 SCSI 设备添加到新的虚拟 SCSI 适配器,请将以下行添加到虚拟机配置 (.vmx) 文件。
    scsiZ:Y.present = "true"
    scsiZ.present = "true"