개요
Microsoft Hyper-V는 기본적으로 USB 장치에 대한 Passthrough를 지원하지 않습니다. 따라서 가상 인스턴스에 USB 장치 (라이선스 동글, 사운드 카드, 무선 동글, 캡쳐 카드 등)를 할당 할 필요가 있는 경우에는 USB 컨트롤러 자체를 DDA를 통해 VM에 할당하여, 해당 USB 컨트롤러에 연결 된 포트 전체를 할당 해줄 수 있습니다.
가상 인스턴스에 USB 호스트 컨트롤러를 DDA를 통해 할당하게 되면, 호스트에서 해당 USB 호스트 컨트롤러에 연결 된 USB 포트를 사용 할 수 없게 됩니다.
A. 시스템에 다수의 USB 호스트 컨트롤러가 존재하는 경우
예시로 ASUS WS-C621E-SAGE 마더보드는 3개의 USB 호스트 컨트롤러가 후면 USB 단자에 연결되어 있습니다.
가상 인스턴스가 요구하는 USB 장치는 하나임으로, 가장 포트가 적은 ASMedia USB 3.1 호스트 컨트롤러를 DDA를 통해 할당함으로써 호스트 시스템에서 사용할 수 있는 USB 포트를 최대화할 수 있습니다.
B. 시스템에 하나의 USB 호스트 컨트롤러만 존재하는 경우
시스템에 하나의 USB 호스트 컨트롤러만 존재하는 경우에는 호스트에서 사용 할 USB 포트가 없어지게 됨으로, PCIe USB 3.0 확장 카드를 장착하여 이를 가상 인스턴스에 할당 할 수 있습니다.
USB 호스트 컨트롤러 장치 위치 구하기
어떤 USB 호스트 컨트롤러를 가상 인스턴스에 할당 할지 결정하였다면 장치 관리자로 이동하여 해당 USB 호스트 컨트롤러를 찾습니다.
우클릭하여 Properties 매뉴에서 Details 탭으로 이동합니다.
Device instance path 및 Location paths 속성에서 PCIROOT로 시작되는 항목을 복사합니다.
DDA로 인스턴스에 장치 할당하기
먼저 장치를 할당 할 가상 인스턴스를 종료합니다.
관리자 권한으로 Windows Powershell을 열어 아래 작업을 수행한 후, 가상 인스턴스를 시작하십시오.
I. 변수 선언 및 할당
$vm = "[가상 인스턴스 이름]"
$dev = "[위에서 복사한 Device instance path]"
$path = "[위에서 복사한 Location path]"
II. MMIO 구성
Set-VM -Name $vm -AutomaticStopAction TurnOff
Set-VM -GuestControlledCacheTypes $true -VMName $vm
Set-VM -LowMemoryMappedIoSpace 3Gb -VMName $vm
Set-VM -HighMemoryMappedIoSpace 33280Mb -VMName $vm
MMIO 공간에 대한 자세한 정보는 아래 링크를 확인하십시오.
III. 호스트 구성 및 장치 할당
Disable-PnpDevice -InstanceId $dev
Dismount-VMHostAssignableDevice -force -LocationPath $path
Add-VMAssignableDevice -LocationPath $path -VMName $vm