Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Técnica > FAQs, Manuales y Tutoriales


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

"Micro-manual" de grub -bueno, ni eso
  #1  
Antiguo 02-abr-2007, 16:13
Avatar de karlggest
karlggest karlggest está desconectado
Moderador
 
Fecha de Ingreso: 07-febrero-2007
Ubicación: Ourense
Versión: Leap 42.3
Mensajes: 8.220
Agradecimientos: 42
Agradecido 1.262 Veces en 930 Mensajes
Poder de Credibilidad: 19
karlggest está en el buen camino
"Micro-manual" de grub -bueno, ni eso

A mayor número de comentarios, críticas, mejoras y correcciones, más útil será este documento...

ANTECEDENTES:
En el empleo diario de sistemas operativos, buena parte de las funciones que se desarrollan se "enmascaran" en el sistema gráfico. Un usuario puede copiar una carpeta dentro de otra sin preocuparse de detalles como si es una copia recursiva o no, si se actualiza el valor de los enlaces y muchas otras cosas que sí son relevantes en el modo texto. Puede generalizarse esto hasta concluir que el sistema gráfico permite hacer más fácilmente tareas sencillas y bien definidas y el modo texto permite hacer de forma simple (que no siempre fácil) tareas muy complejas pero más puntuales.
En otro hilo se trata de un no error en la actualización del núcleo de SUSE 10.2, al sustituir las entradas de la lista del grub y eliminar la entrada "failsafe" o modo seguro... Estas soluciones implicaban el inicio de un disco de arranque (bien un disquete al uso, el modo de emergencia o un "live CD") como estrategias conducentes a la recomposición del archivo de la lista de sistemas del grub.
Después de instalar la versión X86_64 del sistema en otra partición y de hacer dos millones de cambios en este sistema, el grub no fue capaz de iniciar el sistema (no cargaba correctamente), lo que hizo que decidiese probar el "disco de emergencia" para reinstalar el grub. Tiempo después recordé que existe un COMO del grub (aunque no lo tengo por ahí). Desazonado comprobé que mi documentación está en inglés.
Es muy posible que los usuarios más avanzados de Linux en el foro den esto tan por sabido que se "olviden" que los usuarios noveles es muy posible que no lo sepan.

INTRODUCCIÓN AL GRUB:
El modo gráfico por defecto del grub que hoy se suele utilizar puede hacer pasar desapercibida la característica fundamental del grub. Al arrancar el sistema nos encontramos con una pantalla que a aquellos que hayan probado el lilo les será familiar: un menú con varias opciones para iniciar distintos sistemas, y la posibilidad de pasar parámetros al kernel mediante una línea.

Pero GRUB no se hizo como clon de LILO. Grub pretende ser un United Bootloader (como sus siglas indican): un Cargador de Inicio Unificado. Para ello provée de un modo comando propio bastante similar al bash. Naturalmente, sólo incluye unos pocos comandos, suficientes para iniciar sistemas de arranque.

Entre las características que se pueden enumerar someramente de este modo comando están:
*Asistente de escritura con auto-completado: la tecla TAB completa el comando o muestra una lista de alternativas (incluyendo listar directorios)
*Acceso transparente a particiones de disco. Puede listar archivos y mostrar el contenido de archivos de texto.

Entre las características del modo menú:
*Posibilidad de edición de menú: se puede crear un nuevo menú, modificar las opciones existentes. Si se hace esto, los cambios NO se actualizan en el fichero menu.lst.

ACCESO AL MODO TEXTO:
Para conmutar (cambiar) de modo texto a modo gráfico se presiona la tecla escape ESC.

Si se pulsa la tecla c se pasa al modo comando, el cual no es muy distinto al bash. pulsando TAB sin escribir nada se puede acceder a una lista de comandos del grub. Entre ellos figuran install (para instalar/reinstalar grub), cat y otros. Pulsando ESC se vuelve al modo menú (en modo texto).

Puede parecer absurdo, pero no probé si es posible volver al modo gráfico, ya que el menú en modo texto y el de modo gráfico son el mismo: se selecciona y se pulsa intro.

1. EL PROCESO BÁSICO DE ARRANQUE DE UN SISTEMA OPERATIVO

Un sistema operativo se "carga" (el sistema, al menos el núcleo y las principales utilidades deben permanecer en memoria) al iniciarse. Para eso se utiliza algún programa concreto, un cargador de sistema, un sistema de inicio o como se denomine en el sistema operativo concreto. Esta aplicación carga cada parte necesaria del sistema operativo en memoria. En Linux esto se hace con initrd.

La BIOS, previa comprobación del sistema, busca algún programa en el MBR (el Master Boot Record o Registro General de Arranque). Mejor dicho, la BIOS carga cualquier cosa que haya en ese registro. Ese registro tiene una capacidad de unos cuantos KB. En esos cuantos KB puede disponerse una pequeña aplicación que inicie dicha aplicación (en este caso, initrd), que incluye en dónde está (en qué parte del disco, en qué disco, etc.) y algunos parámetros básicos.

Con caracter general, una partición o disco (los discos duros tienen que tener al menos una partición) se dice arrancable si la BIOS es capaz de acceder al primer sector y cargarlo en memoria.

Se distingue así un arranque en tres fases:
*SESIÓN DE BIOS: reconocimiento mínimo del sistema, carga del MBR.
*SESIÓN DE ARRANQUE: la aplicación del MBR inicia el cargador del sistema operativo o bien una partición o disco de arranque que contendrá otro cargador.
*CARGA DEL SISTEMA OPERATIVO: es la etapa conocida como "Inicio del Sistema". Esta última terminología oculta el hecho de que el sistema está iniciado en etapas anteriores. Esta diferencia es baladí en sistemas operativos que "copaban" un computador (tal como MS-DOS y "Windows-DOS", y modernamente el XP). Como el programador "supone" que no hay más sistemas instalados, oculta el arranque del sistema, ya que no tiene sentido (según él) elegir entre sistemas si sólo se tiene uno.

Por ejemplo, el Windows NT tenía que competir en un mercado copado por UNIX, por lo que coherentemente instalaba el "NT BOOTLOADER". En XP Home esta característica está deshabilitada por defecto, pudiendo el usuario habilitarla a conveniencia.

Minix (y con él Linux) se crearon para funcionar dentro de equipos con MS-DOS. Así, la forma de iniciar Linux era:
1. Iniciando una aplicación de MS-DOS que cargaba el initrd: cuando éste tomaba el control, se iniciaba automáticamente el sistema linux.
2. Iniciando un cargador de initrd (como LILO: LInux LOader). Esto podía hacerse mendiante un disquete de arranque específico o instalando LILO (u otro gestor) en el MBR (para instalar LILO había que iniciar un Linux, así que se empleaba o bien la aplicación MS-DOS o bien el disquete).

Los parámetros básicos para iniciar un cargador de sistema son:
1. Qué sistema se inicia: el núcleo.
2. Sistema de carga (en linux, initrd)
3. Situación física del núcleo y del cargador.

Un matiz del inicio en Windows. Windows/DOS utiliza el concepto de "particiones de arranque" desde los tiempos en que las BIOS imponían fuertes restricciones en el tamaño y disposición de los discos. Así, el sistema instala su cargador en el sector de arranque de la partición en dónde instalas Windows. El gestor de arranque sólo tiene que cargar dicho sector...

Otro concepto del arranque de esos sistemas es el de "partición activa", que igualmente que las particiones de arranque se debía a restricciones de BIOS sobre la forma de operar con particiones para que una partición pudiese ser utilizable como partición básica del sistema. El concepto de partición raíz de Linux es una idea similar, con la diferencia básica de que la partición inicial o raíz puede establecerse en tiempo de carga, posibilitando la coexistencia de múltiples sistemas con diferentes "particiones-raíz". En todo caso, un sistema debe tener o partición activa o partición raíz.

2. EL INICIO DEL SISTEMA EN GRUB
El proceso de inicio de un sistema en Grub es:
1. Establecer la partición base. Para sistemas con partición raíz, como Linux, se usa el comando root(disco duro, partición). En sistemas como Windows, primero se indica que no se verifique la partición raíz con rootnoverify(disco duro, partición) y se activa con makeactive.
2a: en linux se indica dónde está el núcleo y el cargador de inicio (que posiblemente no estén en la partición raíz) con las ordenes respectivas kernel dirección_del_kernel opciones e initrd dirección_initrd
2b. en sistemas como Windows pasas el controll al cargador que debe estar en la partición de Windows con chainloader +1 (el +1 indica el número de sectores que debe leer chainloader).
3. iniciar el sistema con boot

En informática es habitual que se comience a contar en 0. Esto puede llevar a confusiones, porque la tabla de particiones comienza en 1. El disco duro se llama hd (hard disk) y no es lo mismo que hda (esto hace referencia a discos IDE). Tanto hda1 como sda1 son la primera partición, partición número CERO para el grub, y se referencian como hd0,0. hd0 indica que es el disco duro número cero (el primero); si hubiese más, serían hd0, hd1, etc.

3. USO DEL MENÚ
Grub permite utilizar un archivo de menú para el inicio de sesiones. Este suele hallarse en /boot/grub/menu.lst

El archivo de menú no es más que un archivo texto (y por tanto visualizable desde la línea de comandos del grub) con una serie de comandos relacionados por un título (comando title).

Por ejemplo, el menú de grub puede contener dos entradas como

title Sistema Chapuza 1.0
root (hd0,2)
kernel (hd0,0)/vmlinuz splash=silent showopts
initrd (hd0,0)/initrd

title Sistema Euros 9999.99
rootnoverify(hd0,1)
makeactive
chainloader +1

Esto sería la descripción de un menú para dos sistemas operativos: el llamado chapuza (sistema como linux) y el sistema Euros (como Windows). Chapuza estaría en la tercera partición (hd0,2), y habría una partición de arranque en la primera (hd0,0), donde se encontrarían el núcleo y el cargador. Es posible que tal sistema debiera contar con un parámetro adicional para el kernel: root=/dev/hda3

Euros estaría en la segunda partición (hd0,1).

Por defecto se iniciaría el primero, pero el archivo no contiene ninguna especificación acerca de arrancar al cabo de un tiempo. Generalmente se especifica
1. el sistema por defecto con default n, donde n es el número de sistema a iniciar (contamos por title). Por ejemplo, para Euros sería default 1 (inicia por defecto el 2º).
2. el tiempo que debe esperarse una selección antes de arrancar la definida por defecto: timeout n, con n como número de segundos de espera.

Las opciones de menú son editables en tiempo de inicio.

MÁS INFORMACIÓN:
man grub da las entradas de manual para grub en cuanto al comando. Para una descripción razonable del uso de grub, ver info grub.
Como dije antes, existe un COMO del grub en castellano, tendría que buscarlo...
Responder Citando
  #2  
Antiguo 08-abr-2007, 13:58
tiocede tiocede está desconectado
Aforado
 
Fecha de Ingreso: 05-febrero-2006
Mensajes: 13
Agradecimientos: 0
Agradecido 0 Veces en 0 Mensajes
Poder de Credibilidad: 0
tiocede está en el buen camino
Tengo un problema con la instalación de SUSE 10.2 y es que no arranca el sistema y tengo que utilizar el DVD para que arranque. Ni siquiera funciona el arranque anunque con el DVD le diga que reparare el gestor de arranque.
He leido tu manual para intentar solucionar el problema; pero no he podido entender nada, soy muy novato.

Te recomiendo karlggest, según tus sugerencias de criticas que esbozas al principio, que edites una versión para "muy, muy" novatos

Saludos
Responder Citando
  #3  
Antiguo 09-abr-2007, 03:05
Avatar de karlggest
karlggest karlggest está desconectado
Moderador
 
Fecha de Ingreso: 07-febrero-2007
Ubicación: Ourense
Versión: Leap 42.3
Mensajes: 8.220
Agradecimientos: 42
Agradecido 1.262 Veces en 930 Mensajes
Poder de Credibilidad: 19
karlggest está en el buen camino
Hola!

El "micro-manual" está orientado a usuarios de Suse que pudieran no conocer esos aspectos del grub. Algunos de estos usuarios pueden conocer mucho más de Suse que yo, no está por tanto orientado a personas sin ningún conocimiento de Linux. De todas formas, aquí se usa mucho la palabra novato, y a mi eso me suena a mili, escuela, y otra serie de cosas desagradables. Todos somos, si quieres usar esa palabra, novatos: el primero que considere que sabe mucho de informática es que no sabe de qué está hablando. Yo prefiero la palabra "aprendiz", es más precisa...

Uno de los aspectos del "micro-manual" es que supone que tienes grub correctamente instalado. Podemos ver un caso típico en la actualización del kernel. Hay que cambiar las opciones del menu.lst, y puede que los cambios se hagan mal, que queramos recuperar el kernel viejo por cualquier cosa (si lo conservamos, cosa que en la actualización no sucede, Ay!) o que queramos simplemente iniciar el que compilamos nosotros.

En tu caso, deberías comprobar que ya está instalado (en el Yast, en el smart o el gestor de paquetes que utilices, o buscándolo en la línea de comandos: suse lo mete en /boot/grub). El Yast y el DVD de arranque pueden "reinstalarlo en el MBR", pero, si eso no funciona, puedes probar a configurarlo a mano.

Lo primero, asegúrate de que el menú de opciones es correcto: que indica que el kernel y el initrd están donde realmente están, que el nombre (fíjate en la versión) es correcto (si utilizas los enlaces vmlinuz e initrd asegúrate de que apuntan a los archivos correctos -basta con ls -l para verlo), que los otros sistemas que tengan también están en el archivo, que esté todo correcto, y entonces "instálalo". Pongo comillas porque quiero resaltar que me refiero a que ejecutes el grub para que se instale en el sector de arranque. Estoy suponiendo que quieres usar grub para iniciar tu sistema suse y cualquier otra cosa que tengas...

Échale un vistazo a esto:
http://laespiral.org/recetas/101-200/receta105.html
Ahí te dirán como instalar el grub en el MBR. No dejes que te confundan. Cuando escribe //, significa que el resto de la línea es un comentario del que escriber el artículo. Y fíjate que él pone SU ruta a los archivos. Asegúrate de que son las mismas, y sinó lo son, cámbialas por las tuyas....

En cuanto al manualillo, no es difícil. No dejes que cuatro términos que aún no has usado con frecuencia hagan que lo parezca. De verdad que es de estas cosas que son fáciles después de que las hayas hecho unas cuantas veces...

Por ejemplo, si tuviese que iniciar mi suse:

ESCAPE // pasa a modo texto
c // pasa a modo consola
root (hd0,0) // fija la partición número 1 del único disco que tengo como partición raíz.
kernel (hd0,0)/boot/vmlinuz root=/dev/hda1 // (hd0,0) lo pongo por costumbre; puediera ser que el núcleo (todo el sistema de arranque) estuviera en otra partición. Versiones de Suse anteriores creaban una partición por defecto para el arranque, por determinadas limitaciones de la BIOS. Le añado algún parámetro de arranque...
initrd (hd0,0)/boot/initrd // por lo mismo
boot

Luego, arreglaría el archivo de menu.lst y haría lo que dice el artículo: grub, luego setup y ¡ya está!

Y, finalmente, sí estoy preparando una serie de articulillos (en el mismo plan) enfocados en los usuarios con menos conocimientos, que iré publicando a medida que tenga redactados y siempre con el visto bueno de la comunidad (o al menos, de los administradores)...

Espero que esto te ayudase más que el manualillo...
Responder Citando
  #4  
Antiguo 28-jul-2007, 20:44
Avatar de darkskimmer
darkskimmer darkskimmer está desconectado
Miembro FOROSuSE
 
Fecha de Ingreso: 07-julio-2006
Ubicación: Málaga...por poco tiempo!!
Versión: 11.1
Mensajes: 2.151
Agradecimientos: 0
Agradecido 5 Veces en 5 Mensajes
Poder de Credibilidad: 14
darkskimmer está en el buen camino
Acabo de leer el manual y he de decir que esta muy bien karlggest!

Me has resuelto un par de dudas sobre como se nombraban los HD's en el GRUB!

Saludos!
__________________

How-to VirtualBox <~ Guía sobre VirtualBox
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Ayuda con GRUB: Instalación hela Instalación y Actualizaciones 1 16-mar-2007 02:03
Grabe problema con Grub... faco84 Instalación y Actualizaciones 7 10-mar-2007 18:29
Porque Grub ?? ketamikih General OpenSUSE 1 02-nov-2006 14:07
GRUB & LILO en SuSE 10.0 Krosher Instalación y Actualizaciones 8 16-sep-2006 19:05
Que Susto!! Pero que Bueno el SUSE Goltnor La cafetería 7 19-mar-2005 11:18



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 18:57.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba