Many times repairing those kinds of situations in Linux is as simple as:
- boot linux livecd
- mount your broken filesystem
- bind mount the important bits from the live kernel (/proc)
- chroot
Like this:
cd /
mount -t ext2 /dev/sda1 /mnt #Here's your broken install
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt /bin/bash #boom you are in.
Now do whatever you can to repair the system. depends on what broke.usually apt stuff for me(pulled power during a package upgrade)?