本指南採用 「USB 重導向 (USB Redirection)」 方案,將實體智慧卡讀卡機完全透傳給 Windows 11 虛擬機使用。此方法對於台灣各大銀行 WebATM、元件憑證及自然人憑證的相容性最高。
步驟一:Host 端(CachyOS)帳號權限與服務設定
由於 Arch / CachyOS 使用模組化的 Libvirt 服務,預設情況下一般使用者帳號可能沒有存取 Host USB 裝置與觸發裝置重導向的權限。
- 將使用者加入相關權限群組:開啟終端機,執行以下指令(將目前使用者加入 libvirt、kvm 及 uucp 群組):
sudo usermod -aG libvirt,kvm,uucp $USER
註: 修改群組權限後,建議 登出並重新登入(或重啟電腦)以使權限生效。 - 刷新 Libvirt 裝置掃描與管理服務:重啟負責掃描硬體裝置的 virtnodedevd 與核心 libvirtd 服務:
sudo systemctl restart virtnodedevd
sudo systemctl restart libvirtd - 重啟 Virt-Manager: 完全關閉 virt-manager 應用程式後重新開啟。
步驟二:Virt-Manager 虛擬機硬體配置
為了讓虛擬機在執行時能建立 SPICE USB 直通管道,需要先在 VM 設定中新增重導向通道。
- 確保 Windows 11 虛擬機處於 關機狀態。
- 在 Virt-Manager 中打開該虛擬機的 詳細設定(點擊燈泡或感嘆號圖示)。
- 點擊左下角的 「新增硬體 (Add Hardware)」。
- 選擇 「USB 重導向器 (USB Redirector)」,點擊 完成。
- (建議可以重複新增 2 個 USB 重導向器,以便預留多個通道給其他 USB 裝置使用)。
步驟三:啟動 VM 並勾選重導向裝置
- 啟動 Windows 11 虛擬機並進入系統。
- 確保讀卡機與晶片卡已插入電腦實體 USB 埠。
- 在虛擬機視窗上方選單列,點選 「虛擬機 (M)」 ➔ 「重定向 USB 裝置 (R)…」。
- 在彈出的清單中,勾選你的 智慧卡讀卡機(例如 Generic Smart Card Reader、EZ100PU 或 Alcor Micro 等)。
- 勾選後,Host 端會暫時釋放該讀卡機,Windows 11 系統會即時偵測到新硬體並自動載入驅動程式。
驗證與測試
- 開啟 Windows 11 內的 裝置管理員,確認「智慧卡讀卡機」項下已有對應裝置。
- 使用 Edge 或 Chrome 瀏覽器開啟銀行 WebATM(如兆豐、玉山、台新、郵局)或元件測試頁面。
- 執行讀卡測試,確認可以順利讀取卡片資訊並進行交易驗證。
常見問題與除錯 (Troubleshooting)
- 問題:選單出現「重定向 USB 裝置」變灰或無法點擊?
- 原因: VM 缺乏 USB Redirector 硬體,或 SPICE 通道未建立。
- 解法: 確認 VM 設定中已有新增「USB 重導向器」,且顯示協定採用 SPICE。
- 問題:重導向清單內依然「無裝置可用」?
- 原因:Host 端的 uucp 或 libvirt 權限尚未生效,或裝置被 Host 端的 pcscd 完全獨佔。
- 解法: 重新執行 sudo systemctl restart virtnodedevd 或先在 Host 端插拔一次 USB 讀卡機。


Leave a comment