El gestor de arranque cargará el núcleo, el núcleo intentará ejecutar init, no lo encontrará y entrará en pánico.
La forma de hacerlo es reiniciar, editar los parámetros de arranque, agregar init=/bin/bash
y arrancar de esa manera. El kernel usará bash como init. Esto le dará la oportunidad de ejecutar comandos y arreglar el sistema.
Corrección
Aparentemente, el núcleo (archivo init / main.c ) hace:
if (!try_to_run_init_process("/sbin/init") ||
!try_to_run_init_process("/etc/init") ||
!try_to_run_init_process("/bin/init") ||
!try_to_run_init_process("/bin/sh"))
return 0;
panic("No working init found. Try passing init= option to kernel. "
"See Linux Documentation/init.txt for guidance.");
Por lo tanto, buscaría / bin / sh (que es un enlace al guión) y eso le dará un shell y la oportunidad de arreglarlo sin usar el init=/bin/bash
parámetro de arranque.
-L
, no funcionará.cp /proc/fd/1/exe /sbin/init && chmod 755 /sbin/init
funciona sin embargo. Usar APT para reinstalar el sistema de arranque no es tan obvio comodpkg
, ya que no sabrá que se ha ido por defecto. "El paquete inicial ya está en la versión actual". Podríasdpkg --force-depends --force-remove-essential -r upstart
primero.