저는 메인 시스템에 '정크'가 쌓이는 것을 원하지 않기 때문에 게임용 가상 머신을 설정하려고 합니다.
이미 VMware Workstation 7이 있고 Windows 7 및 Windows XP를 사용하여 새 VM을 만들기로 결정했습니다.
두 VM 모두에 Unreal Tournament 2004를 설치했습니다. Windows XP에서는 시작되지 않았습니다. Windows 7 이미지에서 여전히 실행되기 때문에 문제가 없습니다. 이 게임을 시작할 때 장치 ID가 범위를 벗어났기 때문에 사운드 장치를 사용할 수 없다는 메시지가 나타납니다.
기본 사운드 장치를 열 수 없습니다:
시스템 범위를 벗어난 장치 ID가 사용되었습니다. 사운드 연결이 끊어집니다.
Windows 사운드는 작동하며 일부 다른 게임에도 사운드가 있습니다(예: Warcraft II). DirectX나 Direct3D 사운드와 관련이 있는 것으로 의심됩니다. 내 기억이 맞다면 Half-Life(CS1.6)도 같은 오류로 인해 사운드가 활성화되지 않았습니다. Counterstrike Source의 메뉴에 소리가 있지만 게임을 시작한 후에는 같은 오류와 함께 사라졌습니다.
조언이나 제안이 있으신가요?
나는 이미 내가 해야 한다고 말하는 일부 사이트를 찾았습니다.사운드 장치를 Soundblaster로 변경해 보세요, 그러나 이는 오래된 DOS 게임에만 적용되었습니다.
편집하다
지금 VM에서 Doom 3를 플레이하고 있는데 소리가 납니다. DirectX를 지원한다고 확신합니다. 그러면 다시 DirectSound를 사용하지 않는 것 같습니다.
Warcraft 2, Warcraft 3, Unreal Tournament(classic), Quake 3도 플레이할 때 소리가 들립니다.
오늘 UT2003을 시험해 보고 있는데 사운드도 활성화되어 있어서 모든 소리가 들립니다. 소프트웨어 3D, 하드웨어 3D 및 안전 모드.
요청에 따라 내 VMX 파일. 먼저 내 Windows 7 컴퓨터:
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "7"
numvcpus = "4"
cpuid.coresPerSocket = "2"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsisas1068"
memsize = "2048"
mem.hotadd = "TRUE"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "Game 7.vmdk"
ide1:0.present = "TRUE"
ide1:0.autodetect = "FALSE"
ide1:0.deviceType = "cdrom-raw"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.virtualDev = "e1000"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
sound.present = "TRUE"
sound.fileName = "-1"
sound.autodetect = "TRUE"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.startConnected = "FALSE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
roamingVM.exitBehavior = "go"
displayName = "Game 7"
guestOS = "windows7-64"
nvram = "Game 7.nvram"
virtualHW.productCompatibility = "hosted"
extendedConfigFile = "Game 7.vmxf"
ide1:0.fileName = "D:"
floppy0.present = "FALSE"
ide1:0.startConnected = "TRUE"
ethernet0.generatedAddress = "00:0c:29:e8:85:9e"
tools.syncTime = "FALSE"
uuid.location = "56 4d 8f 49 68 58 4f 4e-0e f0 f5 31 4e e8 85 9e"
uuid.bios = "56 4d 8f 49 68 58 4f 4e-0e f0 f5 31 4e e8 85 9e"
cleanShutdown = "FALSE"
replay.supported = "FALSE"
unity.wasCapable = "TRUE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "160"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
vmci0.pciSlotNumber = "36"
scsi0.sasWWID = "50 05 05 69 68 58 4f 40"
vmotion.checkpointFBSize = "134217728"
usb:0.present = "TRUE"
usb:1.present = "TRUE"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "1323861406"
usb:1.deviceType = "hub"
usb:0.deviceType = "mouse"
hgfs.mapRootShare = "TRUE"
isolation.tools.hgfs.disable = "FALSE"
sharedFolder.maxNum = "1"
sharedFolder0.present = "TRUE"
sharedFolder0.enabled = "TRUE"
sharedFolder0.readAccess = "TRUE"
sharedFolder0.writeAccess = "TRUE"
sharedFolder0.hostPath = "F:\Temp\VMShare"
sharedFolder0.guestName = "VMShare"
sharedFolder0.expiration = "never"
내 Windows XP 컴퓨터는 다음과 같습니다.
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "7"
memsize = "2048"
ide0:0.present = "TRUE"
ide0:0.fileName = "UML.vhd"
ide1:0.present = "TRUE"
ide1:0.autodetect = "TRUE"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
floppy0.fileName = ""
floppy0.autodetect = "TRUE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "nat"
ethernet0.wakeOnPcktRcv = "FALSE"
ethernet0.addressType = "generated"
usb.present = "TRUE"
ehci.present = "TRUE"
sound.present = "TRUE"
sound.fileName = "-1"
mks.enable3d = "TRUE"
serial0.present = "TRUE"
serial0.fileType = "thinprint"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
roamingVM.exitBehavior = "go"
displayName = "UML Machine"
guestOS = "winxppro"
nvram = "UML Machine.nvram"
virtualHW.productCompatibility = "hosted"
printers.enabled = "TRUE"
extendedConfigFile = "UML Machine.vmxf"
sound.virtualDev = "es1371"
ethernet0.generatedAddress = "00:0c:29:10:10:79"
sound.autodetect = "TRUE"
uuid.location = "56 4d 32 87 54 f5 1b df-46 45 83 91 b9 10 10 79"
uuid.bios = "56 4d 32 87 54 f5 1b df-46 45 83 91 b9 10 10 79"
cleanShutdown = "TRUE"
replay.supported = "FALSE"
replay.filename = ""
scsi0:0.redo = ""
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "-1"
usb.pciSlotNumber = "32"
ethernet0.pciSlotNumber = "33"
sound.pciSlotNumber = "34"
ehci.pciSlotNumber = "35"
vmci0.pciSlotNumber = "36"
vmotion.checkpointFBSize = "134217728"
usb:0.present = "TRUE"
usb:1.present = "TRUE"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "-1190129543"
usb:1.deviceType = "hub"
usb:0.deviceType = "mouse"
ide0:0.redo = ""
ide1:0.startConnected = "TRUE"
tools.syncTime = "FALSE"
unity.wasCapable = "FALSE"
ide1:0.fileName = "auto detect"
debugStub.winOffsets.version = "7"
debugStub.winOffsets.value = "0x88,0x84,0x18,0x190,0x174,16,416,0x22c,0x228,0x1f0,0x224,0x20,0x18,0x18,0x20,0x24,4,0x11c,0x8,0x0,0x14,0x100000,0x1b0,0xc,0xc,0x18,0x13c,0x1f4"
답변1
미세 조정을 시도할 수도 있습니다.numvcpus기반으로cpuid.coresPerSocketvmx의 가치.
일부 VMWare 사용자는 다음과 같은 사실을 발견했습니다."vmware는 원래 코어에서만 제대로 작동할 수 있습니다."
설정하여 시도해 볼 수 있습니다.
numvcpus
~로같은보다 가치
cpuid.coresPerSocket
vmx 파일에서, 즉
numvcpus = "2"
cpuid.coresPerSocket = "2"
어떤 경우든 해야 한다는 점을 명심하세요.
"Ensure that the number of vCPUs is divisible by the number of cpuid.coresPerSocket
in the virtual machine. That is, when you divide the number of vCPUs by the number
of cpuid.coresPerSocket , it must return an integer value. For example, if your
virtual machine is created with 8 vCPUs, coresPerSocket can only be 1, 2, 4, or 8."
(원천)