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 /mnt
Monta 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 /mnt
apt-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 reboot
fuente
/mnt
. Ubuntu generalmente se encarga de desmontar / sincronizar los sistemas de archivos, pero esto me parece más limpio./dev/mdxxx
unidad, suponiendo que sea mdadm./etc/resolv.conf
(elimínelo si es un enlace simbólico) y coloque algo parecidonameserver 8.8.8.8
en él (servidor DNS público de Google). Reemplácelo si es necesario.cp /etc/resolv.conf /mnt/etc/resolv.conf
antes 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/boot
partició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
chroot
en 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
ext4
partición, esa es.Si tiene más de una
ext4
partición, probablemente sea la primera. Sin embargo, si el primero es muy pequeño, menos de un gigabyte, entonces esa podría ser una/boot
partición separada (recuerde esa también).Tenga en cuenta que si
boot
se incluye o no en la listaFlags
tiene 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/boot
partició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
Disk
en 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
ext4
particiones, al menos sin haberlas creado intencionalmente en otra unidad. Si tiene varias unidades conext4
particiones, entonces laext4
partición que contiene su/
sistema de archivos está probablemente en una unidad que también contiene unalinux-swap
partició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/sda1
en los pasos a continuación.(Si parecía que tenía una
/boot
partición separada , recuerde también el nombre del dispositivo para eso).Montar el
/
sistema de archivos/mnt
y montar su/dev
sistema de archivos:Compruebe si el sistema Ubuntu dañado que está reparando tiene una
/boot
partició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/boot
está 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
/boot
sistema de archivos:Reemplace
BOOT-PARTITION
con el nombre del dispositivo de la/boot
partición (consulte el paso 6 anterior).chroot
en 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
chroot
medianteping
un 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 loss
es inferior a 100, entonces la conexión a Internetchroot
está funcionando:Está funcionando, por lo que puede omitir el paso 11 .
Si se ve principalmente así, y el número anterior
% packet loss
es 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 unachroot
ventana / pestaña Terminal no editada) funcione. Asegúrese de escribir el comando correctamente. Úselowww.google.com
si 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 host
error en el paso 10 anterior.Para configurar la red, haga una copia de seguridad del
hosts
archivo del sistema roto y copie sobre el sistema de CD en vivohosts
y losresolv.conf
archivos. (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
exit
comando 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-generic
ylinux-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-pae
solo 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á
32
o64
.(Tenga en cuenta que no
uname -m
es 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)).chroot
Si 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-generic
si tiene menos de 3 GB de RAMlinux-image-generic-pae
si 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-pae
ylinux-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-generic
con 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 elhosts
archivo antiguo . Si omitió el paso 11, omita este paso también.Para restaurarlo, ejecute este comando:
Desmontar sistemas de archivos,
exit
saliendo 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.conf
hoy en día es administrado porresolvconf
, se generará automáticamente al usar NetworkManager y se puede eliminar de forma segura usandorm /etc/resolv.conf
como 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/hosts
y eliminarías/sbin/initctl
? Está ahí por una razón./sbin/initctl
odbus-uuidgen
odpkg-divert
. Es posible que deba reemplazarlo/etc/hosts
para 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-initramfs
ni siquieraupdate-grub
después de instalar el núcleo.linux-image-2.6.32-26-generic
no 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-generic
desde un CD en vivo. Instaló 150 MB de kernel nuevo, pero lamentablemente eso no resolvió el problema.Afortunadamente, encontré esta página . La
Boot-Repair
herramienta 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.conf
antes 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