fbpx
Wikipedia

Cargador de arranque

Se llama cargador de arranque, en inglés bootloader, al programa que se llama al final del proceso de arranque para cargar en memoria el núcleo de un sistema operativo y cederle el control de la máquina. [1][2]

Para sistemas BIOS es prácticamente obligatorio su uso debido al pequeño tamaño disponible en la MBR para lanzar directamente el kernel. Con firmware UEFI se podría lanzar directamente el kernel[3]​ pero se usan debido a la versatilidad de opciones que ofrece la carga indirecta a través del cargador de arranque.

La Especificación Multiboot ha establecido una forma estándar en la que los cargadores de arranque lancen kernels de un sistema operativo de arquitectura x86.[4]​ Esta especificación la cumplen por ejemplo Solaris, NetBSD, GNU/Hurd. No la cumplen por ejemplo Linux y Windows.

Historia

La palabra boot en el mundo de la informática es la abreviatura de bootstrapping (en español «arranque»). El término bootstrapping o arranque en este caso, comenzó como una metáfora derivada de tirar del cierre de las botas para que así una persona pudiera quitárselas o ponérselas con comodidad sin necesitar la ayuda de otro. En los ordenadores de la década de 1950, se utilizó un botón de arranque que al pulsarlo causaba que un programa estructurado leyera un programa de carga de una tarjeta perforada que a su vez cargaba un sistema largo de programas desde tarjetas perforadas hasta la memoria del ordenador, sin más ayuda de los operadores humanos. En el contexto de computación, esa palabra se ha utilizado al menos desde 1958.

Gestor de arranque

Habitualmente en el proceso de arranque es necesario un menú simple que permita al usuario elegir el siguiente código a ejecutar. Al software que realiza esa tarea se le llama gestor de arranque (en inglés boot manager). [1][2]​ Habitualmente el gestor de arranque forma parte del cargador de arranque como por ejemplo en GRUB, GRUB 2, LILO o SYSLINUX. Sin embargo, el cargador de arranque puede no tener gestor de arranque (ej. EFISTUB) y el gestor de arranque puede ser un programa independiente (ej. rEFIt, rEFInd, fallback.efi o los gestores de arranque nativos EFI).[1]

Es habitual que el gestor de arranque termine mandando ejecutar un cargador de arranque. Sin embargo, puede mandar ejecutar otros programas como por ejemplo un programa para consultar cual es el hardware del equipo (Hardware Detection Tool o HDT), un programa para comprobar la integridad de la memoria (memtest), o incluso otro cargador de arranque.[1]

Etapas

Los bootloaders pueden estar repartidos en varias etapas que se ejecutan una tras otra. De ser así, se denominan bootloaders multietapa (en inglés Multi Stage Bootloader) . En caso contrario se llama cargadores de arranque de una sola etapa (en inglés Single Stage Bootloader).[5]

Los cargadores de arranque en sistemas BIOS tienen casi siempre al menos dos etapas debido a que el espacio disponible para el cargador de arranque en el MBR es demasiado pequeño. Por tanto casi siempre es necesario saltar a una segunda etapa del cargador de arranque. [6]​ La ubicación de esta segunda etapa dependería del tipo de tabla de particiones usado:[7]

  • Tabla de particiones tipo DOS ubicadas en MBR. Es habitual ubicarlo en el espacio entre el MBR y donde empieza la primera partición. Por ejemplo, GRUB con BIOS divide su ejecución en tres etapas: La del MBR, la del espacio entre el MBR y el inicio de la primera partición, y la tercera dentro del directorio /boot/grub del Linux que haya instalado GRUB en disco.
  • Tabla de particiones GPT. Se ubica en la llamada BIOS Boot Partition que suele estar ubicada en el espacio sobrante entre el final de la GPT y la primera partición.

Carga encadenada

A veces un cargador de arranque en lugar de llamar al kernel del sistema operativo, lo que se llama carga directa, llama a otro cargador de arranque. A este proceso se le llama carga encadenada (en inglés chain loading).[8][9]

Un cargador de arranque puede por ejemplo, llamar a otro para llamar al kernel de un sistema operativo que no soporta. Por ejemplo GRUB usa este método para cargar los sistemas operativos Microsoft MS-DOS y Microsoft Windows. GRUB apunta al primer sector de la partición que tiene ese sistema operativo y allí encuentra los archivos necesarios para arrancarlo.[8][9]

Otra posible razón para poder usar carga encadenada es poder usar Secure Boot con software libre. Tenemos un cargador de arranque firmado cuya función principal tarea es instalar unas claves adicionales que permitan verificar la firma para cargar otros binarios UEFI (típicamente cargadores de arranque).[10][11]​ De esta forma se convierte en la raíz de confianza para todos los demás programas UEFI proporcionados por la distribución. Esto permite una delegación de confianza limpia: Cada distribución de software libre es responsable de firmar el resto de sus paquetes. Los dos cargadores de arranque firmados más habituales son Shim y Preloader.[10]​ Estos cargadores han sido desarrollados para ser confiables y que puedan ser firmados por cualquier autoridad de certificación. Para ello tiene un código seguro, claro y auditable. Además estos cargadores firmados no deberían tener que actualizarse con mucha frecuencia, lo que reduce la carga de trabajo de los equipos centrales de auditoría y CA.[12]

Aplicando el concepto de carga encadenada a las distintas etapas necesarias en el arranque BIOS, ha producido que ciertos cargadores de arranque se especialicen. Dando lugar a distintos tipos de cargadores de arranqe:

  • Cargadores de arranque de primera etapa o FSBL (del inglés First Stage Boot Loader), especializados en estar en la primera etapa, la alojada en el MBR. Ejemplos de este tipo de cargadores son U-Boot SPL.[13]​ Su principal función es localizar el cargador de arranque de segunda etapa y cargar la primera parte de él en memoria y ejecutarla.[14]
  • Cargadores de arranque segunda etapa o SSBL (del inglés Second Stage Boot Loader), especializados en estar en la segunda etapa.

Con este enfoque cargadores de arranque complejos se puede interpretar que están compuestos por distintos cargadores de arranque básicos. Por ejemplo se puede considerar que GRUB está compuesto por un cargador primario o de primera fase, un cargador de etapa 1.5 y un cargador secundario o de segunda fase.[15]

Ubicación

El cargador de arranque puede estar en:

  • Disco duro externo o interno:
    • Con firmware BIOS. En estos sistemas el primer cargador de arranque se ubica en los primeros 446 bytes del MBR. El resto del MBR lo ocupa la tabla de particiones (64 bytes) y los 2 bytes finales a 0x55AA.
    • Con firmware UEFI. En estos sistemas los cargadores de arranque se ubican en la EFI System Partition (ESP).
  • CD/DVD
  • ISO
  • memoria USB
  • Servidor de Red NFS/HTTP/FTP

Ejemplos

Ejemplos de cargadores de arranque son:

  • LILO (siglas de Linux Loader). Descontinuado por sus limitaciones entre ellas no servir para firmware con interfaz UEFI. Solo sirve para firmware BIOS
  • ELILO (siglas de EFI Linux Loader). Es el cargador de arranque más antiguo de Linux compatible con EFI. Es similar a LILO. Está descontinuado.[16]
  • GRUB legacy. Antes de GRUB 2 se llamaba simplemente GRUB. Soporta firmware con interfaces BIOS y UEFI.
  • GRUB 2. Es una nueva versión de GRUB pero sin reutilizar nada del código original de la versión anterior de GRUB (GRUB legacy. Soporta firmware con interfaces BIOS o UEFI. Soporta características avanzada como cargar drivers o definir sentencias que configuran el arranque en función de condiciones del sistema como por ejemplo si hay un disco externo conectado.
  • Das U-Boot. Solo soporta firmware UEFI. Se usa para sistemas empotrados y es el más usado para arquitecturas ARM.
  • systemd-boot. Antes llamado gummiboot. Solo soporta firmware UEFI. Es en modo texto. Es muy simple y se enlaza con el bootloader nativo de la propia UEFI. Comparado con GRUB 2 es más robusto, más veloz pero tiene menos opciones de administración.
  • Shim. Cargador de arranque firmado para su uso con Secure Boot. [10]
  • Preloader. Cargador de arranque firmado para su uso con Secure Boot. [10]
  • Del proyecto SYSLINUX. EL proyecto SYSLINUX proporciona un conjunto de cargadores de arranque ligeros:
    • SYSLINUX original. Permite arrancar desde sistemas de archivos FAT. Usado para arrancar desde de discos flexibles y memorias USB)
    • ISOLINUX. Permite arrancar desde sistemas de archivos ISO 9660. Usado para arrancar desde CD/DVD.
    • EXTLINUX. Permite arrancar desde sistemas de archivos ext2, ext3, ext4 y btrfs.
    • PXELINUX. Permite arrancar desde servidores de red con sistemas PXE (Preboot Execution Environment)
    • MEMDISK. Permite arrancar desde memoria
  • LOADLIN (siglas de LOAD LINux). Cargador de arranque antiguo que permitía arrancar Linux, DOS y versiones antiguas de Windows.[5]​ Descontinuado.
  • NTLDR (siglas de NT Loader). Cargador de arranque de las primeras versiones de Microsoft Windows NT, incluyendo Windows XP y Windows Server 2003.
  • BOOTMGR (siglas de BOOT ManaGeR), también llamado Windows Boot Manager. Cargador de arranque usado para reemplazar a NTLDR desde Windows Vista (Windows 7, Windows 8, Windows 10). Con la opción Legacy, el Windows Boot Manager ejecutará NTLDR y continuará el proceso como este lo haría al ejecutar cualquier versión de Windows que haga uso de NTLDR, como Windows XP[17][18]

Referencias

  1. Linuxnomicón. 5.1.1.4. Gestores y cargadores de arranque. José Miguel Sánchez Alés. 2016-2020
  2. EFIBootLoaders. wiki.ubuntu.com. 23 de septiembre de 2013
  3. Booting the Linux Kernel without a bootloader. tecporto.pt. 2 de junio de 2018
  4. Multiboot kernel. Alex dzyoba. 28 de septiembre de 2015
  5. Embedded Linux Development Tutorial. Timesys Corporation 2016
  6. Operating Systems Development - Bootloaders 3. Mike 2009
  7. Linuxnomicón.5.1.2. Particiones
  8. What is GRUB? - KB Article - 129312. dell.com. 14 de agosto de 2020
  9. El Gestor de Arranque GRUB. Guía de Instalación Fedora 12. 2009
  10. Unified Extensible Firmware Interface/Secure Boot. Using a signed boot loader. wiki.archlinux.org. 5 de noviembre de 2020
  11. Package: shim-signed (1.33+15+1533136590.3beb971-7). debian.org
  12. SecureBoot. wiki.debian.org. 2 de junio de 2020.
  13. U-Boot overview. wiki.st.com. noviembre de 2020
  14. Fedora 16. Installation Guide. F.2. A Detailed Look at the Boot Process. 2011
  15. Fedora 12. Installation Guide. The GRUB Boot Loader. 2009
  16. Managing EFI Boot Loaders for Linux: Using ELILO. Rod Smith. 7 de julio de 2018
  17. Gestores de Arranque. 22 de noviembre de 2012
  18. Windows Boot Manager. Camilo. 15 marzo, 2018

Enlaces externos

  • Managing EFI Boot Loaders for Linux. por Rod Smith.

Véase también

  •   Datos: Q836795
  •   Multimedia: Boot loaders

cargador, arranque, llama, cargador, arranque, inglés, bootloader, programa, llama, final, proceso, arranque, para, cargar, memoria, núcleo, sistema, operativo, cederle, control, máquina, para, sistemas, bios, prácticamente, obligatorio, debido, pequeño, tamañ. Se llama cargador de arranque en ingles bootloader al programa que se llama al final del proceso de arranque para cargar en memoria el nucleo de un sistema operativo y cederle el control de la maquina 1 2 Para sistemas BIOS es practicamente obligatorio su uso debido al pequeno tamano disponible en la MBR para lanzar directamente el kernel Con firmware UEFI se podria lanzar directamente el kernel 3 pero se usan debido a la versatilidad de opciones que ofrece la carga indirecta a traves del cargador de arranque La Especificacion Multiboot ha establecido una forma estandar en la que los cargadores de arranque lancen kernels de un sistema operativo de arquitectura x86 4 Esta especificacion la cumplen por ejemplo Solaris NetBSD GNU Hurd No la cumplen por ejemplo Linux y Windows Indice 1 Historia 2 Gestor de arranque 3 Etapas 4 Carga encadenada 5 Ubicacion 6 Ejemplos 7 Referencias 8 Enlaces externos 9 Vease tambienHistoria EditarLa palabra boot en el mundo de la informatica es la abreviatura de bootstrapping en espanol arranque El termino bootstrapping o arranque en este caso comenzo como una metafora derivada de tirar del cierre de las botas para que asi una persona pudiera quitarselas o ponerselas con comodidad sin necesitar la ayuda de otro En los ordenadores de la decada de 1950 se utilizo un boton de arranque que al pulsarlo causaba que un programa estructurado leyera un programa de carga de una tarjeta perforada que a su vez cargaba un sistema largo de programas desde tarjetas perforadas hasta la memoria del ordenador sin mas ayuda de los operadores humanos En el contexto de computacion esa palabra se ha utilizado al menos desde 1958 Gestor de arranque EditarArticulo principal Gestor de arranque Habitualmente en el proceso de arranque es necesario un menu simple que permita al usuario elegir el siguiente codigo a ejecutar Al software que realiza esa tarea se le llama gestor de arranque en ingles boot manager 1 2 Habitualmente el gestor de arranque forma parte del cargador de arranque como por ejemplo en GRUB GRUB 2 LILO o SYSLINUX Sin embargo el cargador de arranque puede no tener gestor de arranque ej EFISTUB y el gestor de arranque puede ser un programa independiente ej rEFIt rEFInd fallback efi o los gestores de arranque nativos EFI 1 Es habitual que el gestor de arranque termine mandando ejecutar un cargador de arranque Sin embargo puede mandar ejecutar otros programas como por ejemplo un programa para consultar cual es el hardware del equipo Hardware Detection Tool o HDT un programa para comprobar la integridad de la memoria memtest o incluso otro cargador de arranque 1 Etapas EditarLos bootloaders pueden estar repartidos en varias etapas que se ejecutan una tras otra De ser asi se denominan bootloaders multietapa en ingles Multi Stage Bootloader En caso contrario se llama cargadores de arranque de una sola etapa en ingles Single Stage Bootloader 5 Los cargadores de arranque en sistemas BIOS tienen casi siempre al menos dos etapas debido a que el espacio disponible para el cargador de arranque en el MBR es demasiado pequeno Por tanto casi siempre es necesario saltar a una segunda etapa del cargador de arranque 6 La ubicacion de esta segunda etapa dependeria del tipo de tabla de particiones usado 7 Tabla de particiones tipo DOS ubicadas en MBR Es habitual ubicarlo en el espacio entre el MBR y donde empieza la primera particion Por ejemplo GRUB con BIOS divide su ejecucion en tres etapas La del MBR la del espacio entre el MBR y el inicio de la primera particion y la tercera dentro del directorio boot grub del Linux que haya instalado GRUB en disco Tabla de particiones GPT Se ubica en la llamada BIOS Boot Partition que suele estar ubicada en el espacio sobrante entre el final de la GPT y la primera particion Carga encadenada EditarA veces un cargador de arranque en lugar de llamar al kernel del sistema operativo lo que se llama carga directa llama a otro cargador de arranque A este proceso se le llama carga encadenada en ingles chain loading 8 9 Un cargador de arranque puede por ejemplo llamar a otro para llamar al kernel de un sistema operativo que no soporta Por ejemplo GRUB usa este metodo para cargar los sistemas operativos Microsoft MS DOS y Microsoft Windows GRUB apunta al primer sector de la particion que tiene ese sistema operativo y alli encuentra los archivos necesarios para arrancarlo 8 9 Otra posible razon para poder usar carga encadenada es poder usar Secure Boot con software libre Tenemos un cargador de arranque firmado cuya funcion principal tarea es instalar unas claves adicionales que permitan verificar la firma para cargar otros binarios UEFI tipicamente cargadores de arranque 10 11 De esta forma se convierte en la raiz de confianza para todos los demas programas UEFI proporcionados por la distribucion Esto permite una delegacion de confianza limpia Cada distribucion de software libre es responsable de firmar el resto de sus paquetes Los dos cargadores de arranque firmados mas habituales son Shim y Preloader 10 Estos cargadores han sido desarrollados para ser confiables y que puedan ser firmados por cualquier autoridad de certificacion Para ello tiene un codigo seguro claro y auditable Ademas estos cargadores firmados no deberian tener que actualizarse con mucha frecuencia lo que reduce la carga de trabajo de los equipos centrales de auditoria y CA 12 Aplicando el concepto de carga encadenada a las distintas etapas necesarias en el arranque BIOS ha producido que ciertos cargadores de arranque se especialicen Dando lugar a distintos tipos de cargadores de arranqe Cargadores de arranque de primera etapa o FSBL del ingles First Stage Boot Loader especializados en estar en la primera etapa la alojada en el MBR Ejemplos de este tipo de cargadores son U Boot SPL 13 Su principal funcion es localizar el cargador de arranque de segunda etapa y cargar la primera parte de el en memoria y ejecutarla 14 Cargadores de arranque segunda etapa o SSBL del ingles Second Stage Boot Loader especializados en estar en la segunda etapa Con este enfoque cargadores de arranque complejos se puede interpretar que estan compuestos por distintos cargadores de arranque basicos Por ejemplo se puede considerar que GRUB esta compuesto por un cargador primario o de primera fase un cargador de etapa 1 5 y un cargador secundario o de segunda fase 15 Ubicacion EditarEl cargador de arranque puede estar en Disco duro externo o interno Con firmware BIOS En estos sistemas el primer cargador de arranque se ubica en los primeros 446 bytes del MBR El resto del MBR lo ocupa la tabla de particiones 64 bytes y los 2 bytes finales a 0x55AA Con firmware UEFI En estos sistemas los cargadores de arranque se ubican en la EFI System Partition ESP CD DVD ISO memoria USB Servidor de Red NFS HTTP FTPEjemplos EditarEjemplos de cargadores de arranque son LILO siglas de Linux Loader Descontinuado por sus limitaciones entre ellas no servir para firmware con interfaz UEFI Solo sirve para firmware BIOS ELILO siglas de EFI Linux Loader Es el cargador de arranque mas antiguo de Linux compatible con EFI Es similar a LILO Esta descontinuado 16 GRUB legacy Antes de GRUB 2 se llamaba simplemente GRUB Soporta firmware con interfaces BIOS y UEFI GRUB 2 Es una nueva version de GRUB pero sin reutilizar nada del codigo original de la version anterior de GRUB GRUB legacy Soporta firmware con interfaces BIOS o UEFI Soporta caracteristicas avanzada como cargar drivers o definir sentencias que configuran el arranque en funcion de condiciones del sistema como por ejemplo si hay un disco externo conectado Das U Boot Solo soporta firmware UEFI Se usa para sistemas empotrados y es el mas usado para arquitecturas ARM systemd boot Antes llamado gummiboot Solo soporta firmware UEFI Es en modo texto Es muy simple y se enlaza con el bootloader nativo de la propia UEFI Comparado con GRUB 2 es mas robusto mas veloz pero tiene menos opciones de administracion Shim Cargador de arranque firmado para su uso con Secure Boot 10 Preloader Cargador de arranque firmado para su uso con Secure Boot 10 Del proyecto SYSLINUX EL proyecto SYSLINUX proporciona un conjunto de cargadores de arranque ligeros SYSLINUX original Permite arrancar desde sistemas de archivos FAT Usado para arrancar desde de discos flexibles y memorias USB ISOLINUX Permite arrancar desde sistemas de archivos ISO 9660 Usado para arrancar desde CD DVD EXTLINUX Permite arrancar desde sistemas de archivos ext2 ext3 ext4 y btrfs PXELINUX Permite arrancar desde servidores de red con sistemas PXE Preboot Execution Environment MEMDISK Permite arrancar desde memoria LOADLIN siglas de LOAD LINux Cargador de arranque antiguo que permitia arrancar Linux DOS y versiones antiguas de Windows 5 Descontinuado NTLDR siglas de NT Loader Cargador de arranque de las primeras versiones de Microsoft Windows NT incluyendo Windows XP y Windows Server 2003 BOOTMGR siglas de BOOT ManaGeR tambien llamado Windows Boot Manager Cargador de arranque usado para reemplazar a NTLDR desde Windows Vista Windows 7 Windows 8 Windows 10 Con la opcion Legacy el Windows Boot Manager ejecutara NTLDR y continuara el proceso como este lo haria al ejecutar cualquier version de Windows que haga uso de NTLDR como Windows XP 17 18 Referencias Editar a b c d Linuxnomicon 5 1 1 4 Gestores y cargadores de arranque Jose Miguel Sanchez Ales 2016 2020 a b EFIBootLoaders wiki ubuntu com 23 de septiembre de 2013 Booting the Linux Kernel without a bootloader tecporto pt 2 de junio de 2018 Multiboot kernel Alex dzyoba 28 de septiembre de 2015 a b Embedded Linux Development Tutorial Timesys Corporation 2016 Operating Systems Development Bootloaders 3 Mike 2009 Linuxnomicon 5 1 2 Particiones a b What is GRUB KB Article 129312 dell com 14 de agosto de 2020 a b El Gestor de Arranque GRUB Guia de Instalacion Fedora 12 2009 a b c d Unified Extensible Firmware Interface Secure Boot Using a signed boot loader wiki archlinux org 5 de noviembre de 2020 Package shim signed 1 33 15 1533136590 3beb971 7 debian org SecureBoot wiki debian org 2 de junio de 2020 U Boot overview wiki st com noviembre de 2020 Fedora 16 Installation Guide F 2 A Detailed Look at the Boot Process 2011 Fedora 12 Installation Guide The GRUB Boot Loader 2009 Managing EFI Boot Loaders for Linux Using ELILO Rod Smith 7 de julio de 2018 Gestores de Arranque 22 de noviembre de 2012 Windows Boot Manager Camilo 15 marzo 2018Enlaces externos EditarManaging EFI Boot Loaders for Linux por Rod Smith Vease tambien EditarGestor de arranque Arranque informatica Arranque desde red Android rooting Datos Q836795 Multimedia Boot loaders Obtenido de https es wikipedia org w index php title Cargador de arranque amp oldid 139715033, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos