BMW Questions? Ask a BMW Repair Expert for Answers.
It could be a couple of things. First it could be a corroded ground strap for the engine, It is made out of bare copper wire exposed to the environment. To test it take a set of jumper cables and put the black lead on bare metal on the engine block (typically near the oil filter) and the black end to the engine jump point.
Next it could be a worn starter motor to test it you can check for voltage at the starter and the starter signal as well as bang on the starter with a long extension or pry bar to jar it into working.