viernes, 10 de octubre de 2014

GESTORES DE ARANQUE


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 Linux Loader") es un gestor de arranque que permite elegir, entre sistemas operativos Linux y otras plataformas, con cual se ha de trabajar al momento de iniciar un equipo con mas de un  sistema operativo  disponible. Fue desarrollado inicialmente por Werner Almesberger, actualmente está a cargo de  Jhon Coffman .
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.
Si el archivo NTLDR no se encuentra en el disco, la computadora enviará un mensaje de error informándolo.
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