Acces la dispozitive USB în Hyper-V: 4 cele mai bune metode de conectare

Hyper-V excelează ca un hipervizor enterprise robust. Cu toate acestea, suportul său pentru dispozitive USB rămâne unul dintre principalele sale neajunsuri. Deși utilizatorii se așteaptă la un comutator simplu de tip „passthrough”, în realitate este nevoie de o strategie mai bună, mai practică.

Avertisment:

Hyper-V nu are niciun buton „atașare” încorporat pentru controlerele USD. Prin urmare, Hyper-V nu poate conecta dispozitive USB, cum ar fi scanere, camere web, dongle-uri etc., fizic la o VM la nivel hardware.

Având în vedere că passthrough-ul USB încorporat în Hyper-V nu este o opțiune viabilă, sunt disponibile abordări indirecte:

• USB-over-IP: Această abordare utilizează hub-uri USB bazate pe rețea sau software terț pentru a atașa dispozitive locale la un V;
• Redirecționare RDP: Această abordare vă ajută să accesați dispozitivele locale printr-o sesiune Remote Desktop;
• Mapare disc offline: Această metodă vă ajută să accesați stocarea USB prezentând-o unui sistem ca dispozitiv de disc fizic;
• DDA (Discrete Device Assignment): Această abordare funcționează prin atribuirea completă a unui controler USB PCIe direct către o mașină virtuală la nivel hardware;

În acest articol, vom explica capabilitățile și limitările Hyper-V, vom compara avantajele și dezavantajele fiecărei abordări alternative, pentru a ajuta la găsirea abordării potrivite pentru fluxul dvs. de lucru.

Notă pentru utilizatorii specifici Linux: Abordări, precum Modul Sesiune Îmbunătățit și redirecționarea RDP încorporată, sunt concepute special pentru utilizatorii Windows. Dar dacă sunteți utilizator Linux, este recomandabil să treceți direct la abordarea USB Network Gate. Aceasta este cea mai stabilă soluție pentru rularea fluxurilor de lucru într-o mașină virtuală Linux. DDA nu este disponibil nici pentru mașinile virtuale guest Linux.

Acum, să vorbim despre cele patru soluții alternative pe care le-am promis. 

Metoda 1: Redirecționare încorporată a dispozitivelor prin RDP

Obiectiv cheie:

RDP permite utilizatorilor să acceseze rapid fișierele și dispozitivele periferice de pe mașinile virtuale conectate la rețea. Dispozitive precum camerele web și imprimantele beneficiază de performanță optimă prin redirecționare de nivel înalt. Redirecționarea de nivel jos este cel mai bine rezervată pentru hardware-ul care depinde de drivere specializate. Administratorii folosesc usbdevicestoredirect pentru a seta clasele de dispozitive eligibile și pentru a gestiona redirecționarea centralizat folosind Politica de grup. 

Remote Desktop Protocol (RDP) îți oferă cea mai ușoară modalitate de a accesa un passthrough al unui dispozitiv USB Hyper-V. Această abordare alternativă funcționează doar pe Windows, fără a se baza pe software terț. Așadar, metoda RDP este folosită în principal pentru dispozitive periferice, precum imprimante, carduri inteligente și unități flash. 

Hyper-V implementează această abordare în două moduri diferite, în funcție de metoda folosită pentru a accesa Mașina Virtuală. Să le discutăm mai jos. 

Mod de sesiune îmbunătățit folosind Hyper-V Manager

În Modul Sesiune Îmbunătățit, Hyper-V utilizează redirecționarea resurselor locale pentru a prezenta dispozitivele și serviciile de pe partea gazdei unei sesiuni VM, chiar dacă nu există conexiune de rețea. Această metodă utilizează VMBus în locul TCP/IP standard. VMBus este un canal de comunicare dedicat și cu debit ridicat între sistemele de operare invitat și gazdă.

Avantaje:

  • Acceptă redirecționarea dispozitivelor USB fără a se baza pe conectivitatea la rețea
  • Implementează redirecționarea dispozitivului local prin interfața VMBus pentru latență redusă
  • Facilitează diverse dispozitive periferice, cum ar fi dispozitive flash, imprimante etc.

Contra:

  • Acceptă doar sistemul de operare Windows pe mașinile virtuale guest.
  • Trebuie să selectați dispozitivele USB pe care doriți să le atașați înainte de a lansa o mașină virtuală.

Limitări

• Acceptă numai sisteme de operare guest Windows
• Necesită VMBus și Hyper-V Manager în locul clienților RDP tradiționali
• Indisponibil pe instalările Server Core și în anumite medii enterprise întărite 

Notă: Metoda Modului de sesiune îmbunătățit este, în mare parte, activă în mod implicit pe gazdele Windows 10 și 11.

Cerințe de sistem:

Gazdă: Windows 10/11 sau Windows Server 2016+ cu politica Enhanced Session Mode activată. Acceptă VMConnect care rulează pe Windows 10/11 sau Server 2016+. Invitat: Trebuie să ruleze Windows 10/11 sau Server 2016+ cu Remote Desktop activat.

Cum să faci passthrough USB în Hyper-V?

1. Lansați Hyper-V Manager pe computerul gazdă. Apoi, faceți clic dreapta pe numele gazdei și selectați Hyper-V Settings în meniul contextual care apare.

deschide setările Hyper-V prin meniul contextual

2. Puteți găsi secțiunile Server și Utilizator în fereastra Setări. Selectați Politica modului de sesiune îmbunătățită în panoul Server și bifați caseta de selectare de lângă Permite modul de sesiune îmbunătățit.

Selectați politica pentru modul de sesiune îmbunătățit

3. Apoi, selectați Modul de sesiune îmbunătățit din secțiunea Utilizator și bifați caseta Folosiți modul de sesiune îmbunătățit. Faceți clic pe OK pentru a confirma și a salva modificările.

Modul îmbunătățit de sesiune din secțiunea Utilizator

Acum puteți accesa dispozitive USB în interiorul oricărei mașini virtuale Hyper-V după activarea Modului de sesiune îmbunătățit.

Notă: Închideți orice sesiuni active de VM Hyper-V în acest moment.

4. Lansați Hyper-V Manager și faceți dublu clic pe numele mașinii virtuale.

5. Pentru a configura conexiunile viitoare ale VM-ului dvs., selectați Afișează opțiuni în meniul pop-up.

6. Apoi, selectați Resurse locale și faceți clic pe Mai multe, sub Dispozitive și resurse locale.

7. Apoi, bifați opțiunile „Alte dispozitive Plug and Play acceptate” și „Dispozitive pe care le conectez mai târziu” și confirmați făcând clic pe OK.

8. Bifați caseta corespunzătoare din fila Afișaj pentru a salva această configurație pentru toate conexiunile ulterioare.

9. Faceți clic pe Conectare pentru a aplica modificările.

Folosind PowerShell (gazdă)

1. Activați modul sesiune îmbunătățită la nivel global:
Set-VMHost -EnableEnhancedSessionMode $true

2. Conectați-vă cu VMConnect și alegeți resursele locale.

Redirecționare dispozitiv bazată pe RDP utilizând MSTSC

Atunci când o mașină virtuală are o adresă IP specifică și este accesibilă în rețea, clientul standard Conexiune la desktop la distanță (mstsc.exe) poate fi utilizat pentru a stabili o conexiune. Această abordare funcționează fără a fi nevoie de Hyper-V Manager.

Avantaje:

  • Utilizează clientul RDP standard în timp ce lucrează prin rețea
  • Nu se bazează pe Hyper-V Manager pentru funcționare
  • Ideal pentru medii de acces la distanță

Contra:

  • Dispozitivele USB sunt eliberate imediat la încheierea sesiunii RDP
  • Performanța depinde în mare măsură de latența rețelei și de lățimea de bandă disponibilă

Limitări:

• Depinde de o adresă IP atribuită și de o conexiune de rețea activă
• Permite doar dispozitive Plug and Play
• Nu oferă acces USB persistent în afara unei sesiuni RDP active

Cerințe minime de sistem:

Oaspete: Windows trebuie să fie instalat cu Remote Desktop activat și disponibil prin rețea.

Client: Este necesar un client RDP cu suport pentru redirecționarea necesară, iar redirecționarea USB la nivel scăzut este limitată doar la clienții Windows. 

Cum se activează

1. Va trebui să furnizați acces la Conexiuni Desktop la distanță pe VM-ul dvs. Conectați-vă la mașina dvs. virtuală și căutați în Panoul de control opțiunile Sistem și securitate. Faceți clic pe Permiteți accesul la distanță.

2. Asigurați-vă că sunt bifate casetele Permite conexiuni la distanță la acest computer și Permite conexiuni de asistență la distanță la această mașină, apoi faceți clic pe OK în fila Remote din fereastra System Properties. Casetele Permite conexiuni la distanță la acest computer și Permite conexiuni de asistență la distanță la această mașină bifate

3. Apăsați Win + R pentru a lansa programul Run și tastați mstsc.exe în caseta de text. Apăsați Enter pentru a rula aplicația Conexiune la desktop la distanță.

4. Faceți clic pe butonul Afișare opțiuni pentru a extinde caseta de dialog RDC.

5. Deschideți fila Resurse locale și faceți clic pe Mai multe în secțiunea Dispozitive și resurse locale.

6. În meniul care apare, bifați caseta de selectare Alte dispozitive Plug and Play (PnP) acceptate. Faceți clic pe OK.

7. Întoarce-te la fila Setări generale și conectează-te la mașina ta virtuală folosind numele de utilizator și adresa IP.

8. Pentru a lansa sesiunea de Desktop la distanță, faceți clic pe Conectare.

9. Conectați-vă la mașina virtuală și verificați dacă dispozitivele USB adăugate sunt afișate în Explorerul de fișiere.

Metoda 2: Utilizarea USB Network Gate pentru passthrough USB-over-IP

Obiectiv cheie:

USB Network Gate se remarcă drept o soluție cross-platform pentru VM-urile guest Linux și sistemele Server Core cu acces restricționat la dispozitive. Rulează independent de Hyper-V și nu necesită configurarea hipervizorului.

Redirecționarea USB la nivel de rețea pentru Hyper-V face posibil ca dispozitivele USB conectate fizic la un computer să fie utilizate de un alt computer printr-o rețea locală (LAN). În interiorul mașinii virtuale Hyper-V, dispozitivul USB apare exact ca și cum ar fi fost conectat direct la sistem, astfel încât îl poți folosi în mod normal fără să observi nicio diferență. 

Această abordare funcționează independent de Hyper-V și poate fi utilizată fără a modifica hipervizorul. Direcționează traficul USB prin TCP/IP, ceea ce face ca această abordare să fie ideală pentru diverse conexiuni de dispozitive USB la Hyper-V. 

USB Network Gate facilitează comunicarea fiecărui dispozitiv USB, inclusiv smartcarduri, camere web, imprimante, stick-uri USB, dongle-uri și multe altele, cu o mașină virtuală Hyper-V. Abordarea USB-over-IP este adesea folosită pe gazde Hyper-V care rulează în implementări Server Core, unde interacțiunea directă cu dispozitivele este restricționată. 

USB Network Gate este singura modalitate potrivită pentru utilizatorii Linux de a conecta hardware dedicat, menținând în același timp suport complet pentru funcționalități și performanță constantă. 

USB Network Gate funcționează ca o soluție client-server, permițându-ți să oferi acces la dispozitive USB fizice de pe un sistem gazdă de pe partea de server către PC-uri remote sau mașini virtuale de pe partea de client. Această configurație client-server permite VM-ului Hyper-V să lucreze cu dispozitive la distanță ca și cum ar fi atașate direct la sistem, indiferent de distanța fizică. 

Avantaje:

  • Funcționează cu aproape orice dispozitiv USB
  • Suport multiplatformă
  • Nu este necesară nicio configurare Hyper-V

Contra:

  • Necesită instalarea unui software terț
  • Adaugă costuri operaționale și de licențiere

Limitări:

• Necesită conectivitate stabilă la rețea
• Introduce latență de rețea care poate afecta dispozitivele în timp real
• Nu este o funcție nativă Hyper-V (arhitectură USB-over-IP)

Cerințe minime de sistem: 

Compatibil cu Windows 7 SP1+ și versiuni ulterioare (inclusiv Server 2008 R2+), macOS 10.14+, Linux (Ubuntu și CentOS), Android 5.0+ și Raspberry Pi OS.

Pentru a utiliza USB Network Gate, instalați-l atât pe gazdă, cât și pe mașina virtuală și asigurați-vă că este disponibilă o conexiune stabilă la rețea. 

Cum să utilizați dispozitive USB în Hyper-V printr-o rețea

1. Instalați USB Network Gate pe ambele mașini, gazdă și oaspete.

2. Deschideți aplicația și partajați dispozitivul USB atașat gazdei Hyper-V.

partajează gazda Hyper-V prin USB

3. În timpul utilizării mașinii virtuale, deschideți aplicația și localizați dispozitivul USB partajat.

conectează dispozitivul USB la mașina invitat Hyper-V

4. Faceți clic pe Conectare.

Puteți găsi instrucțiuni detaliate despre atașarea unui dispozitiv USB la o mașină invitat Hyper-V prin rețea în următorul videoclip:

Utilizarea USB Network Gate pentru a monta și a accesa dispozitive USB Hyper-V într-o mașină virtuală este ușoară, rapidă și convenabilă.

Metoda 3: Accesarea unui disc fizic în Hyper-V folosind SCSI Passthrough

Obiectiv principal:

Obiectivul principal al acestei metode este de a permite accesul direct și exclusiv al VM la un disc USB rw, ceea ce asigură că gazda nu interferează cu dispozitivul. Această abordare funcționează bine pentru migrarea datelor, recuperarea fără VHDX și conectarea rapidă a unităților USB la VM-uri.

Hyper-V îți permite să faci dispozitivele de stocare USB disponibile mașinilor virtuale ca și cum ar fi discuri fizice. În această arhitectură, folosește un controler SCSI pentru a deconecta dispozitivele USB de la gazdă și a le conecta direct la Mașinile Virtuale (VM).

Notă: Este necesar un controler SCSI pentru mașinile virtuale de generația 2. Deoarece mașinile virtuale de generația 1 funcționează atât pe SCSI, cât și pe IDE. Cu toate acestea, SCSI este mai preferabil în acest caz, în care trebuie să eliminați dispozitivele USB de pe gazdă și să le conectați la mașina virtuală fără a opri mașina virtuală.

Mulți utilizatori confundă adesea această metodă cu USB passthrough în Hyper-V. Deși este același lucru, această abordare funcționează doar pentru dispozitive de stocare în masă.

Avantaje:

  • Funcționează bine pentru utilizatorii de VM Hyper-V pe Linux și Windows
  • Vei obține posibilitatea de a gestiona accesul la dispozitivele de stocare USB

Contra:

  • Procesul de configurare este dificil
  • Se aplică numai dispozitivelor de stocare în masă USB care nu pot fi scoase în timpul funcționării
  • Un dispozitiv de stocare USB poate fi conectat fie la gazdă, fie la mașina virtuală, dar nu la ambele în același timp

Limitări:

• Acceptă doar dispozitive de stocare USB, cum ar fi hard diskuri externe sau unități flash
• Dispozitivele USB sunt prezentate ca unități, nu ca hardware USB standard
• Gazda și mașina virtuală nu pot utiliza dispozitivul în același timp
• Nu se poate întotdeauna scoate dispozitivul în timp ce este utilizat
• Nu funcționează cu scanere, dongle-uri, camere web, dispozitive HID sau carduri inteligente

Cerințe minime de sistem: 

Este necesar Hyper V pe Windows 10/11 sau Windows Server, plus un disc suplimentar configurat offline pe gazdă, iar ținta nu este discul cu sistemul de operare al gazdei. 

Cum se activează

1. Lansați aplicația Gestionare discuri. Pentru a face acest lucru, deschideți Gestionare discuri din meniul contextual Start. Alternativ, apăsați Win + R pentru a deschide programul Rulare și deschideți diskmgmt.msc.

rulează diskmgmt.msc

2. Deoarece gazda și mașina virtuală nu pot accesa simultan unitatea USB, trebuie mai întâi să setați unitatea USB ca offline pe gazdă. Pentru a seta unitatea USB ca offline, găsiți-o printre dispozitivele listate în Gestionarea discurilor, faceți clic dreapta pe ea și selectați opțiunea Offline.

setează unitatea USB offline

3. Acum că sistemul de operare gazdă nu are acces direct la stocarea USB, puteți activa passthrough-ul USB Hyper-V. Pur și simplu deschideți Managerul Hyper-V, faceți clic dreapta pe VM-ul care necesită acces și alegeți Setări în meniul contextual.

deschide setările mașinii Hyper-V

4. Găsiți fila SCSI în partea stângă a meniului de setări și faceți clic pe ea. Apoi, faceți clic pe Adăugare sub opțiunea Hard Drive.

adaugați Hard Drive în controlerul SCSI
Notă: În loc să utilizați un controler SCSI, puteți adăuga hard diskul la controlerul IDE. Cu toate acestea, trebuie să rețineți că utilizatorii nu îl vor putea deconecta de la VM fără a o opri mai întâi. Recomandăm introducerea discului ca dispozitiv SCSI, care poate fi eliminat dintr-o VM activă, pentru a economisi timp.

5. Selectați opțiunea Hard disk fizic din SCSI Controller > Hard Drive din meniul din stânga, apoi selectați unitatea USB. Asigurați-vă că numărul discului de pe unitatea selectată trebuie să corespundă discului pe care l-ați trecut offline în Disk Management. Faceți clic pe OK pentru a salva modificările.

Lansați File Explorer al mașinii dvs. virtuale Hyper-V după adăugarea unității. Unitatea de stocare USB din interiorul mașinii virtuale ar trebui acum să fie vizibilă.

Cu PowerShell pe mașina gazdă

  1. Detectați discul USB pe mașina gazdă și setați-l pe offline.

Get-Disk | Where-Object BusType -eq USB

Set-Disk -Number <DiskNumber> -IsOffline $true

2. Utilizați numărul discului pentru a atașa discul fizic offline la mașina virtuală.
Add-VMHardDiskDrive -VMName “<VMName>” -ControllerType SCSI -DiskNumber <DiskNumber>

Notă: Reține că discurile pass-through sunt compatibile cu fluxurile de lucru de export sau migrare și pot perturba copiile de rezervă și punctele de control comparativ cu stocarea bazată pe VHDX.

Metoda 4: Utilizarea atribuirii discrete a dispozitivelor (DDA) pentru a activa USB Passthrough în Hyper-V

Scop principal

DDA oferă un passthrough USB aproape real prin dedicarea unui controler USB PCIe unei mașini virtuale, permițând acces la nivel redus și drivere ale furnizorului. Dispozitivul este eliminat de pe gazdă, în timp ce mașina virtuală primește, în esență, performanță nativă și compatibilitate completă cu driverele. Această tehnică este o alternativă viabilă atunci când redirecționarea RDP nu poate îndeplini cerințele de protocol și de driver ale dispozitivului USB.

Avantaje:

  • Passthrough hardware aproape în timp real
  • Performanță și compatibilitate excelente pentru dispozitive USB cu un controler dedicat
  • Funcționează cu hardware specializat care necesită drivere de la furnizor (dongle-uri, echipamente de laborator, chei de securitate)

Contra:

  • Necesită abilități avansate
  • Niciun acces gazdă la dispozitiv în timp ce este asignat unei VM
  • Necesită repornirea mașinii virtuale la adăugarea dispozitivului

Limitări:

• Fără salvare/restaurare VM, fără migrare live, fără memorie dinamică în timp ce dispozitivul este alocat
• Funcționează doar pe Windows Server 2016/2019/2022/2025 cu Hyper-V — nu este disponibil pe Windows 10/11 Home
• Necesită VM Gen2
• Nu toate controlerele USB PCIe sunt compatibile — verificați cu scriptul DDA de la Microsoft

Cerințe minime de sistem:

Sistem de operare acceptat: ediții Windows Server cu Hyper-V, precum 2016, 2019, 2022 și 2025

Hardware: este necesar suport CPU pentru EPT/NPT și un IOMMU cu remapare a întreruperilor și DMA, împreună cu setările BIOS/firmware activate pentru aceste funcții (similar cerințelor SR-IOV).

Cum să folosești DDA pentru a trece un controler USB către o mașină virtuală Hyper-V

Colectați informații și pregătiți mediul:

  1. Confirmați cerințele DDA: aveți nevoie de Windows Server Hyper-V și de hardware care acceptă IOMMU/ACS și izolarea dispozitivelor. Consultați ghidul de planificare DDA pentru limitări în timp ce dispozitivul este atașat.
  2. Găsiți calea locației controlerului: deschideți Device Manager pe gazdă → extindeți Universal Serial Bus controllers → alegeți controlerul USB pe care doriți să-l dedicați → fila Details → Property: Location paths → copiați șirul PCIROOT(…).


Atribuiți controlerul cu PowerShell (VM trebuie să fie oprită)

(Opțional) Dimensionați MMIO pentru VM:

$vm = “<VMName>”

Set-VM -Name $vm -LowMemoryMappedIoSpace 3GB -HighMemoryMappedIoSpace 33280MB

Demontează controlerul de pe gazdă și atribuiți-l VM-ului:

$loc = “<PCIROOT(…from Device Manager…)>”

Dismount-VMHostAssignableDevice -LocationPath $loc -Force

Add-VMAssignableDevice -VMName $vm -LocationPath $loc

Porniți VM-ul și instalați driverul furnizorului în guest, dacă este necesar.

Pentru revenire:

Remove-VMAssignableDevice -VMName $vm -LocationPath $loc

Mount-VMHostAssignableDevice -LocationPath $loc

Notă: DDA nu funcționează cu toate controlerele și dispozitivele. Verificați compatibilitatea cu scriptul DDA de la Microsoft sau cu documentația furnizorului înainte de a continua.

Concluzie

Deși Hyper-V nu are un comutator integrat de tip „un singur clic” pentru USB passthrough, acesta oferă alte alternative flexibile, în funcție de sistemul de operare și de cerințele hardware. Pentru a selecta cea mai potrivită abordare pentru fluxul dvs. de lucru specific, vă oferim un rezumat rapid al metodelor alternative discutate în acest articol.

Metodă Cea mai potrivită pentru Dispozitive acceptate SO oaspete Complexitatea configurării
USB Network Gate Utilizare profesională Aproape orice (dongle-uri, webcam-uri etc.) Windows, Linux, macOS Scăzută
Disc fizic (SCSI) Stocare mare Doar HDD-uri externe, unități flash Windows, Linux Medie
Sesiune îmbunătățită Lucru de administrare locală Dispozitive Plug and Play de bază, cum ar fi unitățile flash Doar Windows Scăzută
Redirecționare RDP Acces de la distanță Dispozitive PnP limitate Doar Windows Scăzută
DDA Întreprinderi / utilizatori avansați Controlere USB (PCIe) Windows Server Ridicată

Înțelegerea acestor diferențe te ajută să economisești timp și să eviți frustrarea încercărilor și erorilor. Indiferent dacă îți dorești flexibilitatea accesului USB bazat pe rețea sau simplitatea Modului de sesiune îmbunătățit, poți folosi acum instrumentele care reunesc dispozitivele tale fizice și configurația ta virtuală Hyper-V.

Întrebări frecvente

Nu, Hyper-V nu include o opțiune încorporată pentru passthrough USB. Puteți conecta dispozitive USB la o VM doar prin soluții alternative, cum ar fi passthrough de disc SCSI, software terță parte precum USB Network Gate, DDA, modul de sesiune îmbunătățit sau redirecționare RDP.

Da, este posibil să utilizați un dongle USB într-o mașină virtuală Hyper-V folosind metode precum USB Network Gate (USB-over-IP) și DDA. Redirecționarea RDP poate să nu funcționeze cu toate tipurile de dispozitive din cauza constrângerilor legate de drivere. 

Asignarea dispozitivelor discrete (DDA) în Hyper-V permite dedicarea unui întreg controler USB PCIe unei mașini virtuale. Atunci când un controler este atribuit prin DDA, gazda pierde accesul la acesta, iar funcția este disponibilă numai pe Windows Server și versiunile ulterioare.

Modul de sesiune îmbunătățit direcționează RDP prin VMConnect peste VMBus în loc să utilizeze o conexiune de rețea tradițională. Continuă să funcționeze chiar și atunci când nu este atribuită nicio adresă IP mașinii virtuale. RDP standard prin mstsc.exe funcționează doar atunci când mașina virtuală este accesibilă în rețea.

Da, însă, este limitat ca funcționalitate. Atât redirecționarea RDP, cât și Modul de sesiune îmbunătățit sunt acceptate pe Windows 10 și 11. DDA este acceptat doar pe Windows Server. Când aveți nevoie de suport complet între dispozitive pe Windows 10 și 11, USB Network Gate este cea mai practică alegere.