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 cifswith default options through Hyper-V Virtual Switch -
Workload: Downloading large files (200GB) from website
-
Tests: Tried
python,curl,aria2andwgetdirectly into the mount and also downloading on the host usingchromedirectly 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?