What are optimal mount options to solve persistent Silent Data Corruption on SMB Share (Hyper-V Debian Guest to Windows 11 Host)?

I am experiencing silent data corruption when reading/writing large files from a Debian guest via a SMB share hosted on a Windows 11 physical host.

Background:

  • Host: Windows 11 running on physical hardware with mechanical HDDs.

  • Guest: Debian 12 running on Hyper-V.

  • Connection: NTFS folder shared via Windows SMB, mounted in Debian using mount -t cifs with default options through Hyper-V Virtual Switch

  • Workload: Downloading large files (200GB) from website

  • Tests: Tried python, curl, aria2 and wget directly into the mount and also downloading on the host using chrome directly to the folder. Tried different mirrors.

The Problem: The files consistently fail MD5 checksum check when tested from the VM. Interestingly, downloading to a local VHDX (ext4 formatted) on the same VM works perfectly (no corruption)

Question: Is this a known issue between the Linux CIFS client and Windows 11 SMB share via Hyper-V virtual switch? Are there specific mount flags or Windows Registry tweaks that can guarantee integrity with minimal affect on performance?