[Bug 279659] virtualization/bhyve: When bhyve virtualizes Windows 10/11 Rufus does not recognizes any USB sticks

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 10 Jun 2024 22:08:41 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279659

            Bug ID: 279659
           Summary: virtualization/bhyve: When bhyve virtualizes Windows
                    10/11 Rufus does not recognizes any USB sticks
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: marietto2008@gmail.com

Created attachment 251370
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=251370&action=edit
The images below shows that the USB stick is not recognized by Rufus.

Hello.

I'm running Windows 11 virtualized with bhyve using these parameters :

bhyve -S -c sockets=4,cores=2,threads=1 -m 8G -w -H \
-S -c sockets=4,cores=2,threads=1 -m 8G -w -H \
-s 0,hostbridge \
-s 1,ahci-hd,/mnt/$vmdisk0'p2'/bhyve/img/Windows/Windows11.img,bootindex=1 \
-s 2,ahci-hd,/dev/da2 \
-s 13,virtio-net,tap18 \
-s 29,fbuf,tcp=0.0.0.0:5918,w=1600,h=950,wait \
-s 30,xhci,tablet \
-s 31,lpc \
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI_CODE.fd \
vm0:18 < /dev/null & sleep 2 && vncviewer 0:18

Where /dev/da2 is :

Geom name: da2
Providers:
1. Name: da2
   Mediasize: 16053960192 (15G)
   Sectorsize: 512
   Mode: r0w0e0
   descr: SanDisk Cruzer
   ident: 0774911DDC4200A6
   rotationrate: unknown
   fwsectors: 63
   fwheads: 255

my intention was to create an USB drive with Rufus. Well,it is not able to
detect my USB stick : I have a SanDisk Cruzer.

The images below shows that it is not recognized and even the log registry.

https://ibb.co/vHSbHQN
https://ibb.co/0FYCBfs

I've contacted the developer of Rufus,who said :

Most likely, the FreeBSB folks did not emulate a full USB stack in their
virtualization platform, so they probably use a custom driver to present the
USB drive as a non-USB disk to Windows, in which case,Rufus will obviously not
detect it.

Unfortunately, while I may do so for a *limited* set of virtual platforms (i.e.
the most popular ones out there), I just can't go around trying every
virtualization software out there to figure out what kind of non-USB driver a
virtualization platform uses to present USB drives to Windows. I did add VMDK
(VMWARE) and VHD (Hyper-V) support to Rufus in the past, but I am not going to
go out of my way for BSD. I may however accept a patch...

Would someone give more information why this problem occurs ? thanks.

-- 
You are receiving this mail because:
You are the assignee for the bug.