VBoxManage list usbhost
노트북에 연결하면 물리적 플래시 드라이브로 표시됩니다.
질문: 그런데 물리적 플래시 드라이브 없이 USB 플래시 드라이브를 에뮬레이션할 수 있나요? 그러면 실행 중인 VirtualBox 게스트에 USB 장치로 연결할 수 있도록 "VBoxManage list usbhost" 출력에 표시됩니다.
답변1
놀랍게도 USB 장치를 에뮬레이트하는 방법이 이미 마련되어 있습니다.
1) dummy_hcd
모듈을 로드합니다. 이는 USB 가젯 컨트롤러 드라이버(클라이언트 에뮬레이션)와 USB 루트 허브(호스트 에뮬레이션) 역할을 모두 수행하는 루프백 모듈입니다.
$ sudo modprobe dummy_hcd
$ lsusb
...
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
(이것은 새로운 루트 허브입니다).
2) 저장 장치를 나타내는 빈 파일을 만듭니다.
$ dd bs=1024 count=128 if=/dev/zero of=/tmp/backing_file
(이것은 상대적으로 작으므로 적절하게 늘리십시오)
3) USB 대용량 저장 장치(플래시 등)를 에뮬레이트하기 위해 가젯 드라이버 모듈을 로드합니다.
$ sudo modprobe g_mass_storage file=/tmp/backing_file idVendor=0x1d6b idProduct=0x0104 iManufacturer=Myself iProduct=VirtualBlockDevice iSerialNumber=123
$ lsusb
...
Bus 005 Device 004: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lsscsi
...
[7:0:0:0] disk Linux File-Stor Gadget 0408 /dev/sdh
나는 일종의 합리적인 식별을 선택했습니다. 옵션을 무시하면 겉보기에 무작위 옵션이 표시됩니다.
4) 사용 가능한 가젯 모듈이 있는 한 다른 유형의 USB 장치에도 이 작업을 수행할 수 있습니다.