Diferencia entre revisiones de «Grub»

De Jose Castillo Aliaga
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Línea 33: Línea 33:
* '''/boot/grub/''': Directori de configuració i dels scripts per a que el sistema arranque.
* '''/boot/grub/''': Directori de configuració i dels scripts per a que el sistema arranque.
* '''/etc/grub.d/''': Directori de configuracions i scripts del administrador del sistema. Aquests fitxers afecten al contingut de grub.cfg.
* '''/etc/grub.d/''': Directori de configuracions i scripts del administrador del sistema. Aquests fitxers afecten al contingut de grub.cfg.
** '''/etc/grub.d/10_linux''' Aquest fitxer conté ordres i scripts que s'encarreguen del nucli de linux a la partició principal.
** '''/etc/grub.d/30_os-prober''' Aquest fitxer conté ordres i scripts que s'encarreguen d'altres sistemes operatius. L'arxiu té 4 seccions. Els canvis que realitzem en una secció no afectaran a la resta de les seccions. Les quatres seccions són Windows, altres particions Linux, OSX i Hurd.
* '''/etc/defaults/grub''': Fitxer de configuració dels menús de Grub2.
* '''/etc/defaults/grub''': Fitxer de configuració dels menús de Grub2.


=== Configuracions ===
=== Configuracions ===


* '''update-grub''': Actualitza el grub llegint els sistemes operatius detectats al disc i modificant el grub.cfg
'''update-grub'''
* Modificar l'ordre del menú d'arranc: No és recomanable tocar el fitxer grub.cfg. Per tant, cal modificar el /etc/default/grub:


Actualitza el grub llegint els sistemes operatius detectats al disc i modificant el grub.cfg
'''Modificar l'ordre del menú d'arranc'''
No és recomanable tocar el fitxer grub.cfg. Per tant, cal modificar el /etc/default/grub:
<syntaxhighlight lang="bash" style="font-family:monospace">
<syntaxhighlight lang="bash" style="font-family:monospace">
GRUB_DEFAULT = 0 / save, amb l'opció 0 fem que se seleccioni per defecte la primera entrada, amb l'opció 1, la segona, i així succesivamente. Amb l'opció saved, fem que sempre seleccioneu l'última entrada que es va executar.
GRUB_DEFAULT = 0 / saved    # amb l'opció 0 fem que se seleccioni per defecte la primera entrada, amb l'opció 1, la segona, i així succesivamente. Amb l'opció saved, fem que sempre seleccioneu l'última entrada que es va executar.
GRUB_TIMEOUT = 10, li posem el temps d'espera fins a executar l'entrada que tenim posada com a default.
GRUB_TIMEOUT = 10           # li posem el temps d'espera fins a executar l'entrada que tenim posada com a default.
GRUB_HIDDEN_TIMEOUT = 0, amaga el menú d'entrades del grub, si li posem un temps mes alt el que fa és amagar el menú, però esperar-se un temps fins continuar. Per fer-ho visible hem de comentar (escriure # al principi) de la línia i que queda de la següent manera
GRUB_HIDDEN_TIMEOUT = 0,   # amaga el menú d'entrades del grub, si li posem un temps mes alt el que fa és amagar el menú, però esperar-se un temps fins continuar. Per fer-ho visible hem de comentar (escriure # al principi) de la línia.
# GRUB_HIDDEN_TIMEOUT = 0
GRUB_HIDDEN_MENU_QUIET = true / false # si està a "true" oculta el compte enrere, mentre que si està a "false" mostra el compte enrere.
GRUB_HIDDEN_MENU_QUIET = true / false, si està a "true" oculta el compte enrere, mentre que si està a "false" mostra el compte enrere.
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> /dev/null || echo Debian` # determina el nom de l'entrada del menú.
GRUB_DISTRIBUTOR = lsb_release -i -s 2> / dev / null || trobo Debian, determina el nom de l'entrada del menú.
GRUB_CMDLINE_LINUX = "opcions" # similar al alt options de l'antic grub.
GRUB_CMDLINE_LINUX = "opcions", similar al altoptions de l'antic grub.
GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash" # quiet serveix per agrupar les entrades iguals, mentre que splash serveix perquè ens mostri la imatge de càrrega en comptes dels missatges del nucli
GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash" quiet serveix per agrupar les entrades iguals, mentre que splash serveix perquè ens mostri la imatge de càrrega en comptes dels missatges del nucli
# GRUB_GFXMODE = 640x480 # descomentar la línia activa el grub gràfic. Mitjançant la comanda vbeinfo escrit en la línia d'ordres del grub veiem les possibilitats. Per exemple:
# GRUB_GFXMODE = 640x480 descomentar (escriure # al principi) la línia activa el grub gràfic. Mitjançant la comanda vbeinfo escrit en la línia d'ordres del grub veiem les possibilitats. Per exemple:
GRUB_GFXMODE = 1024x768
GRUB_GFXMODE = 1024x768
# GRUB_DISABLE_LINUX_RECOVERY = "true" Descomenta aquesta línia perquè no aparegui l'opció de recovery mode al menú
# GRUB_DISABLE_LINUX_RECOVERY = "true" # Descomenta aquesta línia perquè no aparegui l'opció de recovery mode al menú
</syntaxhighlight>
</syntaxhighlight>
== Reinstal·lar el Grub ==
== Reinstal·lar el Grub ==



Revisión del 12:21 17 nov 2015

GNU GRUB (abreviatura de GNU de Grand Unified Bootloader) és un paquet de carregador d'arrencada del Projecte GNU. GRUB és la implementació de referència de de la Free Software Foundation Multiboot Specification, que proporciona a l'usuari l'opció d'arrencar diversos sistemes operatius instal·lats en un ordinador o escollir un paràmetre del nucli específic disponible a les particions d'un sistema operatiu en particular.

GNU GRUB es va desenvolupar a partir d'un paquet anomenat el carregador de Grand Unified. S'utilitza principalment per a sistemes tipus Unix. El sistema operatiu GNU utilitza GNU GRUB com el carregador d'arrencada, igual que la majoria de les distribucions de Linux. El sistema operatiu Solaris ha utilitzat GRUB com el carregador d'arrencada en sistemes x86, a partir de la versió Solaris 10.

En aquest article sols anem a parlar de la versió Grub2.

Grub2

Aquestes són algunes de les característiques clau que fan Grub2 més sofisticat i més fàcil per als desenvolupadors per mantenir.

  • Suport Scripting: Grub2 ofereix suport de scripting. Els desenvolupadors i els usuaris poden crear scripts personalitzats per dur a terme funcions especialitzades. Grub2 fins i tot li permet fer ús de sentències condicionals.
  • Mòdul dinàmic de càrrega: Fent gala d'un disseny modular, Grub2 ofereix un mòdul dinàmic, el que significa que tots i cada mòdul es pot carregar quan sigui necessari, durant el temps de la selecció o després d'ella.
  • Menús personalitzats i temes: Grub2 proporciona un ampli marge de maniobra per als dissenyadors per crear temes magnífics.
  • Suport a UUID: Grub2 té suport natiu per UUID (Universal Unique Identifier), que proporciona una solució més concreta per a la identificació de les particions.
  • Un sistema centralitzat per al rescat i la configuració: Grub2 ofereix fins i tot més robustes mesures de rescat en cas d'alguns problemes.

Arranc del sistema amb Grub

La BIOS busca un dispositiu d'inici (com el disc dur) i d'aquí passa el control al primer sector físic del dispositiu conegut com màster boot record, són els primers 512 bytes (primer sector) del disc dur i que formen la fase 1 de GRUB.

  • La fase 1 de GRUB carrega la següent fase de GRUB, situada físicament a qualsevol part del disc dur. La fase 1 pot carregar la 2.
  • La fase 2 de GRUB rep el control, i presenta a l'usuari el menú d'inici.
  • GRUB carrega el nucli seleccionat per l'usuari, en la memòria i li passa el control.

En el cas d'ordinadors amb sistema d'arrencada EFI, el firmware carrega el executable de GRUB directament (fase 2), sempre que estigui correctament instal·lat en la partició EFI i configurat a la NVRAM.

[Archivo:GNU GRUB components.svg.png]

Configuració del Grub

El directori on es configura el grub està en /boot/grub.

Dins del directori, el fitxer més important és grub.cfg Aquest fitxer és modificat en les actualitzacions del sistema. Per tant, si el modifiquem, podem perdre les nostres modificacions. Per a les configuracions personalitzades estàtiques, Grub2 proporciona un arxiu anomenat 40_custom que es troba a /etc/grub.d/. Per tant, aquesta és la llista de fitxers o directoris importants:

  • /boot/grub/: Directori de configuració i dels scripts per a que el sistema arranque.
  • /etc/grub.d/: Directori de configuracions i scripts del administrador del sistema. Aquests fitxers afecten al contingut de grub.cfg.
    • /etc/grub.d/10_linux Aquest fitxer conté ordres i scripts que s'encarreguen del nucli de linux a la partició principal.
    • /etc/grub.d/30_os-prober Aquest fitxer conté ordres i scripts que s'encarreguen d'altres sistemes operatius. L'arxiu té 4 seccions. Els canvis que realitzem en una secció no afectaran a la resta de les seccions. Les quatres seccions són Windows, altres particions Linux, OSX i Hurd.
  • /etc/defaults/grub: Fitxer de configuració dels menús de Grub2.

Configuracions

update-grub

Actualitza el grub llegint els sistemes operatius detectats al disc i modificant el grub.cfg

Modificar l'ordre del menú d'arranc

No és recomanable tocar el fitxer grub.cfg. Per tant, cal modificar el /etc/default/grub:

GRUB_DEFAULT = 0 / saved    # amb l'opció 0 fem que se seleccioni per defecte la primera entrada, amb l'opció 1, la segona, i així succesivamente. Amb l'opció saved, fem que sempre seleccioneu l'última entrada que es va executar.
GRUB_TIMEOUT = 10           # li posem el temps d'espera fins a executar l'entrada que tenim posada com a default.
GRUB_HIDDEN_TIMEOUT = 0,    # amaga el menú d'entrades del grub, si li posem un temps mes alt el que fa és amagar el menú, però esperar-se un temps fins continuar. Per fer-ho visible hem de comentar (escriure # al principi) de la línia.
GRUB_HIDDEN_MENU_QUIET = true / false # si està a "true" oculta el compte enrere, mentre que si està a "false" mostra el compte enrere.
GRUB_DISTRIBUTOR = `lsb_release -i -s 2> /dev/null || echo Debian` # determina el nom de l'entrada del menú.
GRUB_CMDLINE_LINUX = "opcions" # similar al alt options de l'antic grub.
GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash" # quiet serveix per agrupar les entrades iguals, mentre que splash serveix perquè ens mostri la imatge de càrrega en comptes dels missatges del nucli
# GRUB_GFXMODE = 640x480  # descomentar la línia activa el grub gràfic. Mitjançant la comanda vbeinfo escrit en la línia d'ordres del grub veiem les possibilitats. Per exemple:
GRUB_GFXMODE = 1024x768
# GRUB_DISABLE_LINUX_RECOVERY = "true" # Descomenta aquesta línia perquè no aparegui l'opció de recovery mode al menú

Reinstal·lar el Grub

En ocasions es trenca l'arranc. Pot ser per una instal·lació fallida o per Windows. També pot ser perquè canvia el disc dur o les particions. En qualsevol cas, si el sistema encara està instal·lat en una partició, es pot reinstal·lar el Grub i recuperar l'arranc. Per fer-ho, cal muntar la partició i fer un chroot.

root@equipo:~# mount /dev/sdb7 /mnt
root@equipo:~# mount --bind /dev/ /mnt/dev
root@equipo:~# mount --bind /dev/pts /mnt/dev/pts
root@equipo:~# mount --bind /proc /mnt/proc
root@equipo:~# mount --bind /sys /mnt/sys
root@equipo:~# chroot /mnt

# update-grub 
# grub-install /dev/sda


Enllaços