Recentemente, tive um problema semelhante, mas foi culpa minha, eu estava testando coisas na minha estação de trabalho, e não em uma VM, mas isso é além do ponto.
No final, eu inicializei em um USB ao vivo, movi todos os meus arquivos e os reinstalei. Agora, isso foi drástico, eu sei, mas fiquei frustrado com a incapacidade de fazer login e fazer qualquer coisa para resolver o problema. Isso tudo dito, entre quando sua máquina trabalhou pela última vez e quando isso começou, o que você instalou? Qualquer novo hardware ou software?
Se o hardware puder ser removido e reiniciado? Espero que isso corrija o problema.
Se o software, você pode entrar em um modo somente terminal, segurando a tecla shift durante a reinicialização, isso irá levá-lo ao seu grub loader, e de lá você deve ver algo como o modo de reparo do Ubuntu, ou algo que parece seguro. Escolha esse modo de inicialização, e ele vai te dar muitas opções para tentar, mas o que eu estou procurando é o prompt de comando, vá até lá e retire o que você instalou pela última vez, você faria isso usando este comando:
sudo apt-get remove [program-name]
Se você instalou múltiplos, tente fazer o backup de cada um deles e reinicialize a cada vez, mas se você é burro como eu, copiou e colou os comandos de instalação de um site, e não tem idéia do que o comando era ... (Eu vivo no limite).
De qualquer forma, se tudo isso não funcionar, e ninguém aqui mais inteligente do que eu tem uma resposta melhor do que a que eu dei, então minha resposta é a resposta, faça o login no LIVE USB / CD, tire seus dados do máquina e reinstalar.
Espero que isso ajude de alguma forma. Chris