San Francisco also waived offensive lineman Alan Knott in a corresponding transaction. The 49ers announced the roster moves on Tuesday.
Morris, 29, had 547 yards and a touchdown on 115 carries last season for the Dallas Cowboys. The six-year veteran started five games last season and appeared in 14 contests. Morris started every game during his tenure with the Washington Redskins from 2012 through 2015. The two-time Pro Bowl selection had 243 yards and two scores on 69 carries during the 2016 season for the Cowboys.
Morris had a career-best 1,613 yards and 13 scores during his rookie campaign for the Redskins. He had 1,000 rushing yards in each of his first three NFL seasons. His best game last season came ion Nov. 30 in a win against the Redskins. Morris had 127 yards and a touchdown on 27 carries in the triumph.
Knott signed with the 49ers in April as an undrafted rookie free agent out of the University of South Carolina.
San Francisco running back Jerick McKinnon is dealing with a muscle strain in his right knee. The team is also without Matt Breida until Week 1. Raheem Mostert and Joe Williams are listed as the team's third string running backs on the 49ers' unofficial depth chart.