CachyOS + QEMU/KVM:Windows 11 虛擬機智慧卡使用指南

本指南採用 「USB 重導向 (USB Redirection)」 方案,將實體智慧卡讀卡機完全透傳給 Windows 11 虛擬機使用。此方法對於台灣各大銀行 WebATM、元件憑證及自然人憑證的相容性最高。

步驟一:Host 端(CachyOS)帳號權限與服務設定

由於 Arch / CachyOS 使用模組化的 Libvirt 服務,預設情況下一般使用者帳號可能沒有存取 Host USB 裝置與觸發裝置重導向的權限。

  1. 將使用者加入相關權限群組:開啟終端機,執行以下指令(將目前使用者加入 libvirt、kvm 及 uucp 群組):
    sudo usermod -aG libvirt,kvm,uucp $USER
    註: 修改群組權限後,建議 登出並重新登入(或重啟電腦)以使權限生效。
  2. 刷新 Libvirt 裝置掃描與管理服務:重啟負責掃描硬體裝置的 virtnodedevd 與核心 libvirtd 服務:
    sudo systemctl restart virtnodedevd
    sudo systemctl restart libvirtd
  3. 重啟 Virt-Manager: 完全關閉 virt-manager 應用程式後重新開啟。

步驟二:Virt-Manager 虛擬機硬體配置

為了讓虛擬機在執行時能建立 SPICE USB 直通管道,需要先在 VM 設定中新增重導向通道。

  1. 確保 Windows 11 虛擬機處於 關機狀態
  2. 在 Virt-Manager 中打開該虛擬機的 詳細設定(點擊燈泡或感嘆號圖示)。
  3. 點擊左下角的 「新增硬體 (Add Hardware)」
  4. 選擇 「USB 重導向器 (USB Redirector)」,點擊 完成
    • (建議可以重複新增 2 個 USB 重導向器,以便預留多個通道給其他 USB 裝置使用)

步驟三:啟動 VM 並勾選重導向裝置

  1. 啟動 Windows 11 虛擬機並進入系統。
  2. 確保讀卡機與晶片卡已插入電腦實體 USB 埠。
  3. 在虛擬機視窗上方選單列,點選 「虛擬機 (M)」「重定向 USB 裝置 (R)…」
  4. 在彈出的清單中,勾選你的 智慧卡讀卡機(例如 Generic Smart Card Reader、EZ100PU 或 Alcor Micro 等)。
  5. 勾選後,Host 端會暫時釋放該讀卡機,Windows 11 系統會即時偵測到新硬體並自動載入驅動程式。

驗證與測試

  1. 開啟 Windows 11 內的 裝置管理員,確認「智慧卡讀卡機」項下已有對應裝置。
  2. 使用 Edge 或 Chrome 瀏覽器開啟銀行 WebATM(如兆豐、玉山、台新、郵局)或元件測試頁面。
  3. 執行讀卡測試,確認可以順利讀取卡片資訊並進行交易驗證。

常見問題與除錯 (Troubleshooting)

  • 問題:選單出現「重定向 USB 裝置」變灰或無法點擊?
    • 原因: VM 缺乏 USB Redirector 硬體,或 SPICE 通道未建立。
    • 解法: 確認 VM 設定中已有新增「USB 重導向器」,且顯示協定採用 SPICE。
  • 問題:重導向清單內依然「無裝置可用」?
    • 原因:Host 端的 uucp 或 libvirt 權限尚未生效,或裝置被 Host 端的 pcscd 完全獨佔。
    • 解法: 重新執行  sudo systemctl restart virtnodedevd 或先在 Host 端插拔一次 USB 讀卡機。

留言

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.