GRand Unified Bootloader — загрузчик операционной системы от проекта GNU, он позволяет выбрать пользователю выбирать для загрузки одну из операционных систем.
/boot/grub/grub.cfg
- главный конфигурационный файл который является результатом компиляции скриптов из папки /etc/grub.d/
и настроек из /etc/default/grub
Компиляция в файла /boot/grub/grub.cfg
(это вызов grub-mkconfig
с параметрами)
update-grub
Пример:
grub-mkconfig -o /boot/grub/grub.cfg
Компиляция с выводом в /boot/grub/grub.cfg
В GRUB2 имеется еще одно важное отличие от старого нумерация дисков идет с 0
(нуля), а нумерация разделов - с 1
(единицы)
Примеры:
Диски | sda = hd0 |
sdb = hd1 |
|
Разделы | sda1 = hd0,1 |
sdb1 = hd1,1 |
Автоматический вариант:
update-grub
Ручной вариант:
Нужно изменить файл /etc/grub.d/40_custom
Самая важная строка:
set root=<Диск,Раздел>
Пример:
menuentry "Microsoft Windows XP" { insmod chain set root=(hd1,1) chainloader +1 }
1. Исправить значение GRUB_DEFAULT
GRUB_DEFAULT=0
2. Выполнить компиляцию настроек
grub-install /dev/sda
При использовании mdadm нужно помнить, что после установки, при первом запуске нужно выполнить настройку пакета
dpkg-reconfigure grub-pc
а если система с EFI, то:
dpkg-reconfigure grub-efi-amd64
и выбрать устройства, на которых будет установлен grub
:
grub rescue>
If, instead, you only get a rescue shell, this usually means that GRUB failed to load the ‘normal’ module for some reason. It may be possible to work around this temporarily: for instance, if the reason for the failure is that ‘prefix’ is wrong (perhaps it refers to the wrong device, or perhaps the path to /boot/grub was not correctly made relative to the device), then you can correct this and enter normal mode manually:
Inspect the current prefix (and other preset variables): set
Find out which devices are available: ls
Set to the correct value, which might be something like this:
set prefix=(hd0,1)/grub set root=(hd0,1) insmod normal normal
1. Нужно добавить nomodeset
в переменную GRUB_CMDLINE_LINUX_DEFAULT
файла /etc/default/grub
.
Пример:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
2. Выполнить компиляцию настроек
Нужно выполнить компиляцию настроек
1. Убрать комментарий с строки в файле:
GRUB_TERMINAL=console
2. Выполнить компиляцию настроек
При установке/обновлении загрузчика выдаётся сообщение:
предупреждение: Сектор 32 уже используется программой «FlexNet»
или
warning: Sector 32 is already in use by the program 'FlexNet'
Решение заключается в очистке нужного сектора:
dd if=/dev/zero of=/dev/sda bs=512 count=1 seek=32
LINUX.ORG.RU: Данные какого-то FlexNet в 32 секторе диска. WTF?
Это универсальный загрузчик на основе GNU GRUB.
Он может управляться в режиме командной строки или с помощью конфигурационного файла, в его возможности входят:
В отличии от GNU GRUB, который функционирует за счёт нескольких файлов, Grub4dos использует всего один файл grldr (или grub.exe если загрузка происходит из DOS или Linux). grldr может быть загружен с помощью уже существующей операционной системы, например, через NT загрузчик NTLDR , В ходе загрузки Windows NT/W2K/XP. Основной способ загрузки grub4dos, это загрузка из MBR. Файл grldr.mbr входит пакет в Grub4dos и и может быть записан в загрузочную область (HDD, floppy, USB Flash drive) Файл в корне устройства grldr загружается из MBR файлом grldr.mbr.
Когда Grub4dos загружается из MBR, он сканирует все поддерживаемые устройства со всеми поддерживаемыми файловыми системами (смотрите список этих систем ниже) на наличие файла grldr – если он найден, он загружается. Когда grldr загружен, производится сканирование на предмет нахождения конфигурационного файла menu.lst – если такой файл не найден, то активируется командный режим. Файлы grldr и menu.lst могут находиться не только в корне активного раздела вместе с MBR, но и на любых локальных дисках с поддерживаемыми файловыми системами. Поддерживаемые файловые системы:
Если файлы grldr или grub.exe загружаются другой операционной системой (или из загрузочного сектора), происходит сканирование (поиск) конфигурационного файла menu.lst. При использовании этого метода конфигурационный файл так же может быть перемещён на любой поддерживаемый локальный диск. Если файлов menu.lst несколько (например они на разных дисках) первым загруженным menu.lst будет файл на (hd#),а поиск на устройствах (cd#) и (fd#) производиться не будет (если конечно (fd#) не выставлен как первое загрузочное устройство).
Версия 1.5 (0.97)
/boot/grub/grub.conf
/boot/grub/menu.lst
обычно это символическая ссылка на grub.conf
hd<номер_диска>,<номер_раздела>
Нумерация дисков и разделов на диске начинается с 0
(нуля)
Пример:
(hdD,P)
P+1
-ый раздел на D+1
-ом диске.