run "ethtool eth0" and have a look at the output. It's possible that it's autonegotiated a stupid setting like half-duplex or some lower speed.
Do the same with the windows box; that information is the properties dialog for the network device.
Outside of a dog, a book is man's best friend. Inside of a dog, it is too dark to read.