Your major doesn't matter; as far as med schools are concerned, majoring in pre-health, pre-med, or underwater basket-weaving are all the same so long as you complete the pre-reqs (2 years bio, 1 year gen chem, 1 year O Chem, 1 year Physics, 1 year English, 1 semester Calc at most schools). Now, having C's in those pre-reqs can be an issue, and I'd recommend retaking most of them or doing better in higher-level bio or Chem to show you're capable of doing the work.
Most students who plan to apply to med school right out of college take the MCAT in the spring of your junior year, usually in April or May, though some take it in January to get it out of the way. I started studying now for my exam in May last year, but others studied just throughout the spring and took it and did great. If you're going to take it in January, you definitely should start studying now. I recommend one of the prep courses by Kaplan or Princeton; it's expensive, and some people don't need the help, but I personally needed the structure of the class to help me stay focused.
However, the fact that you have a 2.9 cumulative GPA right now makes me really question whether or not you would be a competitive applicant straight out of college. Keep in mind that med schools consider not only cGPA, but also BCMP (bio/chem/math/physics) GPA as well, and from the sounds of it that is probably even lower right now. A 2.9 will not get you accepted to any U.S. medical school, not even osteopathic, and even with straight A's I suspect you could only bring it up to around a 3.1 or 3.2 by the time you apply in the spring, which will still leave you as under the average for most med schools unless you just get a crazy good MCAT score. I would recommend making straight A's from here on out to get started on repairing the GPA, and then see how high you get by the end of the spring. If you're not at around a 3.3 or so, I'd recommend that you just hold off on applying for another year until after your senior year, where you'll have another year of hopefully straight A's to improve your GPA. If that isn't enough to get you up to the 3.5ish range, there are post-bacc programs available strictly for the purpose of taking more science courses to raise your GPA to make you a more competitive applicant that you could during your year off.
In the mean time, don't neglect your extracurricular activities either. Med schools will want to see that you've been involved in medically-related activities, so see what you can do to get clinical experience volunteering at a hospital. They also often like seeing research experience, but that's not a necessity like clinical exposure; it's really more like a nice plus.
I know this seems like a lot... really the only thing you can do is just take this thing one step at a time, and if you want it bad enough, then I'm sure you'll find a way to make your dream happen!