Hyper-V 作為強大的企業級 Hypervisor 表現出色。然而,它對 USB 裝置的支援仍是其主要短板之一。雖然使用者期待有一個簡單易用的「直通」切換按鈕,但實際上需要的是更好、更實用的策略。
警告:
Hyper-V 沒有任何內建的「附加」按鈕可用於 USD 控制器。因此,Hyper-V 無法在硬體層級將掃描器、網路攝影機、加密狗等 USB 裝置實體連接到 VM。
由於 Hyper-V 內建的 USB 直通並非可行選項,因此可以使用一些間接的方法:
• USB-over-IP:此方法使用基於網路的 USB 集線器或第三方軟體,將本機裝置附加到 V;
• RDP 重新導向:此方法可讓你透過遠端桌面工作階段存取本機裝置;
• 離線磁碟對應:此方法可透過將 USB 儲存裝置呈現給系統作為實體磁碟裝置來存取;
• DDA(離散裝置指派):此方法透過在硬體層級將完整的 PCIe USB 控制器直接傳遞到虛擬機器來運作;
在本文中,我們將說明 Hyper-V 的功能與限制,並比較每種替代方法的優缺點,以協助你找出最適合你工作流程的方法。
現在,讓我們來談談我們承諾的四種解決方法。
方法 1:透過 RDP 的內建裝置重新導向
主要目標:
RDP 讓使用者能快速存取網路連線的虛擬機器上的檔案與周邊裝置。像是網路攝影機與印表機等裝置,透過高階重新導向可獲得最佳效能。低階重新導向則最適合保留給依賴特殊驅動程式的硬體。系統管理員使用 usbdevicestoredirect 來設定符合資格的裝置類別,並使用群組原則集中管理重新導向。
遠端桌面通訊協定(RDP)提供你存取 Hyper-V USB 裝置直通的最簡單方式。這種替代方法僅適用於 Windows,且不需依賴第三方軟體。因此,RDP 方法基本上用於周邊裝置,例如印表機、智慧卡與隨身碟。
Hyper-V 會根據用來存取虛擬機器的方法,以兩種不同方式來實作此作法。讓我們在下方討論它們。
使用 Hyper-V 管理員的增強工作階段模式
在增強型工作階段模式中,Hyper-V 會使用本機資源重新導向,將主機端的裝置與服務呈現給 VM 工作階段,即使沒有網路連線也能如此。此方法使用 VMBus 而非標準 TCP/IP。VMBus 是來賓與主機作業系統之間的專用且高吞吐量的通訊通道。
優點:
- 支援 USB 裝置重新導向,無需依賴網路連線
- 透過 VMBus 介面實作本機裝置重新導向,以達到低延遲
- 支援各種周邊裝置,例如快閃裝置、印表機等。
缺點:
- 它僅支援來賓 VM 上的 Windows 作業系統。
- 您必須在啟動虛擬機器之前選取要附加的 USB 裝置。
限制
• 僅支援 Windows 來賓作業系統
• 需要 VMBus 和 Hyper-V 管理員,而非傳統的 RDP 用戶端
• 在 Server Core 安裝以及某些強化的企業環境中無法使用
系統需求:
主機:Windows 10/11 或 Windows Server 2016+,且已啟用增強工作階段模式原則。支援在 Windows 10/11 或 Server 2016+ 上執行的 VMConnect。 來賓:必須執行 Windows 10/11 或 Server 2016+,且已啟用遠端桌面。
如何在 Hyper-V 中直通 USB?
1. 在主機電腦上啟動 Hyper-V 管理員。然後,在主機名稱上按一下滑鼠右鍵,並在出現的內容功能表中選取 Hyper-V 設定。
2. 您可以在「設定」視窗中找到「伺服器」和「使用者」區段。在「伺服器」面板中選取「增強工作階段模式原則」並勾選「允許增強工作階段模式」旁的核取方塊。
3. 接下來,從使用者區段中選取「增強工作階段模式」並勾選「使用增強工作階段模式」方塊。按一下「確定」以確認並儲存您的變更。
啟用增強型工作階段模式後,您現在可以在任何 Hyper-V 虛擬機器內存取 USB 裝置。
4. 啟動 Hyper-V 管理員,並按兩下虛擬機器的名稱。
5. 若要設定 VM 即將建立的連線,請在彈出式選單中選取「顯示選項」
6. 接著,選取「本機資源」並在「本機裝置與資源」下方按一下「更多」
7. 接著,勾選「其他支援的隨插即用裝置」和「我稍後插入的裝置」選項,並按一下「確定」以確認。
8. 在「顯示」索引標籤中勾選適當的方塊,以將此設定儲存供所有後續連線使用。
9. 按一下「連線」以套用您的修改。
使用 PowerShell(主機)
1. 全域啟用增強型工作階段模式:
Set-VMHost -EnableEnhancedSessionMode $true
2. 使用 VMConnect 連線並選擇本機資源。
使用 MSTSC 的基於 RDP 的裝置重新導向
當 VM 具有特定的 IP 位址且可在網路上存取時,可以使用標準的遠端桌面連線用戶端(mstsc.exe)來建立連線。此方法無需 Hyper-V 管理員即可運作。
優點:
- 使用標準 RDP 用戶端在網路上作業時
- 不依賴 Hyper-V Manager 進行操作
- 適用於遠端存取環境
缺點:
- RDP 工作階段終止後,USB 裝置會立即釋放
- 效能高度取決於網路延遲與可用頻寬
限制:
• 依賴指派的 IP 位址與有效的網路連線
• 僅允許隨插即用裝置
• 無法在非作用中的 RDP 工作階段之外提供持續性的 USB 存取
最低系統需求:
來賓端:必須已安裝 Windows,並已啟用遠端桌面且可透過網路使用。
用戶端:需要支援必要重新導向的 RDP 用戶端,而低階 USB 重新導向僅限 Windows 用戶端。
如何啟用
1. 您需要在您的 VM 上提供遠端桌面連線存取權限。連線到您的虛擬機器,並在控制台中尋找「系統與安全性」選項。按一下「允許遠端存取」
2. 確保已勾選「允許遠端連線到此電腦」與「允許遠端協助連線到此機器」方塊,然後在「系統內容」視窗的「遠端」索引標籤中按一下「確定」已勾選「允許遠端連線到此電腦」與「允許遠端協助連線到此機器」方塊
3. 按下 Win + R 以啟動「執行」程式,並在文字方塊中輸入 mstsc.exe。按下 Enter 以執行「遠端桌面連線」應用程式。
4. 按一下「顯示選項」按鈕以展開 RDC 對話方塊。
5. 開啟本機資源索引標籤,然後在本機裝置和資源區段中按一下「更多」
6. 在出現的選單中,啟用「其他支援的隨插即用 (PnP) 裝置」核取方塊。按一下「確定」
7. 返回「一般設定」標籤,並使用其使用者名稱和 IP 位址連線到您的虛擬機器。
8. 若要啟動您的遠端桌面工作階段,請按一下「連線」
9. 登入 VM,並檢查新增的 USB 裝置是否顯示在檔案總管中。
方法 2:使用 USB Network Gate 進行 USB-over-IP 直通
主要目標:
USB Network Gate 作為一款跨平台解決方案脫穎而出,適用於 Linux 客體 VM 與裝置存取受限的 Server Core 系統。它可獨立於 Hyper-V 執行,且不需要設定 Hypervisor。
網路層級的 USB 重新導向 Hyper-V 可讓實體連接在一台電腦上的 USB 裝置,透過區域網路(LAN)由另一台電腦使用。在 Hyper-V 虛擬機的 USB 中,該裝置會顯示得就像直接插到系統上一樣,因此你可以正常使用而不會察覺任何差異。
此方法可獨立於 Hyper-V 運作,且無需修改 Hypervisor 即可使用。它透過 TCP/IP 導向 USB 流量,使此方法成為各種 Hyper-V USB 裝置連線的理想選擇。
USB Network Gate 可讓每種 USB 裝置(包括智慧卡、網路攝影機、印表機、隨身碟、加密狗等)與 Hyper-V 虛擬機建立通訊。USB-over-IP 的方式常用於採用 Server Core 部署的 Hyper-V 主機上,因為在這類環境中與裝置的直接互動會受到限制。
USB Network Gate 是 Linux 使用者連結專用硬體的唯一合適方式,同時可維持完整的功能支援與一致的效能。
USB Network Gate 以用戶端—伺服器解決方案的形式運作,可讓你將伺服器端主機系統上的實體 USB 裝置存取權提供給用戶端的遠端 PC 或虛擬機。此用戶端—伺服器架構可讓 Hyper-V VM 與遠端裝置協同運作,就像它們直接連接到系統上一樣,不受實體距離影響。
優點:
- 適用於幾乎所有 USB 裝置
- 跨平台支援
- 不需要任何 Hyper-V 設定
缺點:
- 需要安裝第三方軟體
- 增加營運與授權管理負擔
限制:
• 需要穩定的網路連線
• 會引入網路延遲,可能影響即時裝置
• 非原生 Hyper-V 功能(USB-over-IP 架構)
最低系統需求:
相容於 Windows 7 SP1+ 與更新版本(包括 Server 2008 R2+)macOS 10.14+、Linux(Ubuntu 與 CentOS)Android 5.0+,以及 Raspberry Pi OS。
若要使用 USB Network Gate,請在主機與 VM 上都安裝它,並確保有可用的穩定網路連線。
如何透過網路在 Hyper-V 中使用 USB 裝置
1. 在主機和客戶端電腦上安裝 USB Network Gate。
2. 開啟應用程式並分享連接至 Hyper-V 主機的 USB 裝置。
3. 在操作虛擬機時,開啟應用程式並找到共用的 USB 裝置。
4. 按一下連線。
您可以在以下影片中找到透過網路將 USB 裝置連接到 Hyper-V 來賓機器的詳細說明:
使用 USB Network Gate 掛載並存取 Hyper-V USB 裝置到虛擬機器 很簡單、快速且方便。
方法 3:使用 SCSI 直通在 Hyper-V 中存取實體磁碟
主要目標:
此方法的主要目標是讓 VM 直接且獨佔存取一顆 rw USB 磁碟,確保主機不會干擾該裝置。此作法非常適合用於資料移轉、免 VHDX 復原,以及快速將 USB 磁碟連接至 VM。
Hyper-V 可讓您將 USB 儲存裝置提供給虛擬機器使用,就如同它們是實體磁碟一般。在此架構中,它會使用 SCSI 控制器將 USB 裝置從主機中斷連線,並直接連接到虛擬機器(VM)
許多使用者經常誤以為此方法是 Hyper-V 的 USB 直通。雖然相同,但此方法僅適用於大量儲存裝置。
優點:
- 適用於 Linux 和 Windows Hyper-V VM 使用者,運作良好
- 您將能夠管理 USB 儲存裝置的存取權限
缺點:
- 設定流程具有挑戰性
- 僅適用於在操作期間不可移除的 USB 大容量儲存裝置
- USB 儲存裝置可以連接到主機或虛擬機,但不能同時連接到兩者
限制:
• 僅支援 USB 儲存裝置,例如外接硬碟或隨身碟
• USB 裝置會以磁碟機形式呈現,而非標準 USB 硬體
• 主機與虛擬機器無法同時使用該裝置
• 裝置使用中不一定能隨時移除
• 不適用於掃描器、加密鎖(dongle)網路攝影機、HID 裝置或智慧卡
最低系統需求:
需要在 Windows 10/11 或 Windows Server 上使用 Hyper V,並在主機上額外設定一個離線的磁碟,且目標磁碟不是主機作業系統磁碟。
如何啟用
1. 啟動「磁碟管理」應用程式。若要這麼做,請從開始功能表的內容選單開啟「磁碟管理」或者,按下 Win + R 開啟「執行」程式並開啟 diskmgmt.msc。
2. 由於主機與 VM 無法同時存取 USB 磁碟機,您需要先在主機上將 USB 磁碟機設為離線。若要將 USB 磁碟機設為離線,請在「磁碟管理」中列出的裝置裡找到它,於其上按一下滑鼠右鍵,然後選取「離線」選項。
3. 現在主機作業系統已無法直接存取 USB 儲存裝置,您可以啟用 Hyper-V USB 直通。只要開啟 Hyper-V 管理員,在需要存取的 VM 上按一下滑鼠右鍵,並在內容選單中選擇「設定」
4. 在設定選單左側找到 SCSI 分頁並點擊。接著,在硬碟選項下方點擊「新增」
5. 從左側選單中選取 SCSI 控制器 > 硬碟 下的「實體硬碟」選項,然後選取 USB 磁碟機。請確保所選磁碟機的磁碟編號必須與您在磁碟管理中設為離線的磁碟相符。按一下「確定」以儲存變更。
新增磁碟機後,啟動您的 Hyper-V VM 檔案總管。VM 內的 USB 儲存磁碟機現在應該會顯示出來。
在主機上使用 PowerShell
- 在主機上偵測 USB 磁碟並將其設為離線。
Get-Disk | Where-Object BusType -eq USB
Set-Disk -Number <DiskNumber> -IsOffline $true
2. 使用磁碟編號將離線的實體磁碟附加到虛擬機器。
Add-VMHardDiskDrive -VMName “<VMName>” -ControllerType SCSI -DiskNumber <DiskNumber>
方法 4:使用離散裝置指派 (DDA) 在 Hyper-V 中啟用 USB 直通
主要目的
DDA 透過將 PCIe USB 控制器專用指派給虛擬機器來提供近乎即時的 USB 直通,實現低階存取與廠商驅動程式。該裝置會從主機移除,而 VM 則可獲得基本上接近原生的效能與完整的驅動程式相容性。當 RDP 重新導向無法滿足 USB 裝置的通訊協定與驅動程式需求時,此技術是一個可行的替代方案。
優點:
- 接近真實硬體的直通
- 使用專用控制器為 USB 裝置提供卓越的效能與相容性
- 適用於需要供應商驅動程式的專用硬體(加密狗、實驗室設備、安全金鑰)
缺點:
- 需要進階技能
- 指派給 VM 時,主機無法存取該裝置
- 新增裝置時需要重新啟動 VM
限制:
• 裝置已指派時,無法進行 VM 儲存/還原、無法即時遷移、也無法使用動態記憶體
• 僅適用於 Windows Server 2016/2019/2022/2025 搭配 Hyper-V — Windows 10/11 Home 不提供
• 需要 Gen2 VM
• 並非所有 PCIe USB 控制器都相容 — 請使用 Microsoft 的 DDA 指令碼進行驗證
最低系統需求:
支援的 OS:具備 Hyper-V 的 Windows Server 版本,例如 2016、2019、2022 和 2025
硬體:需要 CPU 支援 EPT/NPT,以及具備中斷與 DMA 重新對應功能的 IOMMU,並在 BIOS/韌體中啟用這些功能的設定(類似於 SR-IOV 需求)
如何使用 DDA 將 USB 控制器傳遞給 Hyper-V VM
收集資訊並準備環境:
- 確認 DDA 需求:你需要 Windows Server Hyper-V,以及支援 IOMMU/ACS 與裝置隔離的硬體。請在裝置附加期間檢閱 DDA 規劃指南中的限制。
- 尋找控制器的位置路徑:在主機上開啟裝置管理員 → 展開通用序列匯流排控制器 → 選擇要專用的 USB 控制器 → 詳細資料索引標籤 → 屬性:位置路徑 → 複製 PCIROOT(…) 字串。
使用 PowerShell 指派控制器(VM 必須關機)
(選用)為 VM 設定 MMIO 大小:
$vm = “<VMName>”
Set-VM -Name $vm -LowMemoryMappedIoSpace 3GB -HighMemoryMappedIoSpace 33280MB
從主機卸載控制器並指派給 VM:
$loc = “<PCIROOT(…from Device Manager…)>”
Dismount-VMHostAssignableDevice -LocationPath $loc -Force
Add-VMAssignableDevice -VMName $vm -LocationPath $loc
啟動 VM,並在來賓系統中視需要安裝廠商驅動程式。
若要還原:
Remove-VMAssignableDevice -VMName $vm -LocationPath $loc
Mount-VMHostAssignableDevice -LocationPath $loc
結論
雖然 Hyper-V 沒有一鍵式、內建的 USB 直通切換功能,但它會根據您的作業系統與硬體需求,提供其他具備彈性的替代方案。為了讓您能針對特定工作流程選擇最合適的方法,我們提供了本文所討論之替代方法的快速摘要。
| 方法 | 最適用於 | 支援的裝置 | 來賓作業系統 | 設定複雜度 |
| USB Network Gate | 專業用途 | 幾乎任何(加密狗、網路攝影機等) | Windows、Linux、macOS | 低 |
| 實體磁碟(SCSI) | 大容量儲存 | 僅限外接 HDD、隨身碟 | Windows、Linux | 中 |
| 增強工作階段 | 本機管理員工作 | 基本即插即用裝置,例如隨身碟 | 僅限 Windows | 低 |
| RDP 重新導向 | 遠端存取 | 受限的 PnP 裝置 | 僅限 Windows | 低 |
| DDA | 企業 / 進階使用者 | USB 控制器(PCIe) | Windows Server | 高 |
了解這些差異能幫助你節省時間,並避免反覆嘗試所帶來的挫折。無論你想要具備以網路為基礎的 USB 存取彈性,或是偏好增強工作階段模式的簡單性,你現在都可以使用這些工具,將你的實體裝置與 Hyper-V 的虛擬環境整合在一起。
常見問題
不,Hyper-V 不包含內建的 USB 直通選項。你只能透過變通方法將 USB 裝置連接到 VM,例如 SCSI 磁碟直通、USB Network Gate 等第三方軟體、DDA、增強型工作階段模式或 RDP 重新導向。
是的,可以使用 USB Network Gate(USB-over-IP)和 DDA 等方法,在 Hyper-V 虛擬機器內使用 USB 加密狗。由於驅動程式限制,RDP 重新導向可能無法適用於所有裝置類型。
Hyper-V 中的離散裝置指派 (DDA) 可讓整個 PCIe USB 控制器專用於虛擬機器。當控制器透過 DDA 指派時,主機將失去對它的存取權,且此功能僅適用於 Windows Server 及更新版本。
增強式工作階段模式會透過 VMBus 將 RDP 經由 VMConnect 路由,而不是使用傳統的網路連線。即使未指派 IP 位址給 VM,它仍可繼續運作。透過 mstsc.exe 的標準 RDP 只有在 VM 可於網路上連線時才會運作。
是的,不過其功能有限。Windows 10 和 11 支援 RDP 重新導向與增強型工作階段模式。DDA 僅在 Windows Server 上支援。當您在 Windows 10 和 11 上需要完整的跨裝置支援時,USB Network Gate 是最實用的選擇。