ГНУ GRUB
Оригинальный автор(ы) | Эрих Болейн |
---|---|
Разработчик(и) | Проект GNU |
Первоначальный выпуск | 1995 год |
Стабильная версия | 2.12 [1]
/ 20 декабря 2023 г. |
Предварительный выпуск | 2.12-rc1 [2]
/ 10 июля 2023 г. |
Репозиторий | |
Написано в | Сборка , С [3] |
Операционная система | Linux , GNU/Hurd , macOS , BSD , ( Solaris / illumos (порт x86)) и Windows (через цепную загрузку) |
Платформа | IA-32 , x86-64 , IA-64 , ARM , PowerPC , s390x , MIPS , RISC-V и SPARC |
Доступно в | английский и другие |
Тип | загрузчик |
Лицензия | 2007: GPL-3.0 или новее [а] [5] 1999: GPL-2.0 или более поздняя версия [б] |
Веб-сайт | www |
GNU GRUB (сокращение от GNU GRand Unified Bootloader , обычно называемое GRUB ) — пакет загрузчика из проекта GNU . GRUB — это эталонная реализация спецификации Free Software Foundation , мультизагрузки которая предоставляет пользователю возможность загрузки одной из нескольких операционных систем, установленных на компьютере, или выбора конкретной конфигурации ядра , доступной в разделах конкретной операционной системы.
GNU GRUB был разработан на основе пакета под названием Grand Unified Bootloader (игра на тему Grand Unified Theory). [6] ). Он преимущественно используется для Unix-подобных систем.
Операция
[ редактировать ]Этот раздел может быть слишком техническим для понимания большинства читателей . ( Август 2021 г. ) |
Загрузка
[ редактировать ]Когда компьютер включается, его BIOS находит основное загрузочное устройство (обычно жесткий диск компьютера) и запускает программу начальной загрузки из главной загрузочной записи (MBR). MBR — это первый сектор жесткого диска. Эта программа начальной загрузки должна быть небольшой, поскольку она должна помещаться в один сектор. Долгое время размер сектора составлял 512 байт. С 2009 года доступны жесткие диски с размером сектора 4096 байт, называемые дисками расширенного формата , но по состоянию на октябрь 2013 года [update]Доступ к таким жестким дискам по-прежнему осуществляется в секторах размером 512 байт с использованием эмуляции 512e . [7] Устаревшая таблица разделов MBR поддерживает максимум четыре раздела и занимает 64 байта вместе взятых. Вместе с дополнительной подписью диска (четыре байта) и меткой времени диска остается от 434 до 446 байтов (шесть байтов) для машинного кода загрузчика . Хотя такого небольшого пространства может быть достаточно для очень простых загрузчиков, [8] он недостаточно велик, чтобы содержать загрузчик, поддерживающий сложные и множественные файловые системы , выбор вариантов загрузки с помощью меню и т. д. Поэтому загрузчики с большим размером разбиваются на части, причем наименьшая часть помещается в MBR, а одна или более крупные фрагменты хранятся в других местах, например в пустых секторах между MBR и первым разделом. Код в MBR тогда делает лишь запуск второй части.
Целью оставшейся части загрузчика является фактическая загрузка операционной системы путем ее настройки и запуска ядра . Ядра в большинстве случаев хранятся в виде файлов, находящихся в соответствующих файловых системах, но концепция файловой системы неизвестна BIOS. Таким образом, в системах на базе BIOS обязанностью загрузчика является доступ к содержимому этих файлов, чтобы его можно было загрузить в ОЗУ и выполнить.
Одним из возможных подходов для загрузчиков является загрузка образов ядра путем прямого доступа к секторам жесткого диска без понимания базовой файловой системы. дополнительный уровень косвенности Обычно требуется в виде карт или файлов карт — вспомогательных файлов, содержащих список физических секторов, занятых образами ядра. Такие карты необходимо обновлять каждый раз, когда образ ядра меняет свое физическое местоположение на диске из-за установки новых образов ядра, дефрагментации файловой системы и т. д. Кроме того, в случае изменения физического местоположения карт их местоположение необходимо обновить в течение код MBR загрузчика, поэтому механизм перенаправления секторов продолжает работать. Это не только громоздко, но и требует ручного ремонта системы, если во время обновлений системы что-то пойдет не так. [9]
Другой подход заключается в том, чтобы сообщить загрузчику о базовых файловых системах, чтобы образы ядра настраивались и получали доступ к ним, используя их фактические пути к файлам . Для этого требуется, чтобы загрузчик содержал драйвер для каждой из поддерживаемых файловых систем, чтобы их мог понимать и получать к ним доступ сам загрузчик. Этот подход устраняет необходимость в жестко запрограммированном расположении секторов жесткого диска и наличии файлов карты, а также не требует обновлений MBR после добавления или перемещения образов ядра. Конфигурация загрузчика хранится в обычном файле, доступ к которому также осуществляется с учетом файловой системы для получения конфигураций загрузки перед фактической загрузкой любых образов ядра. Таким образом, во время обновлений системы может произойти меньше ошибок. Недостатком является то, что такие загрузчики больше и сложнее. [9]
GNU GRUB использует второй подход, изучая основные файловые системы. Сам загрузчик разделен на несколько этапов , чтобы соответствовать схеме загрузки MBR.
Обычно используются две основные версии GRUB: версия 1 GRUB, называемая устаревшей GRUB, распространена только в старых версиях дистрибутивов Linux. GRUB 2 был написан с нуля и предназначен для замены своего предшественника, и сейчас используется большинством дистрибутивов Linux.
Версия 0 (устаревшая версия GRUB)
[ редактировать ]GRUB 0.x использует двухэтапный подход. Основная загрузочная запись (MBR) обычно содержит этап 1 GRUB или может содержать стандартную реализацию MBR, которая загружает GRUB этап 1 по цепочке из загрузочного сектора активного раздела . Учитывая небольшой размер загрузочного сектора (512 байт), этап 1 может сделать немного больше, чем загрузить следующий этап GRUB, загрузив несколько секторов диска из фиксированного места рядом с началом диска (в пределах его первых 1024 цилиндров).
Этап 1 может напрямую загружать этап 2 , но обычно он настроен на загрузку этапа 1.5. , расположенный в первых 30 КиБ жесткого диска сразу после MBR и перед первым разделом. Если это пространство недоступно (необычная таблица разделов, специальные драйверы дисков, GPT или LVM- диск), установка этапа 1.5 завершится неудачей. Образ этапа 1.5 содержит драйверы файловой системы, что позволяет напрямую загружать этап 2 из любого известного места в файловой системе, например из /boot/grub
. На этапе 2 будет загружен файл конфигурации по умолчанию и любые другие необходимые модули.
Версия 2 (GRUB 2)
[ редактировать ]Запуск в системах с использованием BIOS прошивки
[ редактировать ]- См. иллюстрацию на последнем изображении справа. [10]
boot.img
( этап 1 ) записывается в первые 440 байт главной загрузочной записи (загрузочный код MBR в секторе 0) или, опционально, в загрузочный сектор раздела (PBR). Он адресованdiskboot.img
по 64-битному адресу LBA . Фактический номер сектора записываетсяgrub-install
.diskboot.img
это первый секторcore.img
с единственной целью загрузить остальную частьcore.img
обозначены номерами секторов LBA, также написаннымиgrub-install
.- На дисках с разделами MBR
core.img
( этап 1.5 ) хранится в пустых секторах (если они есть) между MBR и первым разделом. Последние операционные системы предполагают здесь пробел в 1 МБ для выравнивания (2047 секторов по 512 байт или 255 секторов по 4 КБ). Раньше этот разрыв составлял 62 сектора (31 КиБ) как напоминание об ограничении числа секторов адресации « головка цилиндра-сектор» (C/H/S), используемой BIOS до 1996 года, поэтомуcore.img
рассчитан на размер менее 32 КиБ. - На дисках с разделами GPT
core.img
записывается в свой раздел. Он должен быть помечен как «BIOS_grub», не должен быть отформатирован и может иметь размер всего 1 МБ.
- На дисках с разделами MBR
- этап 2:
core.img
нагрузки/boot/grub/i386-pc/normal.mod
из раздела, настроенногоgrub-install
. Если индекс раздела изменился, GRUB не сможет найтиnormal.mod
и предоставляет пользователю приглашение восстановления GRUB. - В зависимости от того, как был установлен GRUB2,
/boot/grub/
находится либо в корневом разделе дистрибутива Linux, либо в отдельном разделе /boot . - после загрузки нормального мода:
normal.mod
анализирует/boot/grub/grub.cfg
, опционально загружает модули (например, для поддержки графического интерфейса и файловой системы) и отображает меню.
Запуск в системах с UEFI прошивкой
[ редактировать ]/efi/<distro>/grubx64.efi
(для систем UEFI x64 ) устанавливается в виде файла в системный раздел EFI и загружается прошивкой напрямую, безboot.img
в секторе MBR 0. Этот файл похож на stage1 и stage1.5./boot/grub/
может быть установлен в системном разделе EFI или в отдельном разделе /boot .- Для систем UEFI x64 stage2 — это
/boot/grub/x86_64-efi/normal.mod
файл и другие/boot/grub/
файлы.
После запуска
[ редактировать ]GRUB представляет меню, в котором пользователь может выбирать операционные системы (ОС), найденные с помощью grub-install. GRUB можно настроить на автоматическую загрузку указанной ОС после заданного пользователем тайм-аута. Если тайм-аут установлен на ноль секунд, нажмите и удерживайте ⇧ Shift во время загрузки компьютера позволяет получить доступ к меню загрузки. [11]
В меню выбора операционной системы GRUB принимает пару команд:
- Нажав e, можно редактировать параметры ядра выбранного пункта меню до запуска операционной системы . Причиной сделать это в GRUB (т.е. не редактировать параметры в уже загруженной системе) может быть аварийный случай: система не загрузилась. С помощью строки параметров ядра можно, среди прочего, указать модуль, который необходимо отключить (занести в черный список) для ядра. Это может потребоваться, если конкретный модуль ядра сломан и, таким образом, препятствует загрузке. Например, чтобы внести в черный список модуль ядра
nvidia-current
, можно было бы добавитьmodprobe.blacklist=nvidia-current
в конце параметров ядра. - Нажав c, пользователь вводит командную строку GRUB. Командная строка GRUB не является обычной оболочкой Linux, как, например, bash , и принимает только определенные команды, специфичные для GRUB, документированные в различных дистрибутивах Linux. [12]
После выбора параметров загрузки GRUB загружает выбранное ядро в память и передает управление ядру. В качестве альтернативы GRUB может передать управление процессом загрузки другому загрузчику, используя цепную загрузку . Этот метод используется для загрузки операционных систем, которые не поддерживают спецификацию мультизагрузки или не поддерживаются напрямую GRUB.
Идентификация разделов (обходной путь UUID)
[ редактировать ]К компьютеру может быть подключено несколько жестких дисков. Их можно идентифицировать по порту SATA. Каждый раз, когда компьютер выполняет POST , жесткому диску, подключенному к порту 1 (материнской платы), может быть присвоен один и тот же идентификатор, например hd0
. Но что, если такая последовательность не может быть гарантирована? Что, если набор подключенных жестких дисков менялся от одного запуска к другому? Что делать, если жесткий диск необходимо подключить к другому компьютеру?
Введя ls
либо в консоли восстановления GRUB (доступной после загрузки core.img ), либо в консоли GRUB (доступной после загрузки Normal.mod) можно получить список всех доступных жестких дисков и разделов. Либо путем догадок, либо путем дальнейшего исследования (например, ls (hd0,5)/
) можно ли присвоить эти номера реальным жестким дискам и разделам.
Поскольку невозможно гарантировать, что нумерация жестких дисков с помощью немых чисел hd0, hd1, …
согласован, GNU GRUB вместо этого может использовать UUID для идентификации разделов (на самом деле экземпляров файловой системы), которые имеют эту функцию.
Файловые системы ext2, ext3, ext4 и xfs используют универсальный уникальный идентификатор (UUID) для уникальной идентификации экземпляра. UUID создается при форматировании раздела. UUID является частью файловой системы и записывается в суперблок . Все операции, кроме форматирования, должны оставлять UUID неизменным, но его можно изменить или продублировать (используя dd для клонирования всего раздела).
Файл grub.cfg
используется для настройки GRUB. Это файл, в котором хранятся команды, которые должны выполняться при каждом запуске. Без существующего и действующего grub.cfg
, GRUB выдаст приглашение.
Абсолютный минимум grub.cfg
может содержать только следующие две команды (см. начальный виртуальный диск ):
linux (hd0,1)/kernel/vmlinuz-3.20.1-4 ro # use the file name "vmlinuz-…" located in the directory /kernel on the first partition of the first hard disk as linux kernel image initrd (hd0,1)/boot/initrd.img-3.20.1-4 # use the file named "initrd.img–…" located in the directory /boot on the first partition of the first hard disk as initial ramdisk
Более модный grub.cfg
будет описывать меню, которое будет представлено, будет использовать несколько цветов и, возможно, фоновое изображение.
История
[ редактировать ]GRUB изначально был разработан Эрихом Болейном как часть работ по загрузке операционной системы GNU / Hurd , разработанной Free Software Foundation . [13] В 1999 году Гордон Мацигкейт и Ёсинори К. Окудзи сделали GRUB официальным программным пакетом проекта GNU и открыли процесс разработки для публики. [13] По состоянию на 2014 год [update]Большинство дистрибутивов Linux используют GNU GRUB 2, а также другие системы, такие как Sony PlayStation 4 . [14]
Разработка
[ редактировать ]GRUB версии 1 (также известный как «GRUB Legacy») больше не находится в разработке и постепенно выводится из эксплуатации. [15] Разработчики GNU GRUB переключили свое внимание на GRUB 2, [16] полная переработка с целью сделать GNU GRUB более чистым, более надежным, портативным и мощным. GRUB 2 стартовал под названием PUPA . PUPA поддержала Агентство по продвижению информационных технологий (IPA) в Японии. PUPA была интегрирована в разработку GRUB 2 примерно в 2002 году, когда версия GRUB 0.9x была переименована в GRUB Legacy.
Некоторые из целей проекта GRUB 2 включают поддержку платформ , отличных от x86 , интернационализацию и локализацию , символы, отличные от ASCII, динамические модули, управление памятью сценариев , мини-язык , миграцию кода, специфичного для платформы (x86), в модули, специфичные для платформы. и объектно-ориентированная структура. GNU GRUB версии 2.00 был официально выпущен 26 июня 2012 года. [17] [18]
Три наиболее широко используемых дистрибутива Linux используют GRUB 2 в качестве основного загрузчика. [19] [20] [21] Ubuntu приняла его в качестве загрузчика по умолчанию в своей версии 9.10 от октября 2009 года. [22] Fedora последовала этому примеру, выпустив Fedora 16, выпущенную в ноябре 2011 года. [23] OpenSUSE приняла GRUB 2 в качестве загрузчика по умолчанию в своей версии 12.2 от сентября 2012 года. [24] Solaris также принял GRUB 2 на платформе x86 в выпуске Solaris 11.1. [25] Buildroot также использует GNU GRUB для x86 и x86_64 целей .
В конце 2015 года была обнаружена и быстро исправлена уязвимость, позволяющая 28 раз нажимать клавишу Backspace для обхода пароля для входа. [26] [27]
Варианты
[ редактировать ]GNU GRUB — бесплатное программное обеспечение с открытым исходным кодом , поэтому было создано несколько вариантов. Некоторые примечательные из них, которые не были объединены в основную ветку GRUB:
- OpenSolaris включает модифицированную версию GRUB Legacy, которая поддерживает фрагменты Solaris VTOC, автоматический выбор 64-разрядного ядра и загрузку из ZFS (со сжатием и несколькими средами загрузки). [28] [29]
- В Google Summer of Code 2008 был проект по поддержке устаревшего GRUB для загрузки с разделов в формате ext4 . [30]
- Проект Syllable создал модифицированную версию GRUB для загрузки системы из файловой системы AtheOS . [31]
- TrustedGRUB расширяет GRUB, реализуя проверку целостности системы и безопасности процесса загрузки с помощью Trusted Platform Module (TPM). [32]
- Intel BIOS Implementation Test Suite (BITS) предоставляет среду GRUB для тестирования BIOS и, в частности, их инициализации процессоров, оборудования и технологий Intel. BITS поддерживает создание сценариев через Python и включает API-интерфейсы Python для доступа к различным низкоуровневым функциям аппаратной платформы, включая ACPI, регистры ЦП и набора микросхем, PCI и PCI Express. [33]
- GRUB4DOS — это устаревшая версия GRUB, которая улучшает процесс установки в DOS и Microsoft Windows , помещая все, кроме конфигурации GRLDR, в один файл образа. Его можно загрузить непосредственно из DOS, с помощью NTLDR или диспетчера загрузки Windows . [34] [35] GRUB4DOS находится в активной разработке и с 2021 года поддерживает UEFI. [36]
Утилиты
[ редактировать ]Инструменты настройки GRUB
[ редактировать ]Инструменты установки, используемые в различных дистрибутивах, часто включают модули для настройки GRUB. Например, YaST2 в дистрибутивах SUSE Linux и openSUSE и Anaconda в дистрибутивах Fedora / RHEL . StartUp-Manager и GRUB Customizer — графические редакторы конфигурации для дистрибутивов на основе Debian. Разработка StartUp-Manager остановилась 6 мая 2011 года после того, как ведущий разработчик сослался на личные причины отсутствия активной разработки программы. [37] GRUB Customizer также доступен для дистрибутивов на основе Arch.
Для GRUB 2 есть модули управления KDE. [38] [39]
GRLDR ICE — это небольшой инструмент для изменения конфигурации файла grldr по умолчанию для GRUB4DOS. [40]
Утилиты восстановления загрузки
[ редактировать ]Boot-Repair — это простой графический инструмент для восстановления частых проблем, связанных с загрузкой GRUB и загрузчика Microsoft Windows . Это приложение доступно по лицензии GNU GPL . Boot-Repair может восстанавливать GRUB в нескольких дистрибутивах Linux, включая, помимо прочего, Debian, Ubuntu, Mint , Fedora, openSUSE и Arch Linux .
Установщик для Windows
[ редактировать ]Grub2Win — это пакет программного обеспечения Windows с открытым исходным кодом. Это позволяет GNU GRUB загружаться из каталога Windows. Программа установки устанавливает GNU GRUB версии 2.12 в раздел NTFS. Затем приложение Windows GUI используется для настройки меню загрузки GRUB, тем, порядка загрузки UEFI, сценариев и т. д. Все сценарии и команды GNU GRUB поддерживаются как для UEFI, так и для устаревших систем. Grub2Win может настроить GRUB для мультизагрузки Windows, Ubuntu, openSuse, Fedora и многих других дистрибутивов Linux. Он доступен бесплатно по лицензии GNU GPL на SourceForge .
Альтернативные менеджеры загрузки
[ редактировать ]Сильная сторона GRUB — широкий спектр поддерживаемых платформ, файловых систем и операционных систем, что делает его выбором по умолчанию для дистрибутивов и встроенных систем.
Однако существуют менеджеры загрузки, ориентированные на конечного пользователя, которые обеспечивают более удобный интерфейс, графический выбор ОС и более простую настройку:
- rEFInd — графический менеджер загрузки в стиле Macintosh, только для компьютеров на базе UEFI (BIOS не поддерживается).
- CloverEFI — графический менеджер загрузки в стиле Macintosh для компьютеров на базе BIOS и UEFI. Он эмулирует UEFI с помощью сильно модифицированного DUET из проекта TianoCore и требует раздела в формате FAT даже в системах BIOS. Преимущество состоит в том, что он имеет базовый драйвер файловой системы в загрузочном секторе раздела, что позволяет избежать хрупкости второго или третьего этапа и печально известного приглашения GRUB Rescue. Пользовательский интерфейс похож на rEFInd: оба наследуют от заброшенного менеджера загрузки rEFIt .
Неграфические альтернативы:
- systemd-boot — легкий менеджер загрузки только для UEFI с текстовым меню выбора ОС.
Внешние ссылки
[ редактировать ]Инструкции и устранение неполадок
[ редактировать ]Вики-дистрибутивы содержат множество решений распространенных проблем и индивидуальных настроек, которые могут вам помочь:
- Арх Linux/GRUB
- Ubuntu/Grub2 (см. также ссылки внизу)
- Федора /GRUB_2
- Генту /GRUB2
- Учебное пособие по теме Grub2
Документация
[ редактировать ]- Руководство по GRUB — наиболее подробная документация, включая все команды.
- Официальный сайт
- Вики GRUB заархивирована в 2010 году.
Вводные статьи
[ редактировать ]- Загрузка с GRUB , статья в Linux Journal за апрель 2001 г.
Технические особенности
[ редактировать ]- Загрузка Linux на x86 с помощью Grub2 – подробная статья
- Унифицированный расширяемый интерфейс прошивки (прошивка UEFI, распространена с 2012 г.)
- Таблица разделов GUID (GPT) — обрабатывает жесткие диски размером более 2 ТиБ и более 4 разделов.
- Основная загрузочная запись, используемая с прошивкой BIOS (материнские платы примерно до 2012 года выпуска)
- Спецификация загрузки BIOS версии 1.01 (11 января 1996 г.) – трудно найти
См. также
[ редактировать ]- SysLinux (IsoLinux) – часто используемый загрузчик на компакт-дисках и DVD-дисках.
- BOOTMGR – текущий загрузчик Windows.
- NTLDR — предыдущий загрузчик Windows, использовавшийся до Windows Vista.
- rEFInd — альтернативный загрузчик для компьютеров на базе UEFI
- Сравнение загрузчиков
Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ Дэниел Кипер (20 декабря 2023 г.). «GRUB 2.12 выпущен» . Проверено 20 декабря 2023 г.
- ^ «GRUB 2.12 релиз-кандидат 1» . 10 июля 2023 г.
- ^ «Сводка анализа Ohloh – GNU GRUB» . Охло . Архивировано из оригинала 4 февраля 2009 года . Проверено 12 мая 2010 г.
- ^ «Переход на Стандартную общественную лицензию GNU версии 3» . 21 июля 2007 г. Архивировано из оригинала 27 октября 2021 г. Проверено 27 октября 2021 г.
- ^ «Лицензия GNU GRUB» . Архивировано из оригинала 11 сентября 2013 года.
- ^ Определения EnterpriseLinux.com. Архивировано 3 декабря 2010 г. в Wayback Machine. Определение GRand Unified Bootloader.
- ^ Смит, Райан (18 декабря 2009 г.). «Расширенный формат Western Digital: начинается переход в сектор 4K» . АнандТех . Архивировано из оригинала 12 марта 2012 года . Проверено 10 октября 2013 г.
- ^ «mbldr (главный загрузчик загрузки)» . mbldr.sourceforge.net . 2009. Архивировано из оригинала 16 марта 2013 года . Проверено 10 октября 2013 г.
- ^ Перейти обратно: а б «Загрузка и менеджеры загрузки» . СУЗЕ. Архивировано из оригинала 17 сентября 2013 года . Проверено 10 октября 2013 г.
- ^ «Руководство по GNU GRUB 2.04» . www.gnu.org . Архивировано из оригинала 3 апреля 2018 года . Проверено 10 ноября 2020 г.
- ^ Хоффман, Крис (22 сентября 2014 г.). «Как настроить параметры загрузчика GRUB2» . HowToGeek.com . Архивировано из оригинала 28 апреля 2015 года . Проверено 25 апреля 2015 г.
- ^ «Документация GNU GRUB» . Архивировано из оригинала 18 апреля 2014 года . Проверено 16 апреля 2014 г.
- ^ Перейти обратно: а б Руководство по GRUB — 1.2 История Grub. Архивировано 16 апреля 2014 г. на Wayback Machine . Gnu.org (23 июня 2012 г.). Проверено 1 декабря 2012 г.
- ^ «На PS4 работает Orbis OS, модифицированная версия FreeBSD, похожая на Linux» . ExtremeTech.com . 24 июня 2013 года. Архивировано из оригинала 18 ноября 2020 года . Проверено 23 октября 2013 г.
- ^ GNU GRUB — Legacy GRUB. Архивировано 20 апреля 2014 г. в Wayback Machine . Гну.орг. Проверено 1 декабря 2012 г.
- ^ «GNU GRUB – GRUB 2» . Архивировано из оригинала 7 июня 2008 года . Проверено 18 апреля 2014 г.
{{cite web}}
: CS1 maint: bot: статус исходного URL неизвестен ( ссылка ) . - ^ Сербиненко Владимир (28 июня 2012 г.). «GRUB 2.00 выпущен» . grub-devel (список рассылки). Архивировано из оригинала 13 января 2013 года . Проверено 1 декабря 2012 г.
- ^ Ларабель, Майкл. «Загрузчик GRUB 2.00 официально выпущен» . Фороникс.com . Архивировано из оригинала 13 сентября 2016 года . Проверено 28 июня 2012 г.
- ^ Хэддон, Том (26 января 2012 г.). «Введение в Ubuntu» . ВебДжункция. Архивировано из оригинала 28 октября 2012 года . Проверено 21 сентября 2012 г.
- ^ Янссен, Кори. «Что такое Red Hat Enterprise Linux (RHEL)?» . Технопедия. Архивировано из оригинала 3 октября 2012 года . Проверено 21 сентября 2012 г.
- ^ Варгезе, Сэм (20 сентября 2012 г.). «Руководитель SUSE перечисляет прогресс после приватизации» . Архивировано из оригинала 22 сентября 2012 года . Проверено 21 сентября 2012 г.
- ^ «9.10 Версия Karmic GRUB» . Distrowatch.com. Архивировано из оригинала 9 мая 2012 года . Проверено 8 июля 2012 г.
- ↑ GRUB 2. Архивировано 5 августа 2012 года в Wayback Machine . Проект Федора. Проверено 1 декабря 2012 г.
- ^ openSUSE:Предстоящие функции — openSUSE. Архивировано 20 сентября 2012 г. на Wayback Machine . ru.opensuse.org. Проверено 1 декабря 2012 г.
- ↑ Solaris 11.1. Архивировано 19 июня 2018 г. в Wayback Machine . Oracle Проверено 19 марта 2015 г.
- ^ Хандельвал, Свати (16 декабря 2015 г.). «Вы можете взломать компьютер с Linux, просто нажав «Backspace» 28 раз» . thehackernews.com . Архивировано из оригинала 30 апреля 2017 года . Проверено 13 марта 2017 г.
- ^ Марко и Гектор; Риполл, Исмаил (декабрь 2015 г.). «Назад к 28: Аутентификация Grub2, 0-день» . Архивировано из оригинала 17 мая 2017 года . Проверено 13 марта 2017 г.
- ^ x86: Изменение поведения загрузки путем редактирования меню GRUB во время загрузки. Архивировано 19 июля 2011 г. на Wayback Machine , Изменение поведения загрузки Solaris в системах на базе x86 (карта задач) - Руководство системного администратора: базовое администрирование.
- ^ x86: Поддерживаемые реализации GRUB. Архивировано 21 октября 2009 г. на Wayback Machine (Руководство системного администратора: базовое администрирование) - Sun Microsystems.
- ^ Пэн, Тао. «Grub4ext4» . Архивировано из оригинала 31 декабря 2016 года . Проверено 13 июня 2017 г.
- ^ 2.3 Почему у Syllable есть собственная версия GRUB? Архивировано 7 января 2011 года в Wayback Machine , Syllable Documentation.
- ^ «Проект TrustedGRUB» . sourceforge.net . 5 июня 2013. Архивировано из оригинала 29 ноября 2014 года . Проверено 18 ноября 2014 г.
- ^ Пакет тестов реализации BIOS. Архивировано 19 октября 2016 г. на Wayback Machine , официальный сайт BITS.
- ^ "grub4dos" . Сайт Google . Архивировано из оригинала 7 апреля 2019 года . Проверено 7 апреля 2019 г.
- ^ «GRUB для знакомства с DOS» . grub4dos.sourceforge.net . 2007. Архивировано из оригинала 7 апреля 2019 года . Проверено 7 апреля 2019 г.
- ^ grub4dos на GitHub
- ^ «Менеджер запуска мертв: Менеджер запуска» . launchpad.net . 6 мая 2011 г. Архивировано из оригинала 1 августа 2020 г. Проверено 9 апреля 2017 г.
- ^ Редактор загрузчика GRUB2. Архивировано 7 сентября 2015 г. на Wayback Machine . Kde-apps.org (18 июня 2012 г.). Проверено 1 декабря 2012 г.
- ^ «Grub2 КСМ» . KDE-Apps.org . Архивировано из оригинала 6 сентября 2015 года . Проверено 27 января 2011 г.
- ^ «Урок по Grub4dos» . Народ.ру . Архивировано из оригинала 3 мая 2015 года . Проверено 25 апреля 2015 г.