Pode ser que o initrd esteja corrompido ou ausente. Nesse caso, não seria possível localizar o processo init que o initrd precisa e usa. Siga estas etapas para recriar o initrd:
- Inicialize a partir da mídia (USB / DVD) e inicie sua sessão de terminal como root. ("Modo de Recuperação")
- Monte o disco com o sistema de arquivos raiz em / mnt
mount /path/to/disk /mnt
- Monte e ligue os sistemas de arquivos virtuais ao seu disco
mount --rbind /proc /mnt/proc
mount --rbind /sys /mnt/sys
mount --rbind /dev /mnt/dev
- chroot no seu disco
chroot /mnt
- Monte tudo o mais, se houver
mount -a
- mova para o diretório de inicialização
cd /boot
- reconstrua o initrd
No RedHat, é tão simples quanto executar este comando:
mkinitrd
No Ubuntu, parece que eles usam uma ferramenta diferente. Primeiro, você precisa ver qual versão do kernel está usando:
# ls /lib/modules/
3.11.0-12-generic
Em seguida, use a versão que lhe dá para executar o comando necessário:
# update-initramfs -c -k 3.11.0-12-generic
update-initramfs: Generating /boot/initrd.img-3.11.0-12-generic
Depois disso, você pode exit
chroot e tentar iniciar normalmente novamente para ver se o problema foi resolvido.