Schwartzel, the day's early leader, scored a five-under 67 while Westwood hit a 70 to share second place with a two round total of seven-under 137.
"I played a really solid round. It gave me a bunch of good birdie opportunities and gave myself some chances from within 20 feet. It was really nice," said Edfors, who resides in Dubai resident.
The 33-year-old Swede, who sank seven birdies to record the day's best score, again dropped a shot on the 13th.
"I dropped a shot on the 13th, on both days. But I'll improve on that tomorrow, I promise."
"Yeah, I dropped a shot on the 13th, on both days. But I'll improve on that tomorrow, I promise," he said.
Schwartzel, who carded a two-under par 70 in the first round, played a consistently with birdies on the second, sixth and seventh holes on his outward journey, before picking up two more on the 10th and 14th.
"It was a very good score, I thought. I hit a lot of fairways and all the greens. I thought my play was really solid," Schwartzel said.
Westwood, who was joint leader with South African Anton Haig after the first round, sank birdies on the 15th and 16th after teeing off from the 10th.
Big names miss the cut
He then ran into the rough and ended up with a bogey on the fifth on his return, before steadying his game with another birdie on the eighth to be within striking distance of the leader.
"I played okay. Just couldn't get any momentum. But 70 is a good score in these conditions," Westwood said.
Sweden's Alexander Noren, Haig and the English duo of David Howell and Ross McGowan share fourth place with two-round totals of 138.
Noren, who was tied with six others in second place overnight with a three-under 69, repeated his performance for an identical score. "It was good, no bogeys, three birdies, that's perfect," Noren said.
Howell did well to card 68 after a steady 70 on Thursday while Haig failed to reproduce his first-round form and ended on one-under 71.
Britons Nick Dougherty (67) and Colin Montgomerie (68) put up vastly improved displays compared to their first round scores of 72 and 71 respectively, closing out on five-under par 139.
Big names who missed the cut of one over par included Paul Casey, Paul McGinley, Ian Poulter, former winner Joakim Haeggman, last week's Abu Dhabi winner Martin Kaymer and American Ryder Cup player Scott Verplank.