GRUB (GNU GRand Unified Bootloader) es un gestores d arranque múltiple, desarrollado por el proyecto GNU que se usa comúnmente para iniciar uno, dos o más sistemas operativos instalados en un mismo equipo.
Se usa principalmente en sistemas operativosGNU/Linux El sistema operativo Solaris ha usado GRUB como gestor de arranque en sistemasx86 desde la revisión 10 1/06.
Técnicamente, un gestor de arranque múltiple es aquel que puede cargar cualquier archivo ejecutable y que contiene un archivo de cabecera en los primeros 8 KB del archivo. Tal cabecera consiste en 32 bits de un número “mágico”, 32 de indicadores (flags), otros 32 de un número “mágico”, seguidos de información sobre la imagen ejecutable.
Una de las características más interesantes de este tipo de gestor es que no es necesario instalar una partición nueva o un núcleo nuevo, pudiendo cambiar todos los parámetros en el arranque mediante el sistema de órdenes de consola de GRUB.
LILO
LILO funciona en una variedad de sistemas de archivos y puede arrancar un Sistema opetativo desde el disco duro o desde un disco flexible externo . LILO permite seleccionar entre 16 imágenes en el arranque. LILO puede instalarse también en el master boot record (MBR).
Al iniciar el sistema LILO solamente puede acceder a los drivers de la BIOS para acceder al disco duro. Por esta razón en BIOS antiguas el área de acceso está limitado a los cilindros numerados de 0 a 1023 de los dos primeros discos duros. En BIOS posteriores LILO puede utilizar sistemas de acceso de 32 bits permitiéndole acceder a toda el área del disco duro.
En las primeras distribuciones de Linux, LILO era el gestor de facto utilizado para arrancar el sistema. En la actualidad es una segunda opción en favor del gestor de arranque GRUB.
NTLDR
NTLDR (abreviatura de NT Loader) es el archivo encargado del arranque del Sistema Operativo en todas las versiones de Microsoft Windows NT incluyendo Window XP y Windows server 2003 El NTLDR se encuentra usualmente en el disco duro principal, pero también puede encontrarse en dispositivos portátiles como CD-ROM, memoria USB , o disquetes .
NTLDR requiere, como mínimo, que dos archivos adicionales se encuentren en la partición principal:
- NTLDR, que se encarga de cargar el sistema operativo.
- boot.ini, que contiene un menú de opciones de inicio.
En Windows Vista, Windows server 2008 y Windows 7, el NTLDR fue reemplazado por dos componentes llamados winload.exe y Windows Boot Manager.
El bootmgr (BOOT ManaGer) es el gestor de arraque de windows vista 7 que sustituye al NTDLR (NT Loader ) del windows XP y anteriores sitemas NT
- La secuencia de arranque sería:
- El “boot” de la partición arranca el BOOTMGR
- Este, lee el archivo BOOT.INI y lo “resume” en la siguiente pantalla
- Si seleccionamos Windows Vista, usa los archivos nuevos de la carpeta “Boot” para cargar Windows Vista.
- Si seleccionamos un sistema operativo previo, sacará el menú clásico:
KERNEL
En informática,
un núcleo o kernel (de la raíz germánica Kern, núcleo, hueso) es un software que
constituye la parte más importante del sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de servicios
de llamada al sistema. Como hay muchos programas y el acceso al hardware es
limitado, también se encarga de decidir qué programa podrá hacer uso de un
dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado
Acceder al hardware directamente puede ser realmente complejo, por lo que los
núcleos suelen implementar una serie de abstracciones del hardware. Esto permite
esconder la complejidad, y proporciona una interfaz limpia y uniforme al
hardware subyacente, lo que facilita su uso al programador.
ANEXO
3.
ANEXO II - GESTORES DE ARRANQUE
3.1.
GRUB
GRUB (GRand Unified Bootloader) escribe la primera etapa del
gestor en el MBR o en un VBR. Esta etapa carga el
resto
del programa (segunda etapa) y un fichero de configuración (menu.lst) que
residen en una partición de un
volumen
del sistema. Si no es posible cargar la segunda etapa GRUB ofrece una línea de
comandos.
Esta
segunda etapa ofrece tres interfaces: un sencillo menú de selección -en modo
texto o gráfico-, un editor de
configuración
y una consola de línea de comandos. Estas interfaces permiten elegir qué
sistema operativo se desea
arrancar
y, si se desea, especificar parámetros del sistema.
El
editor de configuración y las líneas de comandos permiten rectificar o
modificar el arranque cuando se malconfigura
o se
corrompe. Además como el fichero de configuración reside en una partición del
disco, se puede modificar la
configuración
sin necesidad de reescribir el MBR o el VBR.
GRUB
soporta métodos de arranque directo -como cargador de sistema- o de arranque
encadenado ("chain loading"),
permite
dispositivos LBA o CHS con más de 1024 cilindros, múltiples sistemas de
ficheros como ext2 y ext3...
Ejemplo
sencillo de fichero de configuración (menu.lst):
default
0
timeout
5
color
cyan/blue white/blue
title
Debian GNU/Linux, kernel 2.6.26-1-686-bigmem
root
(hd0,0)
kernel
/boot/vmlinuz-2.6.26-1-686-bigmem root=/dev/sda1 ro quiet vga=791
initrd
/boot/initrd.img-2.6.26-1-686-bigmem
title
Windows
root
(hd0,0)
makeactive
map
(hd0) (hd1)
map
(hd1) (hd0)
chainloader
+1
3.2.
LILO
LiLo (Linux Loader) es un gestor de arranque más
antiguo que GRUB que ofrece un menú de opciones de arranque.
No
dispone de interfaz de línea de comandos y no entiende sistema de ficheros, por
lo que código y configuración se
almacenan
directamente en el MBR. Un error en la configuración puede impedir el arranque
de ningún sistema.
3.3.
NTLDR
NTLDR
(NT Loader) es el gestor de arranque usado en Ms-Windows desde NT
hasta XP y 2003. Está diseñado para
sistemas
que únicamente disponen de instancias de Windows16. Según este diseño, el
"Código Maestro de Arranque"17
del
MBR carga mediante carga encadenada ("chain load")
el código del VBR de la partición de Windows. Este código
del
VBR busca en la raíz de la partición de sistema el fichero NtLdr (C:\NtLdr).
Una
vez en memoria NTLDR puede ofrecer al usuario seleccionar entre distintas
instancias de Windows -como gestor
de
arranque- basándose en el fichero de configuración boot.ini18
y cargar la opción elegida -cargador de sistema-.
El
fichero de configuración (boot.ini) se puede editar directamente o
mediante el comando bootcfg:
[boot
loader]
timeout=30
default=multi(0)disk(1)rdisk(0)partition(1)\WINDOWS
[operating
systems]
multi(0)disk(1)rdisk(0)partition(1)\WINDOWS="Windows
XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Windows
2000 Professional" /fastdetect
16
Cuando se instala Windows, éste copia el sector de arranque existente con el
nombre "BootSec.dos". El gestor de arranque ofrece la opción de
utilizar
dicho sector de arranque para iniciar "sistemas anteriores". Sin
embargo una vez instalado Windows, NTLDR no permite configurar el
inicio
de otros sistemas. Para ello es recomendable usar un cargador potente como
GRUB.
17
Versión de Veritas Software empaquetada dentro de "dmadmin.exe" y
"fdisk" (entre otros y según versiones).
18 Boot.ini
y NtDetect.exe también deben residir en la raíz
del sistema (C:\).
Arranque
ANEXO II - GESTORES DE ARRANQUE
3.4.
BOOTMGR
Ms-Windows
a partir de la versión Vista utiliza BootMgr como gestor de arranque y WinLoad
como cargador de
sistema.
Igual que NTLDR, está diseñado para sistemas que únicamente disponen de
instancias de Windows, aunque
puede
configurarse para lanzar otros cargadores mediante "chainload". Sin embargo las herramientas de configuración
del gestor
de arranque de Microsoft no facilitan incluir entradas de este tipo19.
De
nuevo según este diseño, el "Código Maestro de Arranque" del MBR
carga mediante carga encadenada ("chain
load") el código del VBR de la partición de Windows.
Este código del VBR busca en la raíz de la partición de sistema
el
fichero BootMgr (C:\BootMgr).
BootMgr,
como gestor de arranque, lee un fichero de configuración llamado bcd y
llama al cargador de sistema de
Windows
(WinLoad.exe) que reside en la partición del sistema dentro del
directorio de sistema
(\windows\system32\winload.exe).
a)
El fichero bcd
Vista
mantiene permanente abierto el fichero bcd para poder hacer cambios
en él en caso de hibernación, por ejemplo.
Esto
hace que no pueda abrirse con el bloc de notas o moverse. En algunas
configuraciones con varias instalaciones de
Vista
el sistema, tras arrancar con el fichero correcto, puede abrir erróneamente el
fichero incorrecto lo que puede
generar
pequeños (o grandes) problemas de difícil localización. En esos casos antes de
modificar el fichero bcd hay
que
asegurarse que se está modificando el fichero correcto.
Para
modificar el fichero bcd es recomendable usar una herramienta de terceros como
EasyBCD20 que es gratuita,
aunque
puede modificarse mediante comandos de bcdedit21. Por
ejemplo:
bcdedit
/set {xxxxxxx} description "No arrancar, es un Windows :-P"
Se
puede respaldar el fichero bcd mediante:
bcdedit
/export X:\folder\bcd.txt
bcdedit
/import X:\folder\bcd.txt
A
diferencia de otros gestores como GRUB o NTLDR que se basan en información de
la BIOS para localizar la
partición
donde reside el sistema a arrancar, BootMgr se basa en el GUID del disco y un
desplazamiento, y busca en
todos
los dispositivos disponibles el que tenga la firma indicada en el fichero de
configuración (bcd) saltando al sector
indicado
en el desplazamiento, ignorando la tabla de particiones.
Esto
permite mover el disco de Windows dentro de la misma máquina (por ejemplo
insertando otro disco "delante") sin
afectar
al arranque. Sin embargo en caso de que esta firma se cambie, o la instalación
se clone a otro disco, BootMgr
nos
indicará "winload.exe ... is missing or corrupt".
Para solucionar esto puede utilizarse la opción "auto repair" del
DVD de
Vista, el comando "bootrec.exe /rebuildbcd" o el comando bcdedit.exe22.
Para
evitar este problema se puede "generalizar" el identificador del
disco en el bcd, de la misma manera que lo hace la
herramienta
sysprep de Microsoft, con los siguientes comandos:
bcdedit
/set {current} osdevice boot
bcdedit
/set {current} device boot
bcdedit
/set {bootmgr} device boot
bcdedit
/set {memdiag} device boot
bcdedit
/set {ntldr} device boot
Para
"generalizar" un fichero bcd de otra instancia de Vista (por ejemplo
al arrancar desde el DVD) se puede usar el
parámetro
"/store D:\boot\bcd" (bcdedit
/store D:\boot\bcd /set {current} osdevice boot).
Para
volver a "especializar" el fichero bcd (sysprep lo
hace, pero es totalmente innecesario) basta lanzar los mismos
comandos
sustituyendo "boot" por "partition=X:".
19 De
nuevo lo habitual en máquinas con múltiples sistemas es instalar GRUB en el
MBR.
20
EasyBCD permite además incluir entradas de "chainload" para lanzar otros cargadores como GRUB
21 El
ejecutable bcdedit.exe de Vista se puede copiar y utilizar correctamente dessde
Windows XP.
22 El
modo más sencillo de obtener una consola de comandos desde el DVD de Vista es
seleccionar "Instalar ahora" en vez de "Reparar el equipo"
y
en la
siguiente ventana pulsar Shift+F10.
Arranque
ANEXO II - GESTORES DE ARRANQUE
b)
Multiarranque con Windows Vista
Windows
Vista ofrece la posibilidad de gestionar el arranque de distintos sistemas
(todos ellos instancias de Windows).
Si se
utiliza el gestor de multiarranque de Vista éste requerirá que el gestor de
arranque (BootMgr) esté en la partición
primaria
activa, pudiendo estar los sistemas en cualesquiera otras particiones.
Siguiendo
la tónica habitual de Microsoft de llamar las cosas al revés, la partición de
arranque donde reside el BootMgr
y el
fichero bcd será identificada en el gestor de discos como partición
de sistema (System), mientras que la partición
donde
resida el sistema que esté en marcha será identificada como partición de
arranque (Boot).
Evitando
los procesos estándar de Microsoft, en una máquina se puede instalar
distintas
instancias de Windows de manera totalmente independiente, usando a
su vez
un gestor de multiarranque independiente, en cuyo caso la partición
será
identificada como de arranque y sistema siempre que no sea una partición
lógica,
caso no previsto por Microsoft y que por tanto no será correctamente
identificado.
No hay comentarios:
Publicar un comentario