When copying files around on a *nix system, you should keep in mind "buffers". Files are read from disk into RAM buffers, then these buffers are marked for flushing to the other device. That involves perhaps a different device driver. So what could have happened is that the copy appeared to finish, but the data was not actually flushed to external drive when you unplugged it. Think about Windows "Safely remove this device" or when you copy a lot to a USB it won't let you remove or eject it for a while?
I'm assuming the external drive has a USB interface? What I would do:
reformat the drive on the Windows box again
before plugging it into the Linux machine do from a console/terminal window:
that will give you a list of devices currently mounted
plug the drive in, wait a minute or so. If your desktop automounts and pops up a file explorer window, wait for that to show up.
In the same console, do the sudo mount command again. You are looking for differences here, something like /dev/sdc1 mounted on /mnt/tmpdisk (you probably won't have these exact lines, just something similar).
Do your copy however you did it before. When that appears to finish, in a console window enter the following:
sudo umount /dev/sdc1 (enter your info here).
If you pushed a lot of stuff, this command may take a while to finish: don't unplug the drive until you get a prompt on the console.
umount is "unmounting" the device; as part of this all dirty filesystem buffers are flushed to the physical device.