Unfortunately, that's normal. A hard drive described as being a terrabyte is actually 1,000,000,000,000 bytes, the operating system reads in 1024KB blocks so you end up with it reporting only 931GB and you "lose" 69GB in the conversion. A true terrabyte hard drive should be 1099511627776 bytes (1024^4), but no such hard drive exists.
Actually, that would be a true tebibyte drive. Terabyte does actually imply base ten, so the HDD manufacturers are correct here (and Windows is wrong). No space is lost at all - it's simply a slightly different unit system. The confusion comes because it is a slightly different unit system with nearly interchangeable names.
It would be like measuring something in nautical miles vs miles. If you were told that something was a thousand miles, and your measuring tape used nautical miles instead (but decided to leave off the word "nautical"), your measuring tape would only read 869 miles. You didn't lose anything in the conversion - you still have the entire thousand statute miles, but your measuring tape is reading different units. This is the same thing that happens with operating systems - your OS is using binary terabytes and gigabytes rather than decimal, but they didn't bother to write "binary gigabyte", nor did the HDD manufacturer bother to write "decimal gigabyte". Both are correct in a sense, and you aren't losing anything, you're just using a slightly different unit system.