Dos cosas son infinitas: el universo y la estupidez humana "Albert Einstein"

Bueno saludos seguro alguna vez pasaron por este error en alguna distribución linux,  hmm sin embargo este error pudiésemos hecharselo a nuestros dispositivos de almacenamientos ides ha ha ha, lo cierto es que se considera como un fallo de lectura de los controladores ide de discos duros donde el kernel del sistema operativo en este caso Linux Ubuntu no logra reconocer dichos drivers:

Error: BusyBox v1.1.3 (Debian 1:1.1.3-5ubuntu7) Built-in Shell (ash)

BusyBox v1.1.3 (Debian 1:1.1.3-5ubuntu7) Built-in Shell (ash)
Enter «help» for a list of built-in commands
(initramfs)

en alguna distro que usen, bien sea ubuntu…Aquí explicaré un poco el origen de este fallo, causas, síntomas y consecuencias y su posible solución.

No sin antes conocer como se produce la carga de un sistema operativo…

¿ Cómo se lleva a cabo el proceso de arranque en un Sistema Linux ?


Este proceso se lleva a cabo cuando los sistemas operativos Linux se inicializan.  La mayoría de los procesos de inicio se dan en 4 etapas dichas cuales serán reconocidas por el código que tiene el control sobre la CPU.

initramfs-error1

Al inicio solo el BIOS tiene todo el control,  luego será el Cargador de Arranque y después lo tendrá el Kernel de Linux siendo esta la última etapa donde se tendrán en memoria los programas del usuario.

El proceso init establece el ambiente del usuario. Verifica y monta los sistemas de archivos, inicia servicios de usuario necesarios y cambia a un ambiente basado en usuario cuando el proceso de inicio termina.

La etapa del cargador de arranque no es totalmente necesaria, un determinado BIOS puede cargar y pasar el control a Linux sin hacer uso del cargador de arranque, usar un cargador de arranque facilita al usuario la forma en que el kernel será cargado.

¿ Qué es un Cargador de arranque ?


Un cargador de arranque en inglés bootloader es un  sencillo programa  que con sólo parte de las funciones de un sistemas operativos es capaz de preparar todas las configuraciones necesarioas para que dicho sistema pueda funcionar. Generalmente  se usan  cargadores de arranque multietapas, en donde varios programas pequeños se entremezclan logrando así que el último de ellos cargue el  sistema operativo.

Actualmente  el proceso de arranque comienza en el CPU ejecutando los programas contenidos en la memoria ROM en una dirección predefinida configurando asi a ésta para ejecutar el cargador de arranque  sin ninguna ayuda cuando prendemos el computador.

Cargadores de arranque en Linux:

Cargador de arranque GRUB


etapas:

  1. La primera etapa del cargador la lee el BIOS desde el MBR.
  2. La primera etapa carga el resto del cargador (segunda etapa). Si la segunda etapa está en un dispositivo grande, se carga una etapa intermedia (llamada etapa 1.5), la cual contiene código extra que permite leer cilíndros mayores que 1024 o dispositivos tipo LBA.
  3. La segunda etapa ejecuta el cargador y muestra el menú de inicio de GRUB. Aquí se permite elegir un sistema operativo junto con parámetros del sistema.
  4. Cuando se elige un sistema operativo, se carga en memoria y se pasa el control.

grub-y-lilo

GRUB tambien llamado gestor de arranque,  puede soportar  métodos de arranque directo, arranque chain-loading, LBA, ext2 y hasta «un pre sistema operativo totalmente basado en comandos». Posee tres interfaces: un menú de selección, un editor de configuración y una consola de línea de comandos.

Cargador de Arranque LILO


LILO es más antiguo, es casi idéntico a GRUB en su proceso, excepto que no contiene una interfaz de línea de comandos. Por lo tanto todos los cambios en su configuración deben ser escritos en el MBR, y reiniciar el sistema. Un error en la configuración puede arruinar el proceso de arranque a tal grado de que sea necesario usar otro dispositivo que contenga un programa que sea capaz de arreglar ese defecto.

De forma adicional, LILO no entiende sistema de archivos, por lo tanto no hay archivos y todo se almacena en el MBR directamente.

Cuando el usuario selecciona una opción del menú de carga de LILO, dependiendo de la respuesta, carga los 512 bytes del MBR para sistemas como Microsoft Windows, o la imagen del kernel para Linux.


¿ Qué es el shell Initramfs ?


El initramfs es un sistema  de inicio en los OS  Linux que carga  el código necesario para preparar el arranque del sistema. La mayoría de las distro Linux traen una única  imagen genérica del núcleo encargada de  arrancar en la mayor variedad posible el hardware.

El shell Initramfs es una cónsola de comandos donde se puede revertir dicho error con las sentencias correctas, ademas se puede el usuario que conozca bien su estructura podría identificar rápidamente este fallo.

El sistema de archivos   initramfs debe su nombre al sistema de archivos RAMFS .  Actualmente los usuarios pueden elegir qué sistema de archivos dinámico en RAM utilizar.   Una ventaja del sistema Initramfs es que puede ser editado fácilmente sin privilegios de administrador.

¿ Qué es MBR ?

El Master Boot Record (MBR) es un pequeño programa que es ejecutado en cada Inicio del sistema operativo y se encuentra ubicado en el primer sector absoluto (Track 0, head 0, sector 1) del disco duro en una PC y que busca la Tabla de Particiones para transferirla al Sector de Arranque (Boot).

master-boot-record

El  MBR hace referencia  al sector de arranque de 512 bytes sin embargo también puede direccionar al  partition sector de alguna partición que sea compatible con ordenadores  IBM. Este tipo de  MBR es muy usado siendo incorporado en otros tipos de ordenadores y en estándares nuevos multi-plataforma para el particionado y el arranque.

En el  arranque de Sistemas operativos bootstrap () tiene el fuerte de su utilización. También sirve para almacenar una tabla de particiones y para reconocer  dispositivos  de disco individual.

estructura-del-mbr

Eel código del MBR está compuesto de instrucciones de lenguaje máquina en modo real. Donde el código se transfiere el  control a través del  chain loading al volume boot record de la partición (primaria) activa.

Nota:   el Master Boot Record, como otros sectores de arranque, es un blanco para los virus que infectan el sector de arranque.

Hacer un Back up del MBR en Linux

Para hacer la copia de seguridad (backup):

dd if=/dev/xxx of=mbr.backup bs=512 count=1

Para restaurarlo:


dd if=mbr.backup of=/dev/xxx bs=512 count=1

Donde xxx es el dispositivo, que puede ser hda, sda, o cualquier otro.

Al hacer una  copia de seguridad del MBR, es muy necesario copiar los primeros 63 sectores del disco ( primer cilindro del disco ) y no sólo el primero, ya que nuestro sistema podría tener implementado el sistema GUID, el cual utiliza más sectores para guardar la información sobre las particiones del disco duro.

La instrucción sería:

 dd if=/dev/xxx of=mbr_63.backup bs=512 count=63 

Si quieres borrarlo, ya que  si no tenemos una copia de seguridad pero queremos borrar  la información de este sector, debemos  poner los 512 bytes a cero:

dd if=/dev/zero of=/dev/xxx bs=512 count=1


¿ Qué es el Initrd ?


El Initrd es un sistema de archivos temporal que se usa en los núcleos Linux conocido también como disco RAM.  Se usa generalmente para hacer las configuraciones necesarias previas al montaje que el sistema de archivos raiz ejecutará.

initrd-imagen-de-inicio

En un sistema Initrd todos los archivos que serán accedidos por el núcleo en el arranque ( inicio del sistema) se guardarán en un disco RAM, el cual se encuentra en un sistema de archivos encima de un archivo montado como un dispositivo bucle ( equivalente a un disquette 1,4 MB ),  la ruta de esta imagen de dicho disco se pasa al núcleo ( kernel ) durante la carga por el cargador de arranque ( LILO o GRUB ).


¿  Causas y síntomas del fallo en Initramfs ?


  • fallo  al cargar un módulo initramfs llamado piix.
  • es un fallo que impide cargar correctamente el kernel a algunos discos duros IDE antiguos.
  • Al iniciar el sistema operativo linux el splash se tarda mucho y luego nos lanza a una cónsola con las siglas Initramafs.
  • Es un fallo que ocurre en la lectura de las particiones donde está instalado el sistema linux debido a una carga errónea del kernel o mejor aun a la no carga de los controladores de dicho sistema para que pueda iniciarse.

error-en-initramfs2

¿ Cómo solucionar el fallo Initramfs en ubuntu ?


Solución A: «Editando el Grub con el live CD teniendo permisos de Root»


Al iniciar su LIVECD luego de seleccionar la opción de booteo con dicho CD/DVD de «Probar Ubuntu sin alterar el sistema» abren una cónsola con permisos de root ( administrador ) y acceden a esta ruta «/boot/grub/menu.lst «. Una vez ahí bajamos hasta las líneas donde está cargado nuestro Kernel LInux sería algo como esto: Kernel / boot/ vmlinuz-2.6.XX-X.   vemos que al final de la línea diga  «ro quiet splash» y colocamos la sentencia «pci=nomsi «.

Guardamos y reiniciamos el OS….Importante hacer un respaldo del archivo en cuestion.


Solución B: «Editando el Grub con el live CD teniendo permisos de Root»

De igual manera iniciamos con el LIVECD de su distro y al cargarse esta accedemos al archivo «menu.lst» en la carpeta GRUB con permisos de superusuario y editando las líneas donde se cargan los kernel de Linux agregamos la linea «all_generic_ide» al final de las líneas que dicen «ro quiet splash» generalmente Linux carga 4 módulos de Kernel:  los modos recovery y los kernels versiones. Este cambio se hace en los modos no recovery como en la foto siguiente verán…

En las siguientes imágenes explico mejor como deben hacer la edición del archivo del GRUB:

abrimos una cónsola e iniciamos Nautilus en modo root

initrmafs

Introducimos la contraseña del superusuario

initramfs2

Nos vamos a la ruta donde se encuentra el archivo «menu.lst»

initramfs3

Abrimos el archivo menu.lst y bajamos a las siguientes líneas de nuestro kernel

initramfs4

Colocamos al fina la siguiente sentencia:   «all generic_ide»

initramfs5

y reinician su sistema y ya debería terminar la carga de los controladores de sus dispositivos IDE.

Solución C: «Usando el shell initramfs y el LIVECD»


Paso 1: Ejecutar Live cd

Paso 2: Presionar F6 y añadir tras los » — »

break=top

Paso 3:  tecleamos lo siguiente en la cónsola de initramfs

modprobe ide_generic
modprobe ide_cd
modprobe ide_disk
modprobe piix
exit

Paso 4: Con el LiveCd instalamos o iniciamos ubuntu con las opciones que queramos.

Paso 5: Hacemos un reboot ( reinicio ) del sistema

Paso 6: Llegamos al gestor de arranque GRUB nos situamos en la linea de kernel que usariamos para arrancar y presionamos » e «, nos situamos en la linea de kernel vamos al final de la linea y añadimos all_generic_ide.

Nota: es importante editar el archivo menu.lst para no tener que repetir estos pasos en caso que el error sea recurrente.


Enlaces relacionados:

Error initramfs

Error initramfs

Error initramfs


23 respuestas a “Error con Initramfs Ubuntu 8.04”

  1. Hola, yo tengo el problema de initramfs y he seguido los pasos que me dices pero con el disco live no puedo acceder a “/boot/grub/menu.lst»

    1. debes iniciar como root para que puedas acceder

  2. Muchas gracias por la ayuda me sirvio para conocer un poco más de lo complejo que es linux aunque la solución la encontre de otra forma y aqui te la doy:
    Paso 1. Insertar un disco de mandriva PWP 2007
    Paso 2. Seleccionar la opcion rescatar sistema
    Paso 3. Seleccionar instalar drivers
    Paos 4. Reiniciar
    Paso 5. Comenzar la instalacion de Mandriva PWP 07
    Paso 6. Al llegar al particionado de discos reiniciar nuevamente y listo.

    1. A otra forma más de solucionar este fallo saludos

  3. Gracias. Funcionó al pelo.

  4. Muy buena informacion m ayudo a instalar a la perfeccion el ubuntu 8.04 jajajajaja.

    Saludos!!!

    Buen trabajo

    1. Siempre a la orden saludos

  5. borre el grub pero no puedo restaurar por favor ayuden sip

  6. te dejo mi correo pero no manches???
    bradysam@hotmail.com
    las 12 horas del dia

  7. Hola!!! Tengo ese mismo error, pero uso Debian y no tengo LiveCD de esa distro, ¿qué puedo hacer en ese caso? Saludos 🙂

  8. tengo un disco sata (donde tengo el sistema operativo ubuntus 10.04) y conecto un ide esclavo al iniciar me corre el error initramfs pero no tengo el sistema en ese disco ¿por que me afecta al arranque? y ¿como lo soluciono?

    probare esta soluciones y comentaré

  9. Error Initramfs (solucionado)

    Hola, aqui otra forma, resultó que, después de reiniciar el PC me salió la pantalla negra con el fatídico error:

    BusyBox v1.1.3 (Debian 1:.1.3-3-ubuntu3) Built-in shell (ash)
    Enter ‘help’ for a list of built-in commands.
    /bin/sh: can´t access tty; job control turned off

    (initramfs)

    Estuve buscando pero hay muy pocas soluciones para ese error, aprovecho para compartir como lo solucione:

    -> insertar el Live CD -> escoger la opción «Probar ubuntu sin alterar su equipo»
    > una vez ya en la pantalla de Gnome -> Preferencias -> Añadir software y descargamos Gparted
    -> Abrimos Sistema -> Gparted -> Check, eso examina y repara el error, una vez finalizado el chequeo reiniciar, retirando el Live CD y el sistema vuelve a funcionar con total normalidad, así de fácil.

    Saludos y Que tengáis suerte!
    Eduardo Natali
    fuente:http://www.ubuntu-es.org/node/126191
    http://ubuntuforums.org/showthread.php?p=9591402#post9591402

    1. Gracias el aporte, ya me habia pasado ese problema en otras oportunidades y siempre terminaba reinstalando el sistema operativo (Ubuntu instalado en disco externo USB 40 GB), la solución con «Gparted» fue muy efectiva.

      Gabriel

    2. Hola, acabo de probar tu consejo en mi Ubuntu10.04 que venía fallando frecuentemente y funcionó a la primera.
      Debo aclarar que soy muy principiante, jeje.
      Muchísimas gracias.

  10. Solucionado initramfs: Ya me paso dos veces lo de la pantalla negra en la que me pone initramfs, lo solucioné iniciando con un cd de windows cuando se cargo y te da para crear las particiones solamente apague la maquina , saque el cd y listo.
    Cuando arranque nuevamente magicamente aparecio mi ubuntu, seria bueno que alguien con mas conocimientos explique la razon de esta solucion un poco rebuscada, pero en 2 ocaciones me dio resultado.

  11. Hola a todos, a mi tambien me pasaba y he probado todo lo que pone en esta pagina y en mi caso no ha funcionado.
    Pero al final he conseguido solucionarlo simplemente cambiando una opcion de la bios en la que ponia que el sistema por defecto para iniciar era «windows», la he cambiado por «others» y ya inicia perfectamente. Espero que les sirva. Un saludo

  12. la verdad sin disco a la mano lo que hice fue reinstalar el grub

    ~$ sudo apt-get install grub

    actualizamos

    ~$ sudo aptitude update

    ~$ sudo update grub

    a mi asi me funciono

  13. Muchas gracias por la información, pero eh probado todo y no me funciono :S, pero a un así es muy buena información muy bien explicada!!!

  14. No tengo el Cd y no puedo entonces arrancarlo de alguna otra forma??

    1. yo tampoco tengo disco, tengo usb, pero no me lo lee . mi busibo es v1.18.4
      porfa vor si me da n una manito q estoy ya desauciado con esto
      gracias

  15. In order to beat the crowds, secure the deals and ensure that you don’t have disappointed children on Christmas morning you better start your Christmas shopping early. It has light and sound effects and can transform to a robot or a vehicle. (Hannah Montana, High School Musical).

  16. Hola, tengo éste problema y no puedo solucionarlo, no carga los live cd ni el de windows, por mas que trato cambiando las opciones de booteo, no inicia y se va directo al grub, no puedo iniciar ni con el recovery mode, tengo debian en modo texto con apache funcionando, tengo una pagina web muy importante y ahora no puedo recuperarla, por lo menos en el mismo servidor.

Deja un comentario