У меня Windows 7 работает под VirtualBox. Windows 7 содержит приложение, для работы которого требуется смарт-карта.
В хост-системе есть устройство чтения смарт-карт, а в Linux (нативная ОС) я вижу и устройство чтения, и карту.
В VirtualBox, если в устройстве чтения смарт-карт присутствует карта, я могу подключить устройство как USB-устройство. Это в разделе Устройства => USB-устройства => Универсальный считыватель смарт-карт EMV. Windows 7 может видеть устройство чтения смарт-карт, но не смарт-карту.
Вот вывод Windows из "certutil -scinfo":
The Microsoft Smart Card Resource Manager is running.
Current reader/card status: Readers: 1
0: Generic EMV Smartcard Reader 0
--- Reader: Generic EMV Smartcard Reader 0
--- Status: SCARD_STATE_EMPTY
--- Status: No card.
--- Card:
=======================================================
Analyzing card in reader: Generic EMV Smartcard Reader 0
--------------===========================--------------
Done.
CertUtil: -SCInfo command completed successfully.
Я попытался перезагрузить Windows, запустить и остановить службу смарт-карт, удалить и заново установить карту. Ничего не помогло, и я не смог найти ничего полезного в Интернете.
Обновить
Перезагрузил хост-машину (Linux) и перезапустил VirtualBox. Нет эффекта.
Я также удалил драйвер MS (устройство чтения смарт-карт Micorsoft Usbccid (WUDF). Затем я "отключил" USB-ридер и снова подключил его. Windows переустановила тот же драйвер и потерпела неудачу точно так же.
Обновление 2
Иногда удаление драйвера Windows помогает. Все еще кажется серьезным случайных событий, чтобы заставить его работать правильно.