Anyone who tells you your goal isn't within reach is flat out wrong. It takes a COMPLETE mental change and a drive to work harder than anyone else in ALL your classes to make your dreams come true with a 2.5. B's are unacceptable. It has to sicken you listening to others tell you what you cant do because of a spotty past. At least, that is what it did to me...and now I care so intensely about my grades, I have dreams about them.
I am currently in the process of coming back from a 2.57 GPA with barely any prereqs, C's, D's F's and a crap ton of W's on my transcript. I'm taking 33 credit hours this semester and 37 credits next semester. Currently have all A's, this includes organic I, Physics I, Gen Chem I, Gen Chem II, Advanced Exercise Physiology, Biomechanics (basically another physics class), and a couple of classes that I got C's in. Next semester will be Organic II, Physics II, Medical Biochemistry, Genetics, statistics, and a couple more classes I got C's in. I am filling in my schedule between 2 schools, leaving classes early to get to the next on time, working in the ER as a scribe, volunteering during ANY free time I have, and working my butt off to achieve these grades, all while studying for the MCAT. I had to beg to get into these classes and to fit them into my schedule. It is tough but it is not impossible. It is expensive but doable. It is stressful but it is completely worth it.
I found an excellent grade replacement calculator on here using the search function. Download it and put all your grades in. Mine theoretically will go from a 2.57 to a 3.558 if I do as well as I'm currently doing. All that being said, you still have to have your story set up. Know WHY you did poorly, and HOW you changed to compensate for your past mistakes.
But hey, I'm not in med school yet, maybe I'm completely wrong and we're all hopeless. I choose not to believe that though. Best of luck!