GNU GRUB

Paquete de cargador de arranque

GNU GRUB
Autor(es) original(es)Eric Bolena
Desarrollador(es)Proyecto GNU
Lanzamiento inicial1995 ; hace 29 años ( 1995 )
Versión estable
2.12 [1]  / 20 de diciembre de 2023
Versión preliminar
2.12-rc1 [2]  / 10 de julio de 2023
Repositorio
  • git.savannah.gnu.org/cgit/grub.git
Escrito enAsamblea , C [3]
Sistema operativoLinux , GNU/Hurd , macOS , BSD ( Solaris / illumos (puerto x86)) y Windows (a través de carga en cadena)
PlataformaIA-32 , x86-64 , IA-64 , ARM , PowerPC , s390x , MIPS , RISC-V , LoongArch y SPARC
Disponible enInglés y otros
TipoCargador de arranque
Licencia2007: GPL-3.0 o posterior [a] [5]
1999: GPL-2.0 o posterior [b]
Sitio webwww.gnu.org/software/grub

GNU GRUB (abreviatura de GNU GRand Unified Bootloader , comúnmente conocido como GRUB ) es un paquete de cargador de arranque del Proyecto GNU . GRUB es la implementación de referencia de la Especificación de arranque múltiple de la Free Software Foundation , que brinda al usuario la opción de arrancar uno de los múltiples sistemas operativos instalados en una computadora o seleccionar una configuración de kernel específica disponible en las particiones de un sistema operativo en particular.

GNU GRUB se desarrolló a partir de un paquete llamado Grand Unified Bootloader (un juego de palabras con Grand Unified Theory [6] ). Se utiliza predominantemente para sistemas tipo Unix .

Operación

GRUB2 en un disco duro particionado con MBRboot.img ; la etapa 1 ( ) se puede escribir alternativamente en uno de los sectores de arranque de la partición .
GRUB2 en un disco duro particionado con GPT , arranque en firmware BIOS o modo de compatibilidad UEFI (CSM)

Arranque

Cuando se enciende un ordenador, su BIOS encuentra el dispositivo de arranque primario (normalmente el disco duro del ordenador) y ejecuta el programa de arranque inicial desde el registro de arranque maestro (MBR). El MBR es el primer sector del disco duro. Este programa de arranque debe ser pequeño porque tiene que caber en un solo sector. Durante mucho tiempo, el tamaño de un sector ha sido de 512 bytes. Desde 2009 hay discos duros disponibles con un tamaño de sector de 4096 bytes, llamados discos de formato avanzado , pero a partir de octubre de 2013 [actualizar], todavía se accede a dichos discos duros en sectores de 512 bytes, utilizando la emulación 512e . [7] La ​​tabla de particiones MBR heredada admite un máximo de cuatro particiones y ocupa 64 bytes, en conjunto. Junto con la firma de disco opcional (cuatro bytes) y la marca de tiempo de disco (seis bytes), esto deja entre 434 y 446 bytes disponibles para el código de máquina de un gestor de arranque. Aunque un espacio tan pequeño puede ser suficiente para cargadores de arranque muy simples, [8] no es lo suficientemente grande como para contener un cargador de arranque que admita sistemas de archivos complejos y múltiples , selección de opciones de arranque mediante menús, etc. Por lo tanto, los cargadores de arranque con huellas más grandes se dividen en partes, donde la parte más pequeña cabe en el MBR, mientras que una o más partes más grandes se almacenan en otras ubicaciones, como sectores vacíos entre el MBR y la primera partición. El código en el MBR luego hace poco más que iniciar la segunda parte.

El propósito de las partes restantes del cargador de arranque es arrancar un sistema operativo mediante su configuración e iniciando el núcleo . En la mayoría de los casos, los núcleos se almacenan como archivos que residen en sistemas de archivos apropiados, pero el concepto de sistema de archivos es desconocido para el BIOS. Por lo tanto, en los sistemas basados ​​en BIOS, la función de un cargador de arranque es acceder al contenido de esos archivos, para que se puedan cargar en la RAM y ejecutar.

Un posible enfoque para los cargadores de arranque es cargar imágenes del núcleo accediendo directamente a sectores del disco duro sin entender el sistema de archivos subyacente. Por lo general, se requiere un nivel adicional de indirección , en forma de mapas o archivos de mapas  : archivos auxiliares que contienen una lista de sectores físicos ocupados por imágenes del núcleo. Dichos mapas deben actualizarse cada vez que una imagen del núcleo cambia su ubicación física en el disco, debido a la instalación de nuevas imágenes del núcleo, la desfragmentación del sistema de archivos, etc. Además, en caso de que los mapas cambien su ubicación física, sus ubicaciones deben actualizarse dentro del código MBR del cargador de arranque, de modo que el mecanismo de indirección de sectores continúe funcionando. Esto no solo es engorroso, sino que también deja al sistema en la necesidad de reparaciones manuales en caso de que algo salga mal durante las actualizaciones del sistema. [9]

Otro enfoque es hacer que un cargador de arranque conozca los sistemas de archivos subyacentes, de modo que las imágenes del núcleo se configuren y se acceda a ellas utilizando sus rutas de archivo reales . Eso requiere que un cargador de arranque contenga un controlador para cada uno de los sistemas de archivos compatibles, de modo que el propio cargador de arranque pueda comprenderlos y acceder a ellos. Este enfoque elimina la necesidad de codificar las ubicaciones de los sectores del disco duro y la existencia de archivos de mapas, y no requiere actualizaciones de MBR después de que se agreguen o muevan imágenes del núcleo. La configuración de un cargador de arranque se almacena en un archivo normal, al que también se accede de una manera que tenga en cuenta el sistema de archivos para obtener las configuraciones de arranque antes del arranque real de cualquier imagen del núcleo. Por lo tanto, menos cosas pueden salir mal durante las actualizaciones del sistema. Como desventaja, estos cargadores de arranque son más grandes y más complejos. [9]

GNU GRUB utiliza el segundo enfoque, entendiendo los sistemas de archivos subyacentes. El cargador de arranque en sí se divide en varias etapas para que encaje en el esquema de arranque MBR.

Se utilizan dos versiones principales de GRUB: la versión 0 de GRUB, denominada GRUB legacy, solo se utiliza en versiones anteriores de distribuciones de Linux. GRUB 2 se escribió desde cero y pretendía reemplazar a su predecesor, y ahora se utiliza en la mayoría de distribuciones de Linux.

Versión 0 (GRUB Legacy)

Menú de GRUB v1 (que se ejecuta como parte de la instalación de Ubuntu 8.04)

GRUB 0.x sigue un enfoque de dos etapas. El registro de arranque maestro (MBR) normalmente contiene la etapa 1 de GRUB, o puede contener una implementación de MBR estándar que carga en cadena la etapa 1 de GRUB desde el sector de arranque de la partición activa . Dado el pequeño tamaño de un sector de arranque (512 bytes), la etapa 1 puede hacer poco más que cargar la siguiente etapa de GRUB cargando algunos sectores del disco desde una ubicación fija cerca del inicio del disco (dentro de sus primeros 1024 cilindros).

La etapa 1 puede cargar la etapa 2 directamente, pero normalmente está configurada para cargar la etapa 1.5 , ubicada en los primeros 30 KiB del disco duro inmediatamente después del MBR y antes de la primera partición. En caso de que este espacio no esté disponible (tabla de particiones inusual, controladores de disco especiales, disco GPT o LVM ), la instalación de la etapa 1.5 fallará. La imagen de la etapa 1.5 contiene controladores del sistema de archivos, lo que le permite cargar directamente la etapa 2 desde cualquier ubicación conocida en el sistema de archivos, por ejemplo desde /boot/grub. Luego, la etapa 2 cargará el archivo de configuración predeterminado y cualquier otro módulo necesario.

Versión 2 (GRUB 2)

GRUB 2 – Particionado MBR vs. GPT y secuencia de arranque visualizada (sistemas que utilizan firmware BIOS).

Puesta en marcha en sistemas que utilizanBIOSFirmware

  • Véase la ilustración en la última imagen de la derecha. [10]
  • boot.img( etapa 1 ) se escribe en los primeros 440 bytes del Registro de arranque maestro (código de arranque MBR en el sector 0), u opcionalmente en un sector de arranque de partición (PBR). Se direcciona mediante una dirección LBAdiskboot.img de 64 bits . El número de sector real se escribe mediante . es el primer sector de con el único propósito de cargar el resto de identificados mediante números de sector LBA también escritos mediante .grub-installdiskboot.imgcore.imgcore.imggrub-install
    • En los discos particionados con MBR, core.img( etapa 1.5 ) se almacena en los sectores vacíos (si están disponibles) entre el MBR y la primera partición. Los sistemas operativos recientes sugieren un espacio de 1 MiB aquí para la alineación (2047 sectores de 512 bytes o 255 sectores de 4 KiB). Este espacio solía ser de 62 sectores (31 KiB) como recordatorio del límite de número de sectores del direccionamiento Cylinder-Head-Sector (C/H/S) utilizado por BIOS antes de 1996, por lo tanto, core.imgestá diseñado para ser menor a 32 KiB.
    • En los discos particionados con GPT, core.imgse escribe en su propia partición. Debe estar marcada como "BIOS_grub", no debe estar formateada y puede tener un tamaño de hasta 1 MiB.
  • Etapa 2: core.img carga /boot/grub/i386-pc/normal.moddesde la partición configurada por grub-install. Si el índice de la partición ha cambiado, GRUB no podrá encontrar el normal.mod, y le mostrará al usuario el mensaje de GRUB Rescue.
  • Dependiendo de cómo se haya instalado GRUB2, /boot/grub/se encuentra en la partición raíz de la distribución de Linux o en la partición separada /boot .
  • después de cargar normal.mod: normal.mod analiza /boot/grub/grub.cfg, opcionalmente carga módulos (por ejemplo, para la interfaz gráfica de usuario y la compatibilidad con el sistema de archivos) y muestra el menú.

Puesta en marcha en sistemas que utilizanUEFIFirmware

  • /efi/<distro>/grubx64.efi(para sistemas UEFI x64 ) se instala como un archivo en la partición del sistema EFI y se inicia mediante el firmware directamente, sin un boot.imgen el sector 0 del MBR. Este archivo es como stage1 y stage1.5.
  • /boot/grub/se puede instalar en la partición del sistema EFI o en la partición separada /boot , entre otras.
  • Para los sistemas UEFI x64, la etapa 2 son el /boot/grub/x86_64-efi/normal.modarchivo y otros /boot/grub/archivos.

Después del inicio

GRUB presenta un menú en el que el usuario puede elegir entre los sistemas operativos (OS) encontrados por grub-install. GRUB se puede configurar para cargar automáticamente un SO específico después de un tiempo de espera definido por el usuario. Si el tiempo de espera se establece en cero segundos, al mantener presionado el botón ⇧ Shiftmientras se inicia la computadora se puede acceder al menú de inicio. [11]

En el menú de selección del sistema operativo, GRUB acepta un par de comandos:

  • Al pulsar , es posible editar los parámetros del kernel del elemento de menú seleccionado antes de que se inicie el sistema operativo . La razón para hacer esto en GRUB (es decir, no editar los parámetros en un sistema que ya se ha iniciado) puede ser un caso de emergencia: el sistema no ha podido iniciarse. Utilizando la línea de parámetros del kernel es posible, entre otras cosas, especificar un módulo que se deshabilitará (incluirá en la lista negra) para el kernel. Esto podría ser necesario si el módulo del kernel específico está dañado y, por lo tanto, impide el arranque. Por ejemplo, para incluir en la lista negra el módulo del kernel , se podría agregar al final de los parámetros del kernel.envidia-currentmodprobe.blacklist=nvidia-current
  • Al presionar , el usuario ingresa a la línea de comandos de GRUB. La línea de comandos de GRUB no es un shell de Linux normal, como por ejemplo bash , y solo acepta ciertos comandos específicos de GRUB, documentados por varias distribuciones de Linux. [12]c

Una vez que se han seleccionado las opciones de arranque, GRUB carga el kernel seleccionado en la memoria y le pasa el control. Alternativamente, GRUB puede pasar el control del proceso de arranque a otro cargador de arranque, utilizando la carga en cadena . Este es el método utilizado para cargar sistemas operativos que no admiten la especificación Multiboot o que no son compatibles directamente con GRUB.

Identificación de particiones (solución alternativa de UUID)

Una computadora puede tener varios discos duros conectados a ella. Estos se pueden identificar a través de su puerto SATA. Cada vez que la computadora realiza una autoprueba de encendido (POST) , el disco duro conectado a un puerto específico de la placa base podría tener asignado el mismo identificador, por ejemplo hd0, hd1, …. Pero, ¿qué sucede si no se puede garantizar dicha coherencia? ¿Qué sucede si la constelación de discos duros conectados cambia de un inicio a otro? ¿Qué sucede si un disco duro se conecta a otra computadora?

Al ingresar lsa la consola de rescate de GRUB (disponible después de cargar core.img) o a la consola de GRUB (disponible después de cargar normal.mod), se puede obtener una lista de todos los discos duros y particiones disponibles. Por ejemplo, ls (hd0,5)/) mostrará números que se pueden asignar a los discos duros y particiones reales.

Como no se puede garantizar que el hd0"estilo de numeración de los discos duros a través de números de dispositivo sea consistente, GNU GRUB puede usar un Identificador Único Universal (UUID) para identificar particiones (en realidad, instancias del sistema de archivos).

Los sistemas de archivos ext2, ext3, ext4 y xfs utilizan un UUID para identificar de forma única una instancia. El UUID se crea cuando se formatea una partición. El UUID es parte del sistema de archivos y se escribe en el superbloque . Todas las operaciones que no sean de formateo deben dejar el UUID inalterado. Es posible cambiar el UUID o duplicarlo utilizando dd para clonar una partición completa.

El archivo grub.cfgse utiliza para configurar GRUB. Contiene comandos que se ejecutarán durante cada inicio. Si no existe un archivo válido grub.cfg, GRUB mostrará un mensaje de aviso.

Un mínimo absoluto grub.cfgpodría contener solo los dos comandos siguientes (cf. initial ramdisk ):

linux (hd0,1)/kernel/vmlinuz-3.20.1-4 ro # use el nombre de archivo "vmlinuz-…" ubicado en el directorio /kernel en la primera partición del primer disco duro como imagen del kernel de Linuxinitrd (hd0,1)/boot/initrd.img-3.20.1-4 # use el archivo llamado "initrd.img–…" ubicado en el directorio /boot en la primera partición del primer disco duro como disco RAM inicial

Un aficionado grub.cfgdescribirá el menú que se presentará, utilizará varios colores y puede especificar una imagen de fondo.

Historia

GRUB fue desarrollado inicialmente por Erich Boleyn como parte del trabajo sobre el arranque del sistema operativo GNU / Hurd , desarrollado por la Free Software Foundation . [13] En 1999, Gordon Matzigkeit y Yoshinori K. Okuji hicieron de GRUB un paquete de software oficial del Proyecto GNU y abrieron el proceso de desarrollo al público. [13] A partir de 2014 [actualizar], la mayoría de las distribuciones de Linux han adoptado GNU GRUB 2, así como otros sistemas como la PlayStation 4 de Sony . [14]

Desarrollo

La versión 0 de GRUB (también conocida como "GRUB Legacy") ya no está en desarrollo y se está eliminando gradualmente. [15] Los desarrolladores de GNU GRUB han cambiado su enfoque a GRUB 2, [16] una reescritura completa con objetivos que incluyen hacer que GNU GRUB sea más limpio, más robusto, más portátil y más poderoso. GRUB 2 comenzó bajo el nombre PUPA . PUPA fue respaldado por la Agencia de Promoción de Tecnología de la Información (IPA) en Japón. PUPA se integró en el desarrollo de GRUB 2 alrededor de 2002, cuando la versión 0.9x de GRUB pasó a llamarse GRUB Legacy.

Algunos de los objetivos del proyecto GRUB 2 incluyen soporte para plataformas distintas a x86 , internacionalización y localización , caracteres no ASCII, módulos dinámicos, administración de memoria , un minilenguaje de scripting , migración de código específico de la plataforma (x86) a módulos específicos de la plataforma y un marco orientado a objetos. La versión 2.00 de GNU GRUB fue lanzada oficialmente el 26 de junio de 2012. [17] [18]

Tres de las distribuciones Linux más utilizadas utilizan GRUB 2 como su cargador de arranque principal. [19] [20] [21] Ubuntu lo adoptó como el cargador de arranque predeterminado en su versión 9.10 de octubre de 2009. [22] Fedora siguió su ejemplo con Fedora 16 lanzado en noviembre de 2011. [23] OpenSUSE adoptó GRUB 2 como el cargador de arranque predeterminado con su lanzamiento 12.2 de septiembre de 2012. [24] Solaris también adoptó GRUB 2 en la plataforma x86 en el lanzamiento de Solaris 11.1. [25] Buildroot también utiliza GNU GRUB para objetivos x86 y x86_64 .

A finales de 2015, se descubrió y solucionó rápidamente el problema de presionar la tecla de retroceso 28 veces para omitir la contraseña de inicio de sesión. [26] [27]

Variantes

GNU GRUB es software libre , por lo que se han creado varias variantes. Algunas de ellas notables, que no se han fusionado con la línea principal de GRUB:

  • OpenSolaris incluye un GRUB Legacy modificado que admite segmentos VTOC de Solaris, selección automática de kernel de 64 bits y arranque desde ZFS (con compresión y múltiples entornos de arranque). [28] [29]
  • Google Summer of Code 2008 tuvo un proyecto para permitir que GRUB legacy arranque desde particiones con formato ext4 . [30]
  • El proyecto Syllable creó una versión modificada de GRUB para cargar el sistema desde su sistema de archivos AtheOS . [31]
  • TrustedGRUB extiende GRUB al implementar la verificación de la integridad del sistema y la seguridad del proceso de arranque, utilizando el Módulo de plataforma confiable (TPM). [32]
  • El conjunto de pruebas de implementación de BIOS de Intel (BITS) proporciona un entorno GRUB para probar BIOS y, en particular, la inicialización de procesadores, hardware y tecnologías de Intel. BITS admite la creación de scripts a través de Python e incluye API de Python para acceder a diversas funciones de bajo nivel de la plataforma de hardware, como ACPI, registros de CPU y chipset, PCI y PCI Express. [33]
  • GRUB4DOS es una bifurcación heredada de GRUB que mejora la experiencia de instalación en DOS y Microsoft Windows al colocar todo, excepto la configuración GRLDR, en un solo archivo de imagen. Se puede cargar directamente desde DOS, o mediante NTLDR o Windows Boot Manager . [34] [35] GRUB4DOS está en desarrollo activo y, a partir de 2021, es compatible con UEFI. [36]

Utilidades

Herramientas de configuración de GRUB

StartUp-Manager, un programa utilizado para configurar GRUB

Las herramientas de configuración que utilizan varias distribuciones suelen incluir módulos para configurar GRUB. Por ejemplo, YaST2 en las distribuciones SUSE Linux y openSUSE y Anaconda en las distribuciones Fedora / RHEL . StartUp-Manager y GRUB Customizer son editores de configuración gráficos para distribuciones basadas en Debian. El desarrollo de StartUp-Manager se detuvo el 6 de mayo de 2011 después de que el desarrollador principal citara razones personales para no desarrollar activamente el programa. [37] GRUB Customizer también está disponible para distribuciones basadas en Arch.

Para GRUB 2 existen módulos de control de KDE. [38] [39]

GRLDR ICE es una pequeña herramienta para modificar la configuración predeterminada del archivo grldr para GRUB4DOS. [40]

Utilidades de reparación de arranque

Boot-Repair es una sencilla herramienta gráfica para solucionar problemas frecuentes relacionados con el arranque de GRUB y el cargador de arranque de Microsoft Windows . Esta aplicación está disponible bajo la licencia GNU GPL . Boot-Repair puede reparar GRUB en varias distribuciones de Linux, incluidas, entre otras, Debian, Ubuntu, Mint , Fedora, openSUSE y Arch Linux .

Personalizador de GRUB

Instalador para Windows

Grub2Win es un paquete de software de código abierto para Windows. Permite que GNU GRUB arranque desde un directorio de Windows. El programa de instalación instala GNU GRUB versión 2.12 en una partición NTFS. Luego se utiliza una aplicación GUI de Windows para personalizar el menú de arranque de GRUB, los temas, el orden de arranque UEFI, los scripts, etc. Todos los scripts y comandos de GNU GRUB son compatibles con los sistemas UEFI y heredados. Grub2Win puede configurar GRUB para el arranque múltiple de Windows, Ubuntu, openSuse, Fedora y muchas otras distribuciones de Linux. Está disponible de forma gratuita bajo la licencia GNU GPL en SourceForge.

Gestores de arranque alternativos

La fortaleza de GRUB es la amplia gama de plataformas, sistemas de archivos y sistemas operativos compatibles, lo que lo convierte en la opción predeterminada para distribuciones y sistemas integrados.

Sin embargo, existen administradores de arranque orientados al usuario final que ofrecen una experiencia de usuario más amigable, un selector gráfico de SO y una configuración más sencilla:

  • rEFInd – Administrador de arranque gráfico estilo Macintosh, solo para computadoras basadas en UEFI (BIOS no compatible).
  • CloverEFI: gestor de arranque gráfico de estilo Macintosh para ordenadores basados ​​en BIOS y UEFI. Emula UEFI con un DUET muy modificado del proyecto TianoCore y requiere una partición con formato FAT incluso en sistemas BIOS. Como ventaja, tiene un controlador de sistema de archivos básico en el sector de arranque de la partición, lo que evita la fragilidad de una segunda o tercera etapa y el infame mensaje de rescate de GRUB. La interfaz de usuario es similar a rEFInd: ambos heredan del gestor de arranque abandonado rEFIt.

Alternativas no gráficas:

  • systemd-boot : administrador de arranque liviano, solo UEFI, con menú de selección de sistema operativo basado en texto.

Instrucciones y solución de problemas

Los wikis de distribución tienen muchas soluciones para problemas comunes y configuraciones personalizadas que pueden ayudarte:

  • Arch Linux / GRUB
  • Ubuntu /Grub2 (ver también los enlaces en la parte inferior)
  • Fedora /GRUB_2
  • Gentoo / GRUB2
  • Tutorial del tema Grub2

Documentación

  • Manual de GRUB: la documentación más detallada, incluidos todos los comandos
  • Sitio web oficial
  • Wiki de GRUB archivada en 2010

Artículos introductorios

Tecnicismos

Véase también

Notas

  1. ^ GPL-3.0 o posterior desde el 21 de julio de 2007. [4]
  2. ^ GPL-2.0 o posterior desde 1999 hasta el 2 de julio de 2007.

Referencias

  1. Daniel Kiper (20 de diciembre de 2023). «GRUB 2.12 lanzado» . Consultado el 20 de diciembre de 2023 .
  2. ^ "Candidato a versión 1 de GRUB 2.12". 10 de julio de 2023.
  3. ^ "Resumen del análisis de Ohloh – GNU GRUB". Ohloh . Archivado desde el original el 4 de febrero de 2009 . Consultado el 12 de mayo de 2010 .
  4. ^ "Migrar a la Licencia Pública General GNU versión 3". 21 de julio de 2007. Archivado desde el original el 27 de octubre de 2021 . Consultado el 27 de octubre de 2021 .
  5. ^ "Licencia GNU GRUB". Archivado desde el original el 11 de septiembre de 2013.
  6. ^ Definiciones de EnterpriseLinux.com Archivado el 3 de diciembre de 2010 en Wayback Machine Definición de GRand Unified Bootloader
  7. ^ Smith, Ryan (18 de diciembre de 2009). «Western Digital's Advanced Format: The 4K Sector Transition Begins» (El formato avanzado de Western Digital: comienza la transición al sector 4K). AnandTech . Archivado desde el original el 12 de marzo de 2012. Consultado el 10 de octubre de 2013 .
  8. ^ "mbldr (Master Boot LoaDeR)". mbldr.sourceforge.net . 2009. Archivado desde el original el 16 de marzo de 2013 . Consultado el 10 de octubre de 2013 .
  9. ^ ab "Arranque y gestores de arranque". SUSE. Archivado desde el original el 17 de septiembre de 2013. Consultado el 10 de octubre de 2013 .
  10. ^ "Manual de GNU GRUB 2.04". www.gnu.org . Archivado desde el original el 3 de abril de 2018 . Consultado el 10 de noviembre de 2020 .
  11. ^ Hoffman, Chris (22 de septiembre de 2014). "Cómo configurar los ajustes del cargador de arranque GRUB2". HowToGeek.com . Archivado desde el original el 28 de abril de 2015. Consultado el 25 de abril de 2015 .
  12. ^ "Documentación de GNU GRUB". Archivado desde el original el 18 de abril de 2014 . Consultado el 16 de abril de 2014 .
  13. ^ ab Manual de GRUB – 1.2 Historial de Grub Archivado el 16 de abril de 2014 en Wayback Machine . Gnu.org (23 de junio de 2012). Consultado el 1 de diciembre de 2012.
  14. ^ "PS4 ejecuta Orbis OS, una versión modificada de FreeBSD similar a Linux". extremetech.com . 24 de junio de 2013. Archivado desde el original el 18 de noviembre de 2020 . Consultado el 23 de octubre de 2013 .
  15. ^ GNU GRUB – GRUB Legacy Archivado el 20 de abril de 2014 en Wayback Machine . Gnu.org. Recuperado el 1 de diciembre de 2012.
  16. ^ "GNU GRUB – GRUB 2". Archivado desde el original el 7 de junio de 2008. Consultado el 18 de abril de 2014 .{{cite web}}: CS1 maint: bot: estado de URL original desconocido ( enlace ).
  17. ^ Serbinenko, Vladimir (28 de junio de 2012). «GRUB 2.00 lanzado». grub-devel (Lista de correo). Archivado desde el original el 13 de enero de 2013 . Consultado el 1 de diciembre de 2012 .
  18. ^ Larabel, Michael. "GRUB 2.00 Boot-Loader se lanzó oficialmente". Phoronix.com . Archivado desde el original el 13 de septiembre de 2016. Consultado el 28 de junio de 2012 .
  19. ^ Haddon, Tom (26 de enero de 2012). "Introducción a Ubuntu". WebJunction. Archivado desde el original el 28 de octubre de 2012. Consultado el 21 de septiembre de 2012 .
  20. ^ Janssen, Cory. "¿Qué es Red Hat Enterprise Linux (RHEL)?". Technopedia. Archivado desde el original el 3 de octubre de 2012. Consultado el 21 de septiembre de 2012 .
  21. ^ Varghese, Sam (20 de septiembre de 2012). «El jefe de SUSE enumera los avances logrados desde la privatización». Archivado desde el original el 22 de septiembre de 2012. Consultado el 21 de septiembre de 2012 .
  22. ^ "Versión GRUB 9.10 Karmic". Distrowatch.com. Archivado desde el original el 9 de mayo de 2012. Consultado el 8 de julio de 2012 .
  23. ^ GRUB 2 Archivado el 5 de agosto de 2012 en Wayback Machine . FedoraProject. Consultado el 1 de diciembre de 2012.
  24. ^ openSUSE:Próximas funciones – openSUSE Archivado el 20 de septiembre de 2012 en Wayback Machine . En.opensuse.org. Consultado el 1 de diciembre de 2012.
  25. ^ Solaris 11.1 Archivado el 19 de junio de 2018 en Wayback Machine . Consultado el 19 de marzo de 2015.
  26. ^ Khandelwal, Swati (16 de diciembre de 2015). "Puedes hackear una computadora Linux simplemente presionando 'Retroceso' 28 veces". thehackernews.com . Archivado desde el original el 30 de abril de 2017. Consultado el 13 de marzo de 2017 .
  27. ^ Marco y Hector; Ripoll, Ismael (diciembre de 2015). «Back to 28: Grub2 Authentication 0-Day». Archivado desde el original el 17 de mayo de 2017. Consultado el 13 de marzo de 2017 .
  28. ^ x86: Modificación del comportamiento de arranque mediante la edición del menú GRUB en el momento del arranque Archivado el 19 de julio de 2011 en Wayback Machine , Modificación del comportamiento de arranque de Solaris en sistemas basados ​​en x86 (mapa de tareas) – Guía de administración del sistema: administración básica
  29. ^ x86: Implementaciones de GRUB compatibles Archivado el 21 de octubre de 2009 en Wayback Machine , (Guía de administración del sistema: administración básica) – Sun Microsystems
  30. ^ Peng, Tao. «Grub4ext4». Archivado desde el original el 31 de diciembre de 2016. Consultado el 13 de junio de 2017 .
  31. ^ 2.3 ¿Por qué Syllable tiene su propia versión de GRUB? Archivado el 7 de enero de 2011 en Wayback Machine , Documentación de Syllable
  32. ^ "Proyecto TrustedGRUB". sourceforge.net . 5 de junio de 2013. Archivado desde el original el 29 de noviembre de 2014 . Consultado el 18 de noviembre de 2014 .
  33. ^ Conjunto de pruebas de implementación del BIOS Archivado el 19 de octubre de 2016 en Wayback Machine , sitio web oficial de BITS
  34. ^ "grub4dos". Sitio de Google . Archivado desde el original el 7 de abril de 2019. Consultado el 7 de abril de 2019 .
  35. ^ "Introducción a GRUB para DOS". grub4dos.sourceforge.net . 2007. Archivado desde el original el 7 de abril de 2019 . Consultado el 7 de abril de 2019 .
  36. ^ grub4dos en GitHub
  37. ^ "StartUp-Manager ha muerto: StartUp-Manager". launchpad.net . 6 de mayo de 2011. Archivado desde el original el 1 de agosto de 2020 . Consultado el 9 de abril de 2017 .
  38. ^ Editor del cargador de arranque GRUB2 Archivado el 7 de septiembre de 2015 en Wayback Machine . Kde-apps.org (18 de junio de 2012). Consultado el 1 de diciembre de 2012.
  39. ^ "Grub2 KCM". KDE-Apps.org . Archivado desde el original el 6 de septiembre de 2015. Consultado el 27 de enero de 2011 .
  40. ^ "Tutorial de Grub4DOS". Narod.ru . Archivado desde el original el 3 de mayo de 2015. Consultado el 25 de abril de 2015 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=GNU_GRUB&oldid=1255212178"