Estaba tratando de eliminar los núcleos antiguos, pero debo haber eliminado todos los núcleos de mi computadora portátil Ubuntu 11.04. ¿Hay alguna forma de solucionar esto mediante el arranque USB o el montaje del disco duro en otro sistema?
69

Respuestas:
Arranque en un CD en vivo (o USB en vivo), monte algunos sistemas, realice un arranque en él e instale el kernel. Después de una instalación exitosa del kernel, desmonte los sistemas de archivos.
sudo mount /dev/sdXY /mntMonta algunas particiones especiales:
(opcional) Cuando esté conectado a una red, use los servidores DNS de su entorno Live (de lo contrario, los nombres de host posiblemente no se puedan resolver):
/mnt:sudo chroot /mntapt-get install linux-image-generic(no se requiere sudo ya que es root después de un chroot)Después de una instalación exitosa del kernel, salga del chroot y desmonte algunos sistemas de archivos:
sudo rebootfuente
/mnt. Ubuntu generalmente se encarga de desmontar / sincronizar los sistemas de archivos, pero esto me parece más limpio./dev/mdxxxunidad, suponiendo que sea mdadm./etc/resolv.conf(elimínelo si es un enlace simbólico) y coloque algo parecidonameserver 8.8.8.8en él (servidor DNS público de Google). Reemplácelo si es necesario.cp /etc/resolv.conf /mnt/etc/resolv.confantes de entrar en chroot. De todos modosEste procedimiento ampliado explica la mayoría de las complicaciones que podrían ocurrir, incluidos los problemas de conexión a Internet en
chroot, sin saber qué paquete de kernel instalar (antes de Ubuntu 12.10, no siempre serálinux-image-generic), sin saber desde el principio qué partición o incluso qué unidad física contiene el/sistema de archivos y que tiene una/bootpartición separada .No he escrito esto con referencia a ninguno de los otros procedimientos aquí, aunque notará algunas similitudes. Lo basé, libremente, en el procedimiento aquí (aunque esas instrucciones son para algo bastante diferente, las he adaptado ampliamente, y solo se copian algunos comandos, no en prosa).
Eliminó todos los paquetes del núcleo, y Ubuntu no puede arrancar sin un núcleo instalado. Entonces, la solución es arrancar desde un CD / DVD / USB
chrooten vivo en el sistema instalado e instalar un núcleo en él.Arranque desde un CD / DVD en vivo de Ubuntu o una unidad flash USB en vivo.
Seleccione Probar Ubuntu (no Instalar Ubuntu ).
Cuando aparezca el escritorio, asegúrese de estar conectado a Internet. Si no es así, conéctese a Internet. Una forma de ver si está conectado a Internet es abrir un navegador web. Incluso puede seguir el resto de las instrucciones llevando esta respuesta a Ask Ubuntu en su navegador web, en el sistema de CD / DVD / USB en vivo. Recomiendo hacer eso.
Abra una ventana de Terminal con Ctrl+ Alt+ T.
En la ventana Terminal, ejecute este comando para enumerar sus particiones:
Verá algo como esto (pero no será exactamente así):
Examine el resultado que obtuvo para determinar el nombre del dispositivo de la partición que contiene el
/sistema de archivos del sistema Ubuntu que está instalado en el disco duro (que está reparando).Si solo tiene una
ext4partición, esa es.Si tiene más de una
ext4partición, probablemente sea la primera. Sin embargo, si el primero es muy pequeño, menos de un gigabyte, entonces esa podría ser una/bootpartición separada (recuerde esa también).Tenga en cuenta que si
bootse incluye o no en la listaFlagstiene muy poco que ver con si una partición es o no una partición separada/boot. Mi sistema, cuya información se enumera arriba, no tiene una/bootpartición separada .El nombre del dispositivo para la partición comienza con el nombre del dispositivo para la unidad física, indicado inmediatamente después
Disken la segunda línea. Luego solo agregue el número de partición al final de eso. Entonces, el nombre del dispositivo para la partición que contiene mi/sistema de archivos es/dev/sda1. Aquí están las dos líneas donde encontré esa información:Si tiene más de una unidad física, obtendrá más de una lista como la que se muestra arriba. Pero a menos que tenga otro sistema similar a Unix instalado, probablemente solo tendrá una unidad que contenga
ext4particiones, al menos sin haberlas creado intencionalmente en otra unidad. Si tiene varias unidades conext4particiones, entonces laext4partición que contiene su/sistema de archivos está probablemente en una unidad que también contiene unalinux-swappartición.Es posible que el sistema de
/archivos de su sistema Ubuntu esté en una partición de otro tipo que no seaext4. Cuando esto sucede, es casi siempreext3, y casi siempre en un sistema bastante antiguo. Es muy raro que este sea el caso, a menos que usted mismo configure las cosas intencionalmente de esta manera.Recuerde el nombre del dispositivo de la partición que contenía su
/sistema de archivos (o escríbalo). Si es diferente de/dev/sda1, entonces lo reemplazará/dev/sda1en los pasos a continuación.(Si parecía que tenía una
/bootpartición separada , recuerde también el nombre del dispositivo para eso).Montar el
/sistema de archivos/mnty montar su/devsistema de archivos:Compruebe si el sistema Ubuntu dañado que está reparando tiene una
/bootpartición separada que debe montarse por separado. (Si está seguro de que no, puede omitir esto).Para verificar, ejecute:
Si hay salida (como
grub memtest86+.bin memtest86+_multiboot.bin, pero no necesariamente eso), entonces el sistema roto/bootestá en la misma partición/y no tiene que montar nada para acceder a él.Pero si no hay salida, entonces tendrá que montar el
/bootsistema de archivos:Reemplace
BOOT-PARTITIONcon el nombre del dispositivo de la/bootpartición (consulte el paso 6 anterior).chrooten el sistema roto, monte los sistemas de archivos virtuales importantes restantes y establezca algunas variables de entorno importantes:Determine si el acceso a Internet funciona desde dentro
chrootmediantepingun host confiable que se sabe que responde normalmente a pings:Debería ver algo como esto:
Si se ve así en su mayoría, y el número anterior
% packet losses inferior a 100, entonces la conexión a Internetchrootestá funcionando:Está funcionando, por lo que puede omitir el paso 11 .
Si se ve principalmente así, y el número anterior
% packet losses 100, la conexión necesita solución de problemas. Asegúrese de que la conexión en el sistema de CD en vivo (por ejemplo, a través de un navegador web o ejecutando el mismo comando en unachrootventana / pestaña Terminal no editada) funcione. Asegúrese de escribir el comando correctamente. Úselowww.google.comsi no ha estado.Si la salida no se parece a la anterior, sino que dice
ping: unknown host www.google.com, entonces la red aún no funciona en elchroot.Configurar redes en
chroot. Omita este paso a menos que tenga ununknown hosterror en el paso 10 anterior.Para configurar la red, haga una copia de seguridad del
hostsarchivo del sistema roto y copie sobre el sistema de CD en vivohostsy losresolv.confarchivos. (No tiene que hacer una copia de seguridad de la versión del sistema rotoresolv.conf, ya que ese archivo se regenera automáticamente sobre la marcha).Abra una nueva pestaña Terminal ( Ctrl+ Shift+ T) o, si lo prefiere, una nueva ventana Terminal ( Ctrl+ Shift+ N, o simplemente Ctrl+ Alt+ T). Ejecute estos comandos en él:
(El
exitcomando al final cierra la nueva pestaña / ventana).Repita el paso 10 anterior para asegurarse de que el acceso a Internet funcione ahora desde dentro del
chroot. Debería.Averigua qué paquete de kernel debe instalarse. Por lo general, esto será
linux-image-generic. Pero no siempre.Si no está seguro de qué instalar, dependerá en parte de la versión de Ubuntu que haya instalado, y en parte de otra información. Si no está seguro de qué versión de Ubuntu ha instalado, infórmese ejecutando este comando (en
chroot, no en una ventana / pestaña de Terminal separada):En Ubuntu 12.10 (la próxima versión de Ubuntu, actualmente en desarrollo), siempre lo será
linux-image-generic. (Mira esto , esto y esto .)En Ubuntu 12.04 LTS, las posibilidades probables son
linux-image-genericylinux-image-generic-pae. (A diferencia de las versiones anteriores, 12.04 ya no tiene núcleos de servidor y escritorio separados).Si el sistema Ubuntu instalado (que está arreglando) es la versión de 64 bits, use
linux-image-generic. (linux-image-generic-paesolo se aplica a sistemas de 32 bits).Es posible tener un sistema Ubuntu de 32 bits instalado en una computadora de 32 bits o 64 bits. Además, puede estar utilizando un CD en vivo de 32 bits o 64 bits para reparar un sistema instalado de 32 bits. Entonces, si no sabe si el sistema Ubuntu instalado es de 32 bits o de 64 bits, verifique ejecutando este comando (en
chroot, no en una ventana / pestaña de Terminal separada):La salida será
32o64.(Tenga en cuenta que no
uname -mes una forma correcta de encontrar esta información, porque incluso cuando se ejecuta en , eso le dirá la arquitectura del núcleo en ejecución , que es el núcleo del sistema de CD en vivo y no el núcleo del sistema instalado (roto)).chrootSi el sistema Ubuntu instalado (que está arreglando) es la versión de 32 bits, el mejor kernel para usar dependerá de la cantidad de RAM que tenga. Yo recomiendo:
linux-image-genericsi tiene menos de 3 GB de RAMlinux-image-generic-paesi tienes 3 GB de RAM o más.(Así es como el instalador de Ubuntu elige cuál configurar, desde que el instalador adquirió la capacidad de instalar núcleos PAE. Consulte la resolución de este error . Si desea saber qué es PAE, consulte este artículo de Wikipedia . Si desea aprenda sobre PAE en Ubuntu, vea esta página wiki de Ubuntu .)
Si no sabe cuánta RAM tiene, ejecute este comando para averiguar:
Eso aparece en kilobytes . Para convertir a gigabytes , divida por 1,048,576 (1024 2 ).
En Ubuntu libera antes 12.04, posibilidades probables son
linux-image-generic,linux-image-generic-paeylinux-image-server.linux-image-server.¡Este es el momento que has estado esperando! Instale un kernel en el sistema roto.
(Al igual que antes, excepto donde se indique explícitamente lo contrario, estos comandos se ejecutan en
chroot, no en una ventana / pestaña de Terminal separada).Reemplace
linux-image-genericcon cualquier otro paquete de kernel que haya decidido instalar en el paso 12 anterior, si es diferente.Si tuvo que realizar el paso 11 para configurar la red en el
chroot, restaure elhostsarchivo antiguo . Si omitió el paso 11, omita este paso también.Para restaurarlo, ejecute este comando:
Desmontar sistemas de archivos,
exitsaliendo dechroot:Apague el sistema de CD / DVD / USB en vivo, quitando el CD / DVD en vivo o la unidad flash USB. Inicie en el sistema instalado en el disco duro que acaba de reparar. Ha instalado un paquete de kernel en él (y como parte de la instalación, el kernel que proporciona se agregará nuevamente al menú de arranque de GRUB2). Si todo funcionó correctamente, su sistema debería arrancar sin problemas. (Creo que es posible que esta vez tarde un poco más en arrancar de lo habitual).
DESCARGO DE RESPONSABILIDAD: No probé el procedimiento anterior en todos los sistemas Ubuntu posibles , por lo que es posible que haya un error que no he identificado.
En el futuro, recomiendo siempre tratar de mantener dos núcleos instalados. Es bueno tener dos en caso de que uno deje de funcionar por algún motivo (puede seleccionar el otro en el menú de arranque de GRUB2). Además, si tiene la intención de mantener dos núcleos y desinstala accidentalmente uno más de lo que pretendía y reinicia, aún le queda uno para iniciar.
fuente
/etc/resolv.confhoy en día es administrado porresolvconf, se generará automáticamente al usar NetworkManager y se puede eliminar de forma segura usandorm /etc/resolv.confcomo descubrió.Cuando eliminé mi kernel encontré esta solución en los foros de Ubuntu. Seguí cada paso y el sistema se recuperó. Espero que te ayude.
Un chroot podría funcionar, chroot significa que cuando inicia un sistema, cambia el sistema de archivos raíz. Por ejemplo, comenzó desde un CD en vivo pero cambia la raíz "/" a donde está instalado su ubuntu.
Digamos que tu ubuntu está instalado en / dev / sda2, entonces puedes probar los siguientes comandos:
Código:
ahora que su raíz "/" está en / dev / sda2, intente instalar el núcleo
Tuve que hacer algunas conjeturas aquí ya que nunca tuve que hacer esto antes, pero esto debería ser al respecto. No sé si recibe alguna advertencia de error de fstab (como no puede encontrar la raíz).
Ahora necesita limpiar algunas cosas y desmontar las particiones montadas: Código:
Y puede reiniciar para ver si funcionó.
URL para el hilo: http://art.ubuntuforums.org/showthread.php?t=1688928
fuente
/etc/hostsy eliminarías/sbin/initctl? Está ahí por una razón./sbin/initctlodbus-uuidgenodpkg-divert. Es posible que deba reemplazarlo/etc/hostspara conectarse a Internet, pero generalmente no, y si lo hace, debe volver a colocar el original. En un sistema instalado (en lugar de un CD en vivo que arranca y luego desempaqueta un sistema de archivos squashfs), no tiene que ejecutarloupdate-initramfsni siquieraupdate-grubdespués de instalar el núcleo.linux-image-2.6.32-26-genericno será el núcleo correcto para la mayoría de las personas que lo instalen.Después quité los núcleos antiguos de Trusty14.04 ayer (FTR: Yo no quito los dos más recientes!) Mi sistema no arranque más. GRUB mostró
No tengo idea de por qué.
Luego seguí las excelentes instrucciones de Eliah Kagan para instalar
linux-image-genericdesde un CD en vivo. Instaló 150 MB de kernel nuevo, pero lamentablemente eso no resolvió el problema.Afortunadamente, encontré esta página . La
Boot-Repairherramienta lo hizo bien, mi sistema se está ejecutando nuevamente.fuente
Solo quería agregar mi experiencia por la que pasé hoy al actualizarme a Willy. Limpié un poco y me encontré con solo memtest. Google me hizo comprender que había eliminado los núcleos. Una restricción que tuve fue una red lenta, por lo que descargar ISO completo no era una opción. Entonces utilicé Ubuntu Minimal CD (solo 40 MB) y lo inicié. Después de detectar la opción de hardware (que me ayudó a conectarme a la conexión inalámbrica) entré en la opción de shell. Seguí las instrucciones de @Lekensteyn y tuve éxito. Sin embargo, hay algunas cosas: tiene que copiar
resolv.confantes de ir a chroot o de lo contrario su DNS se arruinará y, dado que el usuario que inició sesión, no hay necesidad de sudo en ninguna parte.Sé que es antiguo, pero pensé que agregar esta respuesta agregaría valor a aquellos que encontrarían el problema.
fuente