St Johnstone goalkeeper Alan Mannus has given the Perth club a further boost by signing a new contract.
Motherwell have completed their first summer signing after securing Ross County midfielder Paul Lawson on a two-year deal.
Forest Chairman Omar Al Hasawi told the club's website: "Greg is another important component in the squad that Sean is assembling and we're delighted he chose to join us."
Halford, who can operate at the right and centre of defence, as well as in midfield or as a striker, made his name at Colchester before making moves to Premier League sides Reading and Sunderland.
He later had loan spells at Charlton and Sheffield United before joining Wolves in 2009, and eventually made his move to Fratton Park permanent after a successful loan spell.