If it boots into the shell, that means it probably using runtime 3. You need to use runtime 5.
If this is all greek to you then I'll try and explain a little bit, but I'm using a Windows machine right now and I don't have access to a Linux box at the moment...
It's in /etc/inittab. If you edit this file, you should see a place where it indicates the default runlevel (It's usually well-commented in this file). It should look something like this:
You should be able to just change the 3 to a 5 and reboot.
As far as X not starting up, that could be because you need to start the comp in runlevel 5 (so it loads necessary modules and whatnot). If that doesn't work, then I'll need the tail end of the of the X log file (/var/log/Xorg.log or something like that). Sorry for not being very specific at the moment. I just can't remember all the details off the top of my head
-- the dudeman