GRUB

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
(enlaces internos y externos)
 
(No se muestran 18 ediciones intermedias realizadas por 5 usuarios)
Línea 1: Línea 1:
== Qué es GRUB ==
+
{{wikificar}}
GRUB es un [[w:arranque|gestor de arranque]], es lo primero que se carga cuando la computadora se inicia. Te permite tener diferentes [[w:sistema operativo|sistemas operativos]], y diferentes versiones de ellos, en el mismo disco duro. Por ejemplo puede tener Windows y Linux en la misma computadora, GRUB se cargara antes que cualquiera de éstos permitiéndote elegir. Puedes también crear un disquete de arranque con GRUB en caso de emergencia.
+
{{software
 +
| nombre = GRUB
 +
| desarrollador = [[w:GNU|Proyecto GNU]]
 +
| versión_estable = 1.96
 +
| fecha_versión_estable = 3 de febrero de 2008
 +
| género = [[:Categoría:Gestores de arranque|Gestor de arranque]]
 +
| licencia = [[w:software libre|libre]] ([[w:GNU GPL|GPL]])
 +
| español = No
 +
| web = [http://www.gnu.org/software/grub/ www.gnu.org/software/grub]
 +
}}
  
 +
'''GRUB''' o '''GRUB2''' ('''''GR'''and '''U'''nified '''B'''ootloader'') es un [[w:arranque|gestor de arranque]], su función principal es la de administrar el arranque de distintos sistemas operativos, ya sean distribuciones GNU/Linux u otros sistemas operativos como Microsoft Windows. GRUB permite el arranque de distintos sistemas operativos ya difieran en su plataforma o sólo en su versión en uno o más discos duros. El modo de interactuar con GRUB es mediante un menú en donde el usuario elige el sistema operativo a arrancar entre los que tiene instalados.
  
== Información Básica para Novatos ==
+
GRUB2
  
Si necesitas ingresar al menú de GRUB tendrás que presionar ESC justo después de que inicie. Por omisión debes de presionar ESC muy rápido. Para incrementar este contador edita: /boot/grub/menu.lst, incrementando los segundos en la parte TIMEOUT. De manera alternativa podrías tener el menú siempre al momento de arrancar. Para hacer ésto descomenta 'hiddenmenu' insertando una # al inicio de la línea. Una vez cambiado el menu.lst debes ejecutar:
+
<div style="clear: right; float: right; display: table;">__TOC__</div>
  sudo update-grub
+
Nótese que si el instalador Ubuntu detectó otros sistemas operativos en el disco durante la instalación, entonces el menú de GRUB será desplegado por omisión y el contador se verá incrementado, de ser así el paso de arriba no será necesario.
+
  
== Modificar las opciones de inicio en en GRUB ==
+
== Arranque por defecto en Ubuntu ==
  
Después de presionar 'ESC' se te presentará una lista de los [[kernel|kernels]] y sistemas operativos que puedes iniciar. Para modificar las opciones de inicio situate en el sistema operativo que quieras editar y presiona 'e'. En ese momento se te mostrarán una lineas que empiezan por 'root', 'kernel', 'initrd', 'quiet' y 'savedefault'. Para un proceso de arranque más prolijo puedes eliminar la línea de 'quiet' poniéndote encima y presionando 'd' para borrar la línea. Necesitarás también ponerte sobre la línea 'kernel' y presionar 'e' para editar y eliminar la palabra  'splash' del final de la línea. Después de hacer las modificaciones necesarias puedes presionar 'b' para iniciar ese sistema operativo. Estas modificaciones no persistirán en los siguientes inicios.
+
Cuando se instala Ubuntu como único sistema operativo, GRUB hace el arranque del sistema directamente sin mostrar el menú, para acceder al menú de grub, ya sea para entrar al modo de recuperación o hacer un chequeo de la memoria RAM con Memtest, se presiona la tecla '''Mayús''' o '''Shift'''.  
  
Nota: si el instalador de Ubuntu detecta otros sistemas operativos en el disco durante la instalación,  entonces el menú de grub los mostrará por defecto y el timeout aumentará, así que el paso anterior sería innecesario.
 
  
== Lista de Kernels Automagica ==
 
  
Ubuntu usa una herramienta llamada <tt>update-grub</tt> para modificar el <tt>menu.lst</tt>. Ésta detecta automáticamente todos los kernels que tienes en el directorio <tt>/boot</tt>, y aplica varias configuraciones globales a cada uno.  Siempre que instalas actualizaciones de kernel desde los [[repositorios]], <tt>update-grub</tt> se ejecuta para actualizar la configuración de grub.
+
== Modificar las opciones de inicio ==
  
Las partes relevantes de <tt>menu.lst</tt> que <tt>update-grub</tt> mira son las que estan entre las líneas  "### BEGIN AUTOMAGIC KERNELS LIST" y "### END DEBIAN AUTOMAGIC KERNELS LIST". Los comentarios están precedidos por al menos dos '#', por ejemplo '## esto es un comentario'. Las opciones globales están después de una única almoadilla '#', por ejemplo. '# groot=(hd0,4)'.  La más común para cambiar es probablemente la opción. Cámbiala si <tt>/boot</tt> está en una partición diferente a {{{/}}}. Consulta la sección apropiada en esta página para más información sobre las diferentes particiones de <tt>/boot</tt>. Otra opción común es 'kopt=', que son las opciones de kernel aplicadas a todos los kernels en el <tt>menu.lst</tt>.
+
Para modificar distintas opciones de inicio de GRUB, es necesario editar un archivo de texto plano que se ubica en '''/etc/default/''', la edición se puede hacer de 2 maneras; ya sea de manera gráfica usando '''gedit''' o desde la línea de comandos usando '''nano''' o usando el editor de preferencia ya sea uno gráfico o basado en la línea de comandos.
 +
 
 +
Si se desea editar el archivo desde el editor gráfico se presiona Alt + F2 y se escribe:
 +
 
 +
<pre>gksudo gedit /etc/default/grub</pre>
 +
 
 +
Si se desea editar el archivo desde un editor en la línea de comandos, se abre '''Terminal''' o el emulador de línea de comandos de su preferencia y se escribe:
 +
 
 +
<pre>sudo nano /etc/default/grub</pre>
 +
 
 +
=== Modificar tiempo de Espera ===
 +
 
 +
El tiempo de espera es el tiempo que GRUB espera antes de arrancar el sistema operativo que tiene configurado por defecto, y en este tiempo es donde muestra el menú en donde se elige qué arrancar.
 +
 
 +
Para cambiar el tiempo de espera, se edita la siguiente línea:
 +
 
 +
<pre>GRUB_TIMEOUT=0</pre>
 +
 
 +
En donde se modifica el '''0''' por el número de segundos que sea necesario mostrar el menú.
 +
 
 +
=== Cambiar la resolución del menú ===
 +
 
 +
Si se desea, se puede cambiar la resolución del menú de GRUB, editando el archivo '''/etc/default/grub''' y modificando la línea:
 +
 
 +
<pre>GRUB_GFXMODE=1280x1024</pre>
 +
 
 +
En donde se modifica la resolución deseada ya sea la de '''640x480''' o la de '''1024x728''', según las capacidades de framebuffer de la tarjeta gráfica.
 +
 
 +
=== Agregar entradas al menú ===
 +
 
 +
Las entradas de menú, pueden ser agregadas de 2 maneras; ya sea de forma automática o de forma manual.
 +
 
 +
==== Forma automática ====
 +
 
 +
Una manera simple de agregar entradas al menú de grub es dejando que el sistema haga las cosas de manera automática, esto se hace con <code>sudo update-grub</code> o <code>sudo update-grub2</code>; GRUB lee principalmente 2 archivos en el directorio /etc/grub.d/;
 +
 
 +
* '''10_linux''' este archivo se encarga de crear las entradas del sistema operativo en la partición actual.
 +
* '''30_os-prober''' este archivo se encarga de detectar y crear las entradas de los sistemas operativos en otras particiones o discos duros.
 +
 
 +
==== Forma manual ====
 +
 
 +
Si por alguna razón, ya sea alguna incompatibilidad del sistema operativo con GRUB 2 u otra, el comando <code>update-grub</code> no fue capaz de crear la entrada para el sistema operativo en cuestión, entonces llega el momento de crear la entrada de menú de manera manual, pero las razones pueden ser otras a parte de una incompatibilidad.
 +
 
 +
Para ello es preciso abrir el archivo '''40_custom''' de la manera siguiente:
 +
 
 +
<pre>gksudo gedit /etc/grub.d/40_custom</pre>
 +
 
 +
== Lista de kernels automágica ==
 +
 
 +
Ubuntu usa una herramienta llamada <code>update-grub</code> para modificar el <code>menu.lst</code>. Ésta detecta automáticamente todos los kernels que tienes en el directorio <code>/boot/</code>, y aplica varias configuraciones globales a cada uno. Siempre que instalas actualizaciones de kernel desde los [[repositorios]], <code>update-grub</code> se ejecuta para actualizar la configuración de grub.
 +
 
 +
Las partes relevantes de <code>menu.lst</code> que <code>update-grub</code> mira son las que están entre las líneas:
 +
  ### BEGIN AUTOMAGIC KERNELS LIST"
 +
y:
 +
### END DEBIAN AUTOMAGIC KERNELS LIST
 +
Los comentarios están precedidos por al menos dos '#', por ejemplo:
 +
## esto es un comentario
 +
Las opciones globales están después de una única almohadilla '#', por ejemplo:
 +
# groot=(hd0,4)
 +
La más común para cambiar es probablemente la opción. Cámbiala si <code>/boot</code> está en una partición diferente a <code>/</code>. Consulta la sección apropiada en esta página para más información sobre las diferentes particiones de <code>/boot</code>. Otra opción común es 'kopt=', que son las opciones de kernel aplicadas a todos los kernels en el <code>menu.lst</code>.
  
 
== Configuración de parámetros de kernel ==
 
== Configuración de parámetros de kernel ==
  
En `/boot/grub/menu.lst`, encontrarás una línea como esta:  
+
En <code>/boot/grub/menu.lst</code>, encontrarás una línea como esta:  
  
 
   # kopt=root=/dev/sda1 ro
 
   # kopt=root=/dev/sda1 ro
  
 +
Aparece como comentada, pero no elimines la almohadilla '# ' al inicio.
  
Aparece como comentada, pero no elimines la almoadilla '# ' al inicio. /!\  ESTO ES IMPORTANTE: <tt>grub</tt> ve esta línea como comentada u la ignora, pero se usa como un parametro de configuración de <tt>update-grub</tt> para general los contenidos del fichero que <tt>grub</tt> lee al inicio.
+
{{advertencia|ESTO ES IMPORTANTE: <code>grub</code> ve esta línea como comentada y la ignora, pero se usa como un parámetro de configuración de <code>update-grub</code> para generar los contenidos del fichero que <tt>grub</tt> lee al inicio.}}
  
SI necesitas parametros de kernel adicionales (por ejemplo, si alguien te pide que testees el inicio con ciertos parametros para solucionar algún problema), añadelos ak final de la línea, por ejemplo, para añadir `noapic`:  
+
Si necesitas parámetros de kernel adicionales (por ejemplo, si alguien te pide que testees el inicio con ciertos parámetros para solucionar algún problema), añádelos al final de la línea, por ejemplo, para añadir ''noapic'':  
 
    
 
    
 
   # kopt=root=/dev/sda1 ro noapic
 
   # kopt=root=/dev/sda1 ro noapic
Línea 38: Línea 104:
 
   sudo update-grub
 
   sudo update-grub
  
 +
Puedes añadir temporalmente al kernel parámetros en el inicio de menú grub, presionando 'e' y editando la línea del kernel.
  
Puedes añadir temporalmente al kernel parámetros en el inicio de menú grub, presionando 'e ' y editando la línea del kernel.
+
== /boot en otra partición ==
  
 
+
Si <code>/boot/</code> está montado en otra partición y utilizas <code>update-grub</code>, entonces puedes tener problemas. Una solución es usar <code>grub-install</code>, que es una manera de instalar el cargador de inicio <code>grub</code> en un sector de inicio que no depende de ninguna distribución.
== Si /boot está en otra partición ==
+
 
+
Si <tt>/boot</tt> está montado en otra partición y utilizas <tt>update-grub</tt>, entonces puedes tener problemas. Una solución es usar <tt>grub-install</tt>, que es una manera de instalar el cargador de inicio <tt>grub</tt> en un sector de inicio que no depende de ninguna distribución.
+
  
 
   sudo grub-install --root-directory=/boot /dev/sda
 
   sudo grub-install --root-directory=/boot /dev/sda
  
Esto es probablemente menos deseable porque <tt>update-grub</tt> es muy bueno configurando las cosas correctamente, por lo tanto debería usarse en vez de éste.
+
Esto es probablemente menos deseable porque <code>update-grub</code> es muy bueno configurando las cosas correctamente, por lo tanto debería usarse en vez de éste.
  
Otra solución es crear un symlink en <tt>/boot</tt> el mismo:
+
Otra solución es crear un enlace simbólico en <code>/boot</code> al mismo:
  
 
   cd /boot
 
   cd /boot
 
   sudo ln -s . boot
 
   sudo ln -s . boot
El razonamientro detrás de esto es que cuando el grub inicia, busca en qué partición está instalado.  <tt>update-grub</tt> (y <tt>grub-install</tt>) asumen que todo está en <tt>/boot</tt>.  Cuando <tt>/boot</tt> está en la misma partición que <tt>/<tt> todo finciona bien ya que <tt>menu.lst</tt> estará en <tt>/boot/grub</tt>. Si <tt>/boot</tt> está en una partición separada, entonces grub ve <tt>/boot</tt> como <tt>/</tt> (de ahi el '--root-directory' de arriba).  Añadiendo un symlink, cuando busque por <tt>/boot/grub</tt>, este estará ahí.  Creando el symlink, has puesto un loop en el sistema de ficheros, que puede causar problemas con  ciertas opciones de <tt>cp</tt>, <tt>mv</tt>, etc.
 
  
== Cambiar el Disco donde está instalado Grub ==
+
El razonamiento detrás de esto es que cuando el grub inicia, busca en qué partición está instalado. <code>update-grub</code> (y <code>grub-install</code>) asumen que todo está en <code>/boot/</code>. Cuando <code>/boot</code> está en la misma partición que <code>/</code> todo funciona bien ya que <code>menu.lst</code> estará en <code>/boot/grub/</code>. Si <code>/boot</code> está en una partición separada, entonces grub ve <code>/boot</code> como <code>/</code> (de ahí el ''--root-directory'' de arriba). Añadiendo un enlace simbólico, cuando busque por <code>/boot/grub</code>, éste estará ahí. Creando el enlace simbólico, has puesto un bucle en el sistema de ficheros, que puede causar problemas con ciertas opciones de <code>cp</code>, <code>mv</code>, etc.
  
Imagina el siguiente problema: Tienes dos discos duros, uno SATA (/dev/sda), el otro PATA (/dev/hda). Tu BIOS parece pensar que el disco PATA debe siempre iniciarse preferentemente antes que los discos SATA, pero tu quierse iniciar desde el disco SATA. Grub puede solucionar este problema.
+
== Cambiar disco donde está instalado GRUB ==
  
 +
Imagina el siguiente problema: tienes dos discos duros, uno SATA (<code>/dev/sda</code>), el otro PATA (<code>/dev/hda</code>). Tu BIOS parece pensar que el disco PATA debe siempre iniciarse preferentemente antes que los discos SATA, pero tu quieres iniciar desde el disco SATA. Grub puede solucionar este problema.
  
 
=== Encontrar groot ===
 
=== Encontrar groot ===
Primero, fíjate qué nombre tienen los discos en Grub. Esto se lista en <tt>/boot/grub/device.map</tt>. Ahí encontrarás una tabla de nombres al estilo Grub (como  ''(hd0)'') y nombres al estilo de Linux (como ''/dev/hda/'').  Necesitas saber en qué disco y partición de inicio está <tt>/boot</tt>. Para encontrar donde está <tt>/boot</tt>, usa <tt>df</tt>:
+
 
 +
Primero, fíjate qué nombre tienen los discos en Grub. Esto se lista en <code>/boot/grub/device.map</code>. Ahí encontrarás una tabla de nombres al estilo Grub (como  ''(hd0)'') y nombres al estilo de Linux (como code/dev/hda</code>).  Necesitas saber en qué disco y partición de inicio está <tt>/boot</tt>. Para encontrar dónde está <code>/boot</code>, usa <code>df</code>:
  
 
   df /boot
 
   df /boot
  
Esto te dirá el nombre de la partición (al estilo Linux) donde está <tt>/boot</tt>. Entonces simplemente hazlo coincidir con el nombre al estilo Grub en <tt>device.map</tt>. Esto es lo que ''groot'' debe ser.
+
Esto te dirá el nombre de la partición (al estilo Linux) donde está <code>/boot</code>. Entonces simplemente hazlo coincidir con el nombre al estilo Grub en <code>device.map</code>. Esto es lo que ''groot'' debe ser.
  
 
Ejemplo:   
 
Ejemplo:   
 +
df /boot
  
  $ df /boot
+
Filesystem            Size  Used Avail Use% Mounted on
  Filesystem            Size  Used Avail Use% Mounted on
+
/dev/sda5              46M  15M  30M  33% /boot
  /dev/sda5              46M  15M  30M  33% /boot
+
 
 
+
cat /boot/grub/device.map
  $ cat /boot/grub/device.map  
+
  (hd0) /dev/hda
+
  (hd1) /dev/sda
+
  
Así, ''groot'' debería ser (hd1,4) (fíjate que los números de particiones de Grub siempre son uno menos que los números de Linux).  Así en <tt>/boot/grub/menu.lst</tt>,
+
(hd0) /dev/hda
 +
(hd1) /dev/sda
  
  ## default grub root device
+
Así, ''groot'' debería ser (hd1,4) (fíjate que los números de particiones de Grub siempre son uno menos que los números de Linux). Así en <code>/boot/grub/menu.lst</code>:
  ## e.g. groot=(hd0,0)
+
## default grub root device
  # groot=(hd1,4)
+
## e.g. groot=(hd0,0)
 +
# groot=(hd1,4)
  
 
Encontrar el root kernel
 
Encontrar el root kernel
  
La otra pieza del puzle es decirle al kernel donde está la raiz <tt>/</tt>. Simplemente find out donde está montado <tt>/</tt>.
+
La otra pieza del puzle es decirle al kernel dónde está la raíz <code>/</code>. Simplemente revisa dónde está montado <code>/</code>.
  
  df /
+
df /
Esto es lo que “root” debería ser en ''kopt''.
+
Esto es lo que «root» debería ser en ''kopt''.
  
 
Ejemplo:
 
Ejemplo:
  
  $ df /
+
df /
  Filesystem            Size  Used Avail Use% Mounted on
+
 
  /dev/sda3              14G  8.3G  5.0G  63% /
+
Filesystem            Size  Used Avail Use% Mounted on
 +
/dev/sda3              14G  8.3G  5.0G  63% /
  
 
(Continúa)
 
(Continúa)
  
 
== Ver también ==
 
== Ver también ==
* [[Inicio y cierre del sistema]]
 
* [[restaurar Grub]]
 
  
<!--categorias -->
+
* [[Inicio y cierre del sistema]].
 +
* [[Restaurar Grub]].
 +
* [[Super Grub Disk]].
 +
* [[GRUB Animado]] - Cómo tener un Gestor de Arranque animado igual que el de SUSE.
 +
 
 +
== Enlaces externos ==
 +
 
 +
{{Wikipedia}}
 +
* [http://www.gnu.org/software/grub/ Sitio web oficial de GRUB] {{en}}.
 +
 
 
[[Categoría:Gestores de arranque]]
 
[[Categoría:Gestores de arranque]]

Última revisión de 21:50 16 jul 2012


Eye.png Este artículo necesita ser wikificado en base al manual de estilo de este wiki. Por favor, colabora editándolo conforme a las normas de edición de este sitio. No elimines este aviso hasta que lo hayas hecho.


GRUB
Desarrollador:
Proyecto GNU
Género:
Gestor de arranque
Licencia:
libre (GPL)
En Español:
No
Sitio Web:
www.gnu.org/software/grub

GRUB o GRUB2 (GRand Unified Bootloader) es un gestor de arranque, su función principal es la de administrar el arranque de distintos sistemas operativos, ya sean distribuciones GNU/Linux u otros sistemas operativos como Microsoft Windows. GRUB permite el arranque de distintos sistemas operativos ya difieran en su plataforma o sólo en su versión en uno o más discos duros. El modo de interactuar con GRUB es mediante un menú en donde el usuario elige el sistema operativo a arrancar entre los que tiene instalados.

GRUB2

[editar] Arranque por defecto en Ubuntu

Cuando se instala Ubuntu como único sistema operativo, GRUB hace el arranque del sistema directamente sin mostrar el menú, para acceder al menú de grub, ya sea para entrar al modo de recuperación o hacer un chequeo de la memoria RAM con Memtest, se presiona la tecla Mayús o Shift.


[editar] Modificar las opciones de inicio

Para modificar distintas opciones de inicio de GRUB, es necesario editar un archivo de texto plano que se ubica en /etc/default/, la edición se puede hacer de 2 maneras; ya sea de manera gráfica usando gedit o desde la línea de comandos usando nano o usando el editor de preferencia ya sea uno gráfico o basado en la línea de comandos.

Si se desea editar el archivo desde el editor gráfico se presiona Alt + F2 y se escribe:

gksudo gedit /etc/default/grub

Si se desea editar el archivo desde un editor en la línea de comandos, se abre Terminal o el emulador de línea de comandos de su preferencia y se escribe:

sudo nano /etc/default/grub

[editar] Modificar tiempo de Espera

El tiempo de espera es el tiempo que GRUB espera antes de arrancar el sistema operativo que tiene configurado por defecto, y en este tiempo es donde muestra el menú en donde se elige qué arrancar.

Para cambiar el tiempo de espera, se edita la siguiente línea:

GRUB_TIMEOUT=0

En donde se modifica el 0 por el número de segundos que sea necesario mostrar el menú.

[editar] Cambiar la resolución del menú

Si se desea, se puede cambiar la resolución del menú de GRUB, editando el archivo /etc/default/grub y modificando la línea:

GRUB_GFXMODE=1280x1024

En donde se modifica la resolución deseada ya sea la de 640x480 o la de 1024x728, según las capacidades de framebuffer de la tarjeta gráfica.

[editar] Agregar entradas al menú

Las entradas de menú, pueden ser agregadas de 2 maneras; ya sea de forma automática o de forma manual.

[editar] Forma automática

Una manera simple de agregar entradas al menú de grub es dejando que el sistema haga las cosas de manera automática, esto se hace con sudo update-grub o sudo update-grub2; GRUB lee principalmente 2 archivos en el directorio /etc/grub.d/;

  • 10_linux este archivo se encarga de crear las entradas del sistema operativo en la partición actual.
  • 30_os-prober este archivo se encarga de detectar y crear las entradas de los sistemas operativos en otras particiones o discos duros.

[editar] Forma manual

Si por alguna razón, ya sea alguna incompatibilidad del sistema operativo con GRUB 2 u otra, el comando update-grub no fue capaz de crear la entrada para el sistema operativo en cuestión, entonces llega el momento de crear la entrada de menú de manera manual, pero las razones pueden ser otras a parte de una incompatibilidad.

Para ello es preciso abrir el archivo 40_custom de la manera siguiente:

gksudo gedit /etc/grub.d/40_custom

[editar] Lista de kernels automágica

Ubuntu usa una herramienta llamada update-grub para modificar el menu.lst. Ésta detecta automáticamente todos los kernels que tienes en el directorio /boot/, y aplica varias configuraciones globales a cada uno. Siempre que instalas actualizaciones de kernel desde los repositorios, update-grub se ejecuta para actualizar la configuración de grub.

Las partes relevantes de menu.lst que update-grub mira son las que están entre las líneas:

### BEGIN AUTOMAGIC KERNELS LIST"

y:

### END DEBIAN AUTOMAGIC KERNELS LIST

Los comentarios están precedidos por al menos dos '#', por ejemplo:

## esto es un comentario

Las opciones globales están después de una única almohadilla '#', por ejemplo:

# groot=(hd0,4)

La más común para cambiar es probablemente la opción. Cámbiala si /boot está en una partición diferente a /. Consulta la sección apropiada en esta página para más información sobre las diferentes particiones de /boot. Otra opción común es 'kopt=', que son las opciones de kernel aplicadas a todos los kernels en el menu.lst.

[editar] Configuración de parámetros de kernel

En /boot/grub/menu.lst, encontrarás una línea como esta:

 # kopt=root=/dev/sda1 ro

Aparece como comentada, pero no elimines la almohadilla '# ' al inicio.

Advert.3.png ESTO ES IMPORTANTE: grub ve esta línea como comentada y la ignora, pero se usa como un parámetro de configuración de update-grub para generar los contenidos del fichero que grub lee al inicio.

Si necesitas parámetros de kernel adicionales (por ejemplo, si alguien te pide que testees el inicio con ciertos parámetros para solucionar algún problema), añádelos al final de la línea, por ejemplo, para añadir noapic:

 # kopt=root=/dev/sda1 ro noapic

Después de editar el fichero, ejecuta:

 sudo update-grub

Puedes añadir temporalmente al kernel parámetros en el inicio de menú grub, presionando 'e' y editando la línea del kernel.

[editar] /boot en otra partición

Si /boot/ está montado en otra partición y utilizas update-grub, entonces puedes tener problemas. Una solución es usar grub-install, que es una manera de instalar el cargador de inicio grub en un sector de inicio que no depende de ninguna distribución.

 sudo grub-install --root-directory=/boot /dev/sda

Esto es probablemente menos deseable porque update-grub es muy bueno configurando las cosas correctamente, por lo tanto debería usarse en vez de éste.

Otra solución es crear un enlace simbólico en /boot al mismo:

 cd /boot
 sudo ln -s . boot

El razonamiento detrás de esto es que cuando el grub inicia, busca en qué partición está instalado. update-grub (y grub-install) asumen que todo está en /boot/. Cuando /boot está en la misma partición que / todo funciona bien ya que menu.lst estará en /boot/grub/. Si /boot está en una partición separada, entonces grub ve /boot como / (de ahí el --root-directory de arriba). Añadiendo un enlace simbólico, cuando busque por /boot/grub, éste estará ahí. Creando el enlace simbólico, has puesto un bucle en el sistema de ficheros, que puede causar problemas con ciertas opciones de cp, mv, etc.

[editar] Cambiar disco donde está instalado GRUB

Imagina el siguiente problema: tienes dos discos duros, uno SATA (/dev/sda), el otro PATA (/dev/hda). Tu BIOS parece pensar que el disco PATA debe siempre iniciarse preferentemente antes que los discos SATA, pero tu quieres iniciar desde el disco SATA. Grub puede solucionar este problema.

[editar] Encontrar groot

Primero, fíjate qué nombre tienen los discos en Grub. Esto se lista en /boot/grub/device.map. Ahí encontrarás una tabla de nombres al estilo Grub (como (hd0)) y nombres al estilo de Linux (como code/dev/hda</code>). Necesitas saber en qué disco y partición de inicio está /boot. Para encontrar dónde está /boot, usa df:

 df /boot

Esto te dirá el nombre de la partición (al estilo Linux) donde está /boot. Entonces simplemente hazlo coincidir con el nombre al estilo Grub en device.map. Esto es lo que groot debe ser.

Ejemplo:

df /boot
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda5              46M   15M   30M  33% /boot
cat /boot/grub/device.map
(hd0)	/dev/hda
(hd1)	/dev/sda

Así, groot debería ser (hd1,4) (fíjate que los números de particiones de Grub siempre son uno menos que los números de Linux). Así en /boot/grub/menu.lst:

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd1,4)

Encontrar el root kernel

La otra pieza del puzle es decirle al kernel dónde está la raíz /. Simplemente revisa dónde está montado /.

df /

Esto es lo que «root» debería ser en kopt.

Ejemplo:

df /
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3              14G  8.3G  5.0G  63% /

(Continúa)

[editar] Ver también

[editar] Enlaces externos

Wikipedia logo.png Wikipedia alberga un artículo enciclopédico sobre GRUB.
Herramientas personales