Edfors was at 9-under 135 for his first career 36-hole lead on the European Tour.
First round co-leader Lee Westwood shot a 2-under 70 and Charl Schwartzel had a 5under 67 to share second place at 7-under 137.
David Howell, Nick Dougherty, Colin Montgomerie and 2006 champion Henrik Stenson were also among the 16 players who were within five shots of Edfors' lead.
A three-time winner two seasons ago, Edfors eagled the 18th hole in the first round Thursday to earn a share of third place overnight.
He opened on the back nine Friday at Doha Golf Club with a birdie at the 10th hole, then made his only bogey of the round at the 13th -- which he also bogeyed in the first round.
Edfors then rattled off six birdies in a seven-hole stretch beginning at the 14th. He closed with seven consecutive pars to finish off his 66, the best round of the day.
After winning three times in 2006, Edfors struggled last season to hold the form that earned him his first career titles. He missed the cut in 11 of his 26 starts, finishing in the top 10 only twice.
Two months off and a serious 10-day training program produced only a 43rd place finish in Abu Dhabi last week, but Edfors still feels like he's on the right path again.
'I had a good think about what I did last year,' he said Friday. 'I wasn't very happy with the way I was playing last year and how I was feeling on the course. I wasn't enjoying myself as much as I usually do, and I changed some aspects, especially during tournament week, so now I think I'm getting back into the shape that I want to be.'
Howell (68) joined Ross McGowan (68), Alexander Noren (69) and first round co- leader Anton Haig (71) in a share of fourth place at 6-under 138, while Dougherty (67), Montgomerie (68) and Stenson (70) were another shot further back at 139.
Andrew Coltart, the 1998 champion, led a group of six players who were tied five shots off the lead at 140.
The cut line fell at 1-over 145 with 71 players moving on to the weekend. Paul Casey, Paul McGinley and Ian Poulter were among those who missed the cut.
Sergio Garcia came in safely at even-par 144.