Originally Posted by
BCS_ZHP
Look at your battery, if its an original BMW battery look at the top of the negative terminal. 2 sets of 2 digit numbers will be stamped in the top of that negative terminal. The first 2 digit is the week, 1-52, and the second is the year, as in the week of the year your battery was produced. With that super cold weather I'm guessing if your battery is over 5 years old then lower voltage to the engine on start up is occurring, you probably have a misfire code on bank 1 or 2 because of it, the computer is trying to compensate for it and you get a rough idle. I couldn't hear the whirring noise enough to diagnose it.