First you need to get into your system. It can be done with an
into your kernel boot parameters. After booting, you get a root shell without authentication, but nothing other.
Second thing to do, is to make your system running (thus debuggable), while you have further your root shell. It can be done in two steps. First, you need to open a char console, with the command
openvt -c 23 -f /bin/bash
It will open a second root shell on your 23rd virtual console, which you can reach pressing an alt/leftarrow on your first virtual console (later, from X, you can get to this first virtual console with an alt/ctrl/f1).
After that, you can start your system with the command
If all went OK, your system now runs, you can't further log in, but you can soon at least try them, while you have a root console at tty23.
Now try to log in, and check the logfiles in /var/log, what it says. If it is not enough to find and eliminate the problem, this site is waiting you with your next question and interesting error log parts.