Você está fazendo o login bem - qualquer shell que você esteja começando está saindo imediatamente.
Inicialize no modo de usuário único ou em um CD de recuperação e execute chroot no sistema instalado.
Primeiro, verifique seus scripts de inicialização (profile, bashrc e afins). Certifique-se de que eles não estão fazendo nada que saia imediatamente.
Você consegue fazer chroot? Se você não pode, isso significa que não pode executar o seu shell. Tente chrooting e especifique um shell estático.
Altere o shell do root para um shell estático e isso deve ajudar. Então, a partir daí, você pode reinicializar o sistema instalado e começar a descobrir as coisas.
Você está usando o selinux / apparmor? Você já tentou definir a aplicação como permissiva? Isso ajuda?