GNU GRUB | |
---|---|
GNU GRUB (xestor de arrinque unificado ouGRandUnifiedBootloader en inglés) é un programa de arrinque para computadoras. Sitúase despois das secuencias de post e antes dosistema operativo en si, xa que o seu traballo é precisamente xestionar a carga do sistema operativo na memoria. Cando o ordenador acolle varios sistemas (iso é chamado sistema dual, ou multiarrinque), permite que o usuario escolla entre os diferentes kernels dispoñibles.
GRUB é unsoftware libre. Permite a inicialización de sistemasGNU/Linux ,Windows,BSD ouSolaris polo que é moi utilizado en casos de multiarrinque. GRUB é configurable dende a súa propia interface mediante comandos nun arquivo de configuración, tendo o usuario acceso a personalizar o arrinque da computadora en múltiples parámetros.
Grub debe ser capaz de recoñecertodos os sistemas de arquivos que poden chegar a ser necesarios para facer o boot. É por esta razón moito máis voluminoso que LILO, o bootloader clásico de sistemas GNU Linux, que só recoñece sistemas de arquivosext nativos de Linux.[1]
O MBR xeralmente contén a sección 1 do GRUB, mais pode tamén conter outro bootloader que pode enlazar a sección 1 de GRUB con outro sector de arrinque, tales como o principio doutro disco ou unha partición lóxica do tipo DOS. Debido ao pequeno tamaño do MBR, a parte 1 conténtase con cargar a sección seguinte do GRUB (que pode ser situada en calquera lugar dentro dos primeiros 1024 cilindros do disco). A sección 1 pode directamente cargar a segunda, ou cargar a sección 1.5, que se atopa nos 30 kilobytes seguintes aomaster boot record. Esta sección 1.5 carga logo a parte 2.
Esta versión é semellante á versión 1 do GRUB, oboot.img é almacenado no MBR ou sector de arranque do volume como parte primeira do disco, con todo, pode cargar un sector de calqueraLBA48. GRUB 2 carga o primeiro sectordo core.img(xerado a partir dediskboot.img), que é entón utilizado para cargar o resto do arquivo. O ficheirocore.img é normalmente situado na mesma localización que a sección 1.5 tendo polo tanto os mesmos problemas. Secasí, pode ser desprazado a unha partición ou sistema de ficheiros diferentes.
Unha vez executado, o ficheirocore.img carga os ficheiros de configuración e os restates módulos necesarios.
En canto GRUB é cargado, presenta unha interface que permite ao usuario escoller que sistema operativo utilizar, por medio normalmente dunha cotorna de menú gráfico. Se esta contorna non está dispoñible ou se o usuario prefire un control máis directo, GRUB ten o seu propio sistema de comandos. O usuario pode daquela precisar manualmente os parámetros de posta en marcha. GRUB pode ser cofigurado para cargar automaticamente un determinado módulo de kernel despois dun tempo de espera definido polo usuario.
Unha vez as opcións de inicio definidas, GRUB carga o kernel escollido en memoria e cédelle o control. GRUB pode pasar o control do inicio a un outro cargador, utilizando a carga en cadea. É este método o que é usado para cargar en memoria sistemas operativos como Windows, que non soportan multiboot. Deste xeito GRUB non ten problemas en ceder o traballo ao Windows Boot Manager.
A diferenza de LILO, GRUB non ten que ser reinstalado no MBR cada vez que se modifica o ficheiro .conf
Nun sistema GNU/Linux, o comandogrub-install é unicamente utilizado para instalar a sección 1 de GRUB dentro do MBR ou nunha partición. Os ficheiros de configuración de GRUB deben ser situados nunha partición utilizable, caso contrario a sección primeira executa automaticamente o intérprete de comandos.
O nome e a localización do ficheiro de varía dun sistema a outro. Por exemplo, na distribuciónDebian GNU/Linux, este ficheiro está situado en/boot/grub/menu.lst,
, de xeito queFedora pon en/boot/grub/grub.conf
(este último utiliza unha ligazón simbólica para a localización/etc/grub.conf
e que apunta a/boot/grub/grub.conf
por razóns de compatibilidade).
Ademais, GRUB pode ser instalado nun dispositivo extraíble, como undisquete ou memoria USB formateada, para cargar un sistema que non podería arrincar dende o seu propio disco.
A configuración non é moi complexa, é necesario coñecer:
hd0: corresponde ao primeiro disco, hd1: corresponde ao segundo disco, hd0,2: corresponde ao primeiro disco, terceira partición Grub Legacy, segunda partición Grub2[2]
No ficheiro/boot/grub/menu.lst atópanse os elementos de cores etimeout para o menú. Con posterioridade son definidos os núcleos dos sistemas operativos que poden ser cargados, ficando nunha lista uns encima dos outros.
default 0 timeout 5# foreground = ffffff background = 000000#splashimage=(hd0,1)/boot/grub/leaf_splash.xpm.gz# title Gentoo root (hd0,1) kernel /boot/vmlinuz root=/dev/sda2 quiet# title Windows root (hd1) chainloader +1
Para o sistema propietario de Microsoft non hai ruta que leve a un núcleo para cargar en memoria. O truco consiste en escoller o primeiro disco e despois iniciar sobre o primeiro octeto dese disco vía « chainloader +1 ». O comando «boot» ten a utilidade de lanzar a execución.
O termo "GRUB" xeralmente refírese aGRUB Legacy. Esta versión segue a recibir parches, pero ningunha nova función é engadida. Os desenvolvedores de GRUB decidiron concentrarse no GRUB 2, unha completa reformulación do programa para facelo máis seguro, máis limpo, máis poderoso e máis robusto.
É a nova versión por defecto adoptada progresivamente por numerosas distribucións Linux. Os desenvolvedores quixeron con esta nova versión:
Outros proxectos procuran as súas propias versións (forks) do código de GRUB. Isto inclúe aSuper Disco Grub (cuxos novos comandos inclúen "setgrubdevice" e "usbshift") e GRUB4DOS.OpenSolaris utiliza unha versión modificada do GRUB Legacy que soporta os nomes para os discos, a selección automática de sistemas de 64 bits, e o inicio desde ZFS (con compresión e ambientes de multi-arrinque)[3],[4]. O proxecto Syllabe OS fixo unha versión modificada de GRUB para cargar o sistema dende o sistema de ficheiros AtheOS[5].