The 29-year-old centre-back has been at Easter Road since 2006, when he joined the club from Grimsby Town.
Unitedhave not disclosed the fee, but it must be more than the £335,000 paid to Stoke City for the striker Martin Paterson. The Daily Express reported on Thursday that it was £350,000.
"It feels great to sign. It's nice to be back in England and in an area which I'm familiar with," he said.
"The right noises came from the club. I was interested in coming here and I've now cemented that."
Nottingham Forest had failed to sign the 6ft 7in player despite a £600,000 bid in the January transfer window.