Silly question perhaps, but are you sure you're using the correct port on your Linux system? If I plug my external HD into a USB2 port, I'm stuck at 30-40MB/sec, while on a USB3 port I get ~150-180MB/sec. That's proportionally similar to the difference you described so I wonder if that's the culprit.
You can verify this in a few different ways. From Terminal, if you run lsusb you'll see a list of all your USB hubs and devices.
It should look something like this:
Bus 002 Device 001: ID xxxx:yyyy Linux Foundation 3.0 root hub
Bus 002 Device 002: ID xxxx:yyyy <HDD device name>
Bus 003 Device 001: ID xxxx:yyyy Linux Foundation 2.0 root hub
Bus 004 Device 001: ID xxxx:yyyy Linux Foundation 3.0 root hub
So you can see three hubs, one of which is 2.0 and the other two are 3.0. The HDD is on bus 002, which we can see is a USB 3.0 hub by looking at the description of Bus 002 Device 001. That's good.
If you see it on a 2.0 bus, or on a bus with many other devices on it, that's bad and you should re-organize your USB devices so your low-speed peripherals (mouse, keyboard, etc.) are on a USB2 bus and only high-speed devices are on the USB3 bus.
You can also consult your motherboard's manual, or just look at the colors of your USB ports. By convention, gray ports are USB 1.0, blue ports are 2.0, and green ports are 3.x.
If you're running KDE, you can also view these details in the GUI with kinfocenter. Not sure what the Gnome equivalent is.
Bus 004 Device 004 and it's USB 3.0 as it should be.
Also I've disabled caching and I'm now copying 6 video files at only just 15MB/s (and it's slowing down, byt the time I went to make screenshot for this post it dropped again). And it's quite a bit slower than on Windows still.
Did the USB drive get excessively warm during this because it looks like the drive is throttling?
Incidentally, this is why I switched to using external SSDs. A group of 128GB flash drives I had would slowly fall over when I would write 100GB off files to it.
No it did not get warm at all because it was barely doing anything. But so that I'm fair I've borrowed different USB 3.2 Gen1 drive and tested also with my Fedora Laptop.
single 4.4GB video file
Zen1 based Windows PC - 2min 10s (could unmount right after progress finished)
Zen4 based Fedora41 laptop - 3min 1s (progress finished within 1min but then took 2min to unmount)
Zen3 based Fedora41 PC - 5min 16s (progress finished within 20s but took almost 5min to unmount)
This is a really good point. I generally have the opposite experience re: Linux vs windows file handling speed. But I have been throttled before by heat.
OP, start again tomorrow and try the reverse, and tell us the results.
Yes, caching was disabled. Done again in reverse order, no time for the USB stick to cool down as I've popped it right into another device when it finished on the one before. And yes, the same USB stick I've tested with before.
I'm using USB 3 10Gbps on my Linux system. The USB stick is USB 3-1.0 and the Windows PC only has USB 2.0 so it should be the slowest but it's actually several times faster.