Загрузчик операционной системы grub: настройка, описание. установка и восстановление grub
Содержание:
- Как установить/восстановить загрузочную запись grub?[править]
- Восстановление Grub2 с помощью LiveCD
- Post-Installation
- Reinstalling GRUB 2
- Альтернатива 1: LILO
- Инсталляция на USB-накопитель
- Устанавливаем GRUB
- Ссылки
- Установка Grub4Dos
- Загрузка в Live-режиме
- Установка программы на флешку
- Как однократно выполнить загрузку произвольного пункта меню?[править]
- Первые шаги
- Выставляем правильные настройки
- Preventing booting via Grub command-line
- Добавление дистрибутивов Windows XP
- Возможности программы
- Установка файлов GRUB на раздел с Linux
- Утилиты
- Способы инсталляции загрузчика
- Настройка Grub с помощью Grub Customizer
- По умолчанию: GRUB2
- Password protection of GRUB menu
- Стоит ли пользоваться приложением?
Как установить/восстановить загрузочную запись grub?[править]
Аналогично предыдущему пункту (см. также :
Если использован ALT Linux Rescue:
mount-system chroot /mnt/system1
Если в используемом LiveCD нет mount-system, делаем самостоятельно (предполагая/зная, что корень на /dev/sda2):
mount /dev/sda2 /mnt mount -o bind /dev /mnt/dev mount -o bind /proc /mnt/proc mount -o bind /run /mnt/run mount -o bind /sys /mnt/sys chroot /mnt/ /bin/bash
После того как проведены подготовительные действия и сделан сhroot, необходимо выполнить
grub-mkconfig -o /boot/grub/grub.cfg grub-install /dev/sda # заменить /dev/sda на то устройство, куда хочется установить GRUB
если же используется EFI-режим, может потребоваться восстановить загрузчик в ESP-разделе (EFI System Partition), который монтируется в /boot/efi:
mount -a # достаточно смонтировать точку монтирования /boot/efi grub-efi-autoupdate
Восстановление Grub2 с помощью LiveCD
В этой статье мы рассмотрим, как выполняется восстановление Grub2 обоими способами. Начнем с более простого способа — с помощью LiveCD. Хотя и статья ориентирована на Linux Mint, но на самом деле подойдет абсолютно для любого дистрибутива, потому что во всех дистрибутивах загрузчик один и тот же, и команды такие же, только версии могут немного отличаться.
Начнем с того, что вам нужна LiveCD система, той же разрядности, что и ваша система Linux Mint, на которую был установлен Grub
Причем, неважно будет там графический интерфейс или нет. Обычно все необходимые инструменты поддерживаются всеми дистрибутивами
А нужны нам только утилиты fdisk, mount и chroot. Чтобы восстановить загрузчик grub2 просто следуйте описанным ниже шагам.
Шаг 1. Загрузка LiveCD
Сначала вставьте носитель с LiveCD системой в дисковод или порт USB, если это флешка. Для загрузки с носителя, возможно, вам сначала понадобится зайти в меню BIOS и выставить приоритет загрузки с внешнего устройства.
Для запуска BIOS нажмите Del, F2, F8 или Shift +F2. В открывшимся меню найдите раздел Boot, и в пункте Boot Device Priority или 1st Boot Device или Boot Option #1 выберите нужное устройство:
Дальше перейдите на вкладку Exit и выберите Exit & Save settings. Дальше начнется загрузка образа.
Шаг 2. Определение разделов
Перед тем как восстановить Grub2, нам нужно понять — на каком разделе установлена система, и на каком разделе были или должны быть файлы загрузчика. Самый простой способ это сделать — воспользоваться утилитой fdisk.
В выводе программы вы видите — разделы всех подключённых к компьютеру дисков, их размер, а также файловую систему. По этим данным вам и предстоит понять, какой раздел используется в качестве корня в вашей системе. Если вы делали разметку вручную, вам не составит труда понять где то, что нужно. Например, у меня корень — /dev/nvme0n1p5 — размером 37 гигабайт, а для загрузчика отдельный раздел не выделялся. Но обычно он тоже имеет файловую систему ext4 ил ext2, а размер до 500 мегабайт. В случае с обычным SSD или HDD диском имя раздела будет начинаться с /dev/sd*. Например: /dev/sda или /dev/sdb и так далее
Шаг 3. Монтирование файловой системы
Теперь вам предстоит смонтировать вашу корневую файловую систему в каталог /mnt:
Кроме того нужно смонтировать раздел boot. Например, если бы он у меня находился по адресу /dev/nvme0n1p1:
Шаг 4. Подготовка к входу в систему
Чтобы восстановить загрузчик Linux мы будем использовать вашу основную систему Linux, запущенную на ядре от LiveCD. Такую возможность предоставляет команда chroot. Но перед тем, как ее использовать нужно вручную подключить к вашей корневой ФС, смонтированной в /mnt все необходимые файловые системы взаимодействия с ядром — /dev, /sys, /proc:
Шаг 5. Вход в окружение системы
Для входа в окружение вашей системы используйте команду:
Первый параметр указывает папку, в которую была смонтирована корневая файловая система, а второй — оболочка, используемая для интерпретации команд пользователя.
Затем выполните эти команды для загрузки и обновления переменных профиля:
Теперь вы находитесь в Linux Mint, и можете выполнять почти все его программы, разумеется, недоступны сервисы, поскольку во время загрузки не использовалась система инициализации, а также как следствие, недоступно графическое окружение.
Шаг 6. Восстановление Grub2
Теперь восстановление Grub в Linux Mint. Просто выполните следующие команды. Первая, для переустановки загрузчика на жесткий диск:
Здесь /dev/sd* — имя вашего жесткого диска.
Теперь создадим новый конфигурационный файл:
Путь к конфигурационному файлу может немного отличаться, так что будьте внимательны.
Еще можно использовать команду:
Но она работает только в Ubuntu и основанных на ней дистрибутивах.
Post-Installation
At the conclusion of a normal installation using the default entries:
- GRUB 2 will be the default bootloader for the computer.
- GRUB 2 will have written information to the designated drive’s boot area pointing to the Ubuntu installation’s GRUB 2 files. On earlier versions of GRUB 2 on a BIOS systems any information previously contained in the area just beyond MBR will have been overwritten. An improvement to GRUB 2 allows it to write the boot information to another area if a non-Linux application has already used this area.
-
The GRUB 2 files will normally be located in the /boot/grub and /etc/grub.d folders and the /etc/default/grub file in the partition containing the Ubuntu installation.
- If another Ubuntu/Linux distribution controlled the boot process, it will be replaced by the GRUB 2 settings in the new installation.
- If the boot was controlled by Windows, the MBR information will now point to the Ubuntu installation and GRUB 2 will control the boot process. The GRUB 2 menu will include an entry for Windows if it found what it considers the necessary Windows boot files.
Windows boot files in the Windows partition are not affected by the GRUB 2 installation. Only the MBR data is changed. Windows control of the boot process can be obtained by selecting a Windows entry in the GRUB 2 menu during boot.
- If GRUB has detected another OS it will display a menu so the user may make a selection. If no selection is made, Ubuntu will boot after a brief timeout.
- If GRUB has detected no other operating systems, no menu will be displayed and the computer will boot the new Ubuntu installation. If the user wishes to display the menu, hold down the SHIFT key as the computer boots.
To view the GRUB 2 file system and configuration options please refer to Grub 2 community documentation page.
Reinstalling GRUB 2
The user may wish to reinstall GRUB 2 for a variety of reasons, including:
- After installing another operating system which installed its own bootloader, reinstall GRUB2 to return control to the desired OS. When an operating system is added on a multiboot computer it will generally take command of the boot process. Reinstalling GRUB 2 from a within the desired OS will return control of the boot process to that OS.
- Add the boot information to an additional drive. GRUB 2 can be installed on multiple drives — all pointing to the same operating system. This provides a backup in case the MBR or boot record data on a particular drive becomes corrupted.
- Replace missing files
- Repair a broken system, such as when the user sees only «GRUB» on a black screen with no prompt or when the user cannot boot using GRUB 2’s rescue mode options.
- Upgrade from Grub Legacy
When using the grub-install command, the boot information is updated and written to the designated drive, missing — but not corrupted or intentionally deleted — files are restored. Specifically the core.img, grubenv, and device.map are updated and missing modules restored. If missing, the grub folder will be recreated. The grub-install command does not generate a new GRUB 2 menu (grub.cfg).
Альтернатива 1: LILO
Emerge
LILO, или LInuxLOader, это проверенная временем рабочая лошадка среди загрузчиков Linux. Однако, по сравнению с GRUB ей явно не хватает функционала. LILO всё ещё используется на системах, где GRUB не может работать. Конечно, он также используется, потому что некоторые люди знают LILO лучше и хотят использовать его. В любом случае, Gentoo поддерживает оба загрузчика.
Установить LILO можно очень быстро; просто используйте emerge.
Настройка
Для настройки LILO сперва создайте /etc/lilo.conf:
Конфигурационный файл разбит на разделы для обозначения загрузочного ядра. Убедитесь, что известен путь до файла ядра (вместе с версией) и путь до initramfs файлов, так как они должны быть указаны в этом конфигурационном файле.
ЗаметкаЕсли корневая файловая система — JFS, добавьте строку после каждого варианта загрузки, поскольку JFS необходимо пересматривать журнал перед монтированием на чтение-запись.
Файл Пример конфигурации LILO
boot=/dev/sda # Установка LILO в MBR prompt # Дать пользователю возможность выбрать другой вариант timeout=50 # Ждать 5 (пять) секунд перед загрузкой варианта по умолчанию default=gentoo # После тайм аута загружать вариант "gentoo" compact # Это значительно сокращает время загрузки и сохраняет маленький размер файла map; может работать некорректно на некоторых системах image=/boot/vmlinuz-4.9.16-gentoo label=gentoo # Имя этого варианта read-only # При старте корень только для чтения. Не менять! root=/dev/sda4 # Расположение корневой файловой системы image=/boot/vmlinuz-4.9.16-gentoo label=gentoo.rescue # Имя этого варианта read-only # При старте корень только для чтения. Не менять! root=/dev/sda4 # Расположение корневой файловой системы append="init=/bin/bb" # Запуск встроенной оболочки восстановления Gentoo # Следующие две строки нужны для двойной загрузки с системой Windows. # В этом примере, Windows находится на /dev/sda6. other=/dev/sda6 label=windows
ЗаметкаЕсли схема разделов и/или используемый образ ядра другие, то внесите соответствующие корректировки.
Если необходим initramfs, то измените конфигурацию, указав файл initramfs и сообщив ему, где находится корневое устройство:
Файл Добавление информации о initramfs в загрузочную запись
image=/boot/vmlinuz-4.9.16-gentoo label=gentoo read-only append="root=/dev/sda4" initrd=/boot/initramfs-genkernel-amd64-4.9.16-gentoo
Если необходимо передать ядру дополнительные параметры используйте оператор . Например, добавьте оператор , чтобы включить кадровый буфер:
Файл Добавление параметра video к загрузочным параметрам
image=/boot/vmlinuz-4.9.16-gentoo label=gentoo read-only root=/dev/sda4 append="video=uvesafb:mtrr,ywrap,1024x768-32@85"
При использовании genkernel необходимо помнить, что ядро использует параметры загрузки так же, как и установочный CD. Например, если необходимо разрешить поддержку устройств SCSI, добавьте как параметр ядра.
Теперь сохраните файл и выйдите из редактора.
Установка LILO на диск
Для завершения запустите исполняемый файл /sbin/lilo, что бы LILO смог применить для системы настройки из /etc/lilo.conf (то есть установить себя на диск). Помните, что /sbin/lilo должен исполняться каждый раз, когда устанавливается новое ядро или был изменен файл lilo.conf для загрузки системы, если имя файла ядра было изменено.
Инсталляция на USB-накопитель
Благодаря современным технологиям, каждый желающий может загрузить операционную систему посредством USB-накопителя. Если GRUB install будет производиться непосредственно с внешнего носителя информации, а не с помощью Windows или Linux, пользователь должен проверить правильность распознавания накопителя материнской платой.
Прежде чем начать работу, следует отформатировать флешку одним из двух известных способов. Посредством первого метода она очистится как superfloppy, другим — как жёсткий диск. Выбирать вариант очистки следует исходя из особенностей BIOS.
Следующим шагом должна стать активизация поддержки USB-накопителя, для чего в BIOS предусмотрен отдельный параметр. При распознавании USB-накопителя как отдельного загрузочного диска, в BIOS будет изменён список, согласно которому GRUB поочерёдно списывает данные с носителей. В качестве первого диска станет USB-накопитель, остальные жёсткие диски станут доступны посредством hdl и hd2. Если возникнет необходимость, перед GRUB install можно изменить /boot/grub/devices.map.
Если всё сделать правильно, установка GRUB с внешнего носителя будет более чем успешной. GRUB распознаёт флеш-накопитель как hdn+1, где n является числом, соответствующим последнему внутреннему жёсткому диску. Последующая установка GRUB в MBR посредством внешнего накопителя информации нуждается в выполнении нижеприведённой команды:
Дальнейшая перезагрузка ПК должна помочь GRUB появиться в MBR и запустить все имеющиеся системы, которые содержатся в menu.lst. В случае возникновения ошибок, следует зайти через меню загрузчика в интерактивный режим, нажимая кнопку С. Активация команды, состоящей из слова cat и нажатия на клавишу табуляции, помогает узнать пользователю о тех названиях, которые загрузчик присвоил всем жёстким дискам. С помощью клавиши Esc можно выйти назад в меню, а кнопка Е поможет изменить ранее написанные для загрузки команды и вновь их исполнить.
Если ОС Linux хранится на флеш-накопителе или внешнем жёстком диске, который можно подключить к компьютеру исключительно через USB-порт, пользователю следует учесть несколько важных проблем. Дело в том, что GRUB install может быть осуществлён не с первого раза, вероятнее всего, придётся несколько раз изменять настройки BIOS и обозначения приводов. Будет лучше, если все свойства, хранящиеся в файле menu.lst, будут настраиваться только вручную.
Кроме того, в файле Initrd следует хранить все важные USB-модули. При работе с Ubuntu в разделе /etc/fstab и строке kernel, расположенной в menu.lst, нужно указывать не сами названия устройств, так как после перезагрузки системы они могут быть изменены, а номера UUID. Пользователь может самостоятельно в menu.lst посредством uuid указать именно тот каталог, в который впоследствии будут помещены ядро и файл Initrd.
Устанавливаем GRUB
Осталось выполнить установку GRUB на диск. Мы определили раздел на котором у нас установлен GRUB на первом шаге данного руководства. В моем случае это раздел /dev/sda2, который расположен на диске /dev/sda.
Для установки GRUB используется команда grub-install, которой нужно передать в качестве параметра диск, на который будет выполняться установка (в моем случае это диск /dev/sda):
https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windowsIf Ubuntu is installed in EFI mode, and EFI partition UUID has changed, you may need to update it in /etc/fstab. Compare it:blkid | grep -i efigrep -i efi /etc/fstab
Ссылки
Установка Grub4Dos
Перед началом инсталляции рекомендуется удалить все ненужные файлы на диске. Далее следует распаковать архив и запустить установщик приложения. После этого необходимо выбрать HDD, на который будет инсталлирована программа. Затем требуется кликнуть по кнопке «извлечь».
Не рекомендуется устанавливать программу на жесткий диск, не имея опыта работы с загрузчиком. Пользователю необходимо знать, как осуществляется редактирование конфигурационного файла menu.lst. Найти информацию об этом можно в любом учебнике по программированию. В файле menu.lst разработчики указали пункты меню для загрузки ОС с первого раздела HDD. Если операционная система установлена в ином месте, то пользователь может столкнуться с определенными трудностями.
Загрузка в Live-режиме
Теперь нужно загрузиться с созданного диска или флешки.
Чтобы это сделать сначала нужно в BIOS выбрать приоритет загрузки с CD/DVD или с USB (если вы используете флешку).
На современных компьютерах, где используется BIOS/UEFI, для входа в BIOS нужно при включении компьютера удерживать специальную клавишу. У разных производителей клавиша может быть разной. Обычно это: F2, Del, F10, Esc, F11 или F3.
На старых компьютерах, где используется классический BIOS, чтобы войти в BIOS нужно при загрузке компьютера, в самом начале, когда появляется логотип материнской платы, нажать специальную клавишу. Для разных материнских плат клавиша может быть разной. Обычно это одна из клавиш: Del, F1, F2, F8, F10 или какая-нибудь другая, или даже сочетание клавиш. Подробности: Настройка BIOS для загрузки с CD/DVD-диска или с USB-носителя
Установка программы на флешку
Далее следует скачать и запустить инсталлятор Grub4Dos. Как пользоваться им? Для начала необходимо выбрать с помощью кнопки «Обзор» флешку, на которую будет установлено приложение. Затем требуется кликнуть по кнопке «Извлечь». Файлы будут распакованы на флешку.
После этого приложение запустится само. В открывшемся окне утилиты нужно отметить USB-накопитель. Если пользователь неверно выберет диск, то система не загрузится. Чтобы не ошибиться, рекомендуется зажать комбинацию клавиш WIN+R и ввести команду diskmgmt.msc. В нижней части появившегося окна можно посмотреть номер флешки.
Далее нужно кликнуть по кнопке Install. После нажатия на клавишу Enter установка Grub4Dos будет успешно завершена. Пользователь может осуществить настройку по своему усмотрению. Чтобы приложение запускалось нормально, флешку нужно вставить в USB-разъем перед включением ПК. Утилита работает по той же схеме, что и на компьютере.
Как однократно выполнить загрузку произвольного пункта меню?[править]
Иногда бывает удобно загрузиться с произвольным пунктом меню, но не менять текущий вариант. Это удобно, например, для тестирования нового ядра, когда надо иметь возможность вернуть старое ядро простой перезагрузкой. Для этого надо настроить Grub в соответствии со способом 1 предыдущего пункта, после чего можно задать пункт меню для следующей загрузки командой grub-reboot и запустить команду reboot. В момент начала загрузки конфигурация Grub автоматически вернётся в исходное состояние, и следующая загрузка компьютера произойдёт по-старому. Это аналогично использованию опции -R загрузчика Lilo.
Первые шаги
При первом сравнении GRUB со старым GRUB Legacy самым весомым различием оказывается измененная структура файлов конфигурации.
Настройка GRUB производится теперь принципиально иным способом — основным файлом конфигурации является «/boot/grub/grub.cfg«. Однако же, не торопитесь править его так, как привыкли это делать с «menu.lst» в GRUB Legacy. При внимательном прочтении мы видим в начале файла «grub.cfg» такие строки:
# # DO NOT EDIT THIS FILE # # It is automatically generated by /usr/sbin/grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #
И об этом нас предупреждают не просто так. Ведь «grub.cfg» генерируется автоматически с использованием нескольких скриптов. Поэтому после следующего обновления GRUB ваш «grub.cfg» будет создан заново, и все ваши правки будут утрачены.
Кроме файла «grub.cfg», отвечающего за загрузочное меню, имеются файл «/etc/default/grub» и папка «/etc/grub.d«. Рассмотрим их подробнее.
Выставляем правильные настройки
Данный способ может похвастаться чрезвычайной эффективностью, поскольку основная причина пропажи – неправильно выставленные настройки. В первую очередь необходимо убедиться, что языковая панель не отключена в настройках системы.
Порядок действий следующий:
- Открываем старую ПУ. Нажав на «Пуск» — «Служебные Windows» — «Панель управления».
- Перемещаемся в раздел «Часы, язык».
- Далее в разделе «Язык» щелкаем по пункту «Изменение способа ввода».
- Открываем дополнительные параметры и щелкаем «Изменить сочетания клавиш».
- В открывшемся окне отметьте пункт «Закреплена на панели задач» и щелкните «ОК».
- Для того, чтобы непосредственно включить языковую панель, не выходя из окна дополнительных параметров, отметьте функцию «Использовать языковую панель», после чего сохраните настройки.
Это, пожалуй, самый легкий способ восстановления значков. Однако, если он вам не помог, двигаемся дальше.
Preventing booting via Grub command-line
The ability to manually boot using the Grub command-line constitutes the biggest security risk in Linux. Any OS can be booted in this manner from any USB or CD/DVD drive, circumventing BIOS restrictions. Placing passwords or locking menu items (in the Grub configuration files) does not prevent a user from booting manually using commands entered at the grub command-line. (Once a foreign OS is booted, of course, it can be used to access any part of an unencrypted hard drive).
There are currently no options to prevent the command-line usage of Grub. Doing so would restrict boot-loading to just the menu options and that is not considered wise
Добавление дистрибутивов Windows XP
При работе можно использовать утилиту WinSetupFromUSB 1.0 beta 7. С помощью данного приложения необходимо сделать вторую флешку загрузочной. Предварительно нужно распаковать образы ОС XP. Далее требуется открыть программу. Затем следует отметить в приложении вторую флешку и распакованный образ.
После нажатия на кнопку Go программа выдаст сообщение о том, что задача выполнена. То же самое нужно проделать с другими распакованными дистрибутивами. При этом флешку форматировать не стоит. Далее необходимо перенести папку c файлами программы на первый USB-накопитель и прописать дистрибутивы в menu.lst. Впоследствии с помощью Grub4Dos Windows XP будет загружена с флешки.
Возможности программы
Чтобы получить верное представление о назначении утилиты, необходимо разобраться, с какими задачами может справиться приложение. Программа выполняет функции менеджера загрузки операционной системы, эмулятора установочных дисков, платформы для настройки собственного интерфейса и программирования системных компонентов запуска в Windows.
Для начала работы с приложением необходимо установить его на компьютер. Данное мероприятие требует подготовки. Принятые меры позволят избежать множества проблем при работе с утилитой. Какие задачи нужно выполнить, чтобы осуществить запуск Grub4Dos?
Установка файлов GRUB на раздел с Linux
Иногда зачем-то бывает необходимо поставить GRUB Legacy на существующий раздел с Linux
Например, если вы по неосторожности сумели повредить файлы загрузчика. Делается это очень просто
Необходимо загрузиться с LiveCD Ubuntu (или Super Grub Disk) и примонтировать раздел с вашим Linux. Допустим, вы примонтировали его в каталог /mnt.
Теперь необходимо выполнить в терминале, заменив при необходимости /dev/hda на тот винчестер, в MBR которого вы хотите прописать GRUB Legacy, а /mnt — на тот каталог, куда вы смонтировали ваш раздел с Linux.
sudo grub-install /dev/sda --root-directory=/mnt
После этого GRUB Legacy поставится в /mnt/boot/grub и пропишет загрузку себя в MBR винчестера /dev/sda.
Если вы не знаете, что такое /dev/sda, или если у вас /boot отдельным разделом, то сначала разберитесь, что да как, а потом уже выполняйте команду
Утилиты
Инструменты настройки GRUB
StartUp-Manager , программа, используемая для настройки GRUB
Инструменты установки, используемые различными дистрибутивами, часто включают модули для установки GRUB. Например, YaST2 в дистрибутивах SUSE Linux и openSUSE и Anaconda в дистрибутивах Fedora / RHEL . StartUp-Manager и GRUB Customizer — это графические редакторы конфигурации для дистрибутивов на основе Debian. Разработка StartUp-Manager была остановлена 6 мая 2011 года после того, как ведущий разработчик привел личные причины неактивного развития программы. GRUB Customizer также доступен для дистрибутивов на основе Arch.
Для GRUB 2 существуют модули управления KDE.
GRLDR ICE — это крошечный инструмент для изменения конфигурации файла grldr по умолчанию для GRUB4DOS.
Утилиты восстановления загрузки
Boot-Repair — это простой графический инструмент для восстановления после частых проблем, связанных с загрузкой, с загрузчиком GRUB и Microsoft Windows . Это приложение доступно под лицензией GNU GPL . Boot-Repair может восстанавливать GRUB в нескольких дистрибутивах Linux, включая, помимо прочего, Debian, Ubuntu, Mint , Fedora, openSUSE и Arch Linux .
Настройщик GRUB
Установщик для Windows
Grub2Win — это программный пакет с открытым исходным кодом для Windows. Он позволяет GNU GRUB загружаться из каталога Windows. Программа установки устанавливает GNU GRUB версии 2.04 в раздел NTFS. Затем приложение Windows GUI используется для настройки меню загрузки GRUB, тем, порядка загрузки UEFI, сценариев и т. Д. Все сценарии и команды GNU GRUB поддерживаются как для UEFI, так и для устаревших систем. Grub2Win может настроить GRUB для мультизагрузки Windows, Ubuntu, openSuse, Fedora и многих других дистрибутивов Linux. Он находится в свободном доступе под лицензией GNU GPL на SourceForge .
Способы инсталляции загрузчика
Установка GRUB может быть произведена не только в MBR. По желанию, загрузчик можно расположить в любом загрузочном секторе абсолютно любого жёсткого диска. Несмотря на то, что бывают ситуации, когда такое решение оказывается неоправданным, в перечисленных ниже случаях, установка GRUB в другой раздел весьма упрощает задачу юзера.
Прибегнуть к GRUB install можно в том случае, если запуск загрузчика осуществляется посредством аналогичного устройства Windows. Также решение будет целесообразным, если на компьютере установлено несколько вариантов ОС Linux и ранее инсталлированный GRUB пользователь не собирается менять на другой загрузчик.
Предпочтительнее для оптимизации процесса выбирать системный раздел Linux. Иными словами, если операционная система находится в /dev/sda7, для правильной установки, пользователь должен использовать нижеприведённые команды. Главным различием установки GRUB в MBR или системный раздел является необходимость указать в setup вместо hd0 выбранный раздел.
Прежде чем осуществить GRUB install, следует учесть одну особенность некоторых файловых систем, так как иногда загрузочные сектора раздела не могут быть использованы загрузчиком или иным типовым приложением. В частности, одной из таких систем является XFS — инсталлированный в её загрузочный сектор GRUB, попросту разрушит всю файловую систему.
Настройка Grub с помощью Grub Customizer
Это самый легкий путь конфигурации загрузчика. Графическая программа настройки Grub Customizer позволяет настроить все основные параметры загрузчика, например, фоновое изображение, шрифт, порядок пунктов загрузки, параметры ядра и многое другое. Все это делается в пару кликов.
Программа доступна в официальных репозиториях большинства дистрибутивов, и вы можете ее оттуда легко установить. Для установки в Ubuntu выполните:
В Fedora, Red Hat и CentOS команда будет немного отличаться:
После завершения установки вы можете запустить программу из главного меню или в терминале:
Перед тем, как программа запустится, вам нужно будет ввести пароль потому что для ее работы нужны права администратора:
Главное меню загрузится через несколько десятков секунд. Программе нужно время, чтобы собрать список операционных систем, установленных на компьютере:
В контекстном меню для каждого пункта вы можете переместить его вверх или вниз, переименовать или отредактировать его конфигурацию. С конфигурацией мы будем разбираться в другой части статьи, а первые два пункта могут быть очень полезны:
На вкладке Основные настройки вы можете выбрать пункт, который нужно загружать по умолчанию, время на протяжении которого будет показываться меню, а также параметры ядра для каждого пункта по умолчанию.
Последняя вкладка позволяет настроить внешний вид, тут вы можете выбрать одну из доступных тем, установить разрешение, или же задать пользовательские параметры цвета, шрифтов и фоновый рисунок:
Кроме того, нажав кнопку дополнительные параметры, вы можете настроить значения переменных /etc/default/grub, которые мы рассмотрим подробнее ниже.
Когда настройка Grub Customizer будет завершена просто нажмите кнопку Сохранить, чтобы применить все изменения.
Видео, где показана настройка GNU Grub в Linux с помощью Grub Customizer:
Но это все слишком просто и позволяет сделать только базовые вещи, если же нужна более тонкая настройка загрузчика Grub, придется разбираться с ручной настройкой конфигурационных файлов. Это мы и будем рассматривать ниже.
По умолчанию: GRUB2
Ранее в Gentoo Linux в качестве рекомендуемого загрузчика использовалось то, что теперь называется GRUB Legacy. Но, как следует из названия, старый пакет GRUB больше не поддерживается и был заменён на GRUB2. Для получения более подробной информации о GRUB Legacy, пожалуйста, обратитесь к статье GRUB.
Emerge
Если используется старая материнская плата, BIOS которой поддерживает только таблицу разделов MBR, для установки GRUB не нужно никаких дополнительных настроек:
Заметка для пользователей UEFI: запущенная команда выведет включенные значения в переменной GRUB_PLATFORMS, перед компиляцией. Если используется более новая UEFI-совместимая материнская плата, пользователям сперва нужно убедиться, что включено (обычно это уже сделано по умолчанию). Если это не так, добавьте в файл /etc/portage/make.conf до компиляции GRUB2, что позволит собрать пакет с поддержкой EFI:
- Если GRUB2 был каким-то образом был установлен до включения , то добавьте строку (из примера выше) в make.conf, после чего повторно переопределите зависимости для для набора пакетов world с помощью emerge :
GRUB2 теперь установлен в системе, но еще не активирован.
Установка GRUB2 на диск
Далее установим необходимые для GRUB2 файлы в каталог /boot/grub/ с помощью команды grub-install. Если предположить, что первый диском (тот, с которого будет загружаться система) является /dev/sda, то одна из следующих команд сделает это:
Когда используется BIOS:
Когда используется UEFI:
ВажноУбедитесь, что системный раздел EFI был смонтирован перед запуском grub-install. grub-install может установить файл GRUB EFI (grubx64.efi) в неправильном каталоге без каких-либо сообщений, о том, что использовался неправильный каталог
- ЗаметкаИзмените параметр на корневой каталог системного раздела EFI. Это необходимо, если раздел /boot не был отформатирован как FAT.
ВажноЕсли grub_install вернёт ошибку , необходимо перемонтировать специальную точку монтирования efivars в режим чтения-записи:
Некоторые производители материнских плат поддерживают только каталог /efi/boot/ для расположения файла .EFI в системном разделе EFI (ESP). Установщик GRUB может выполнить эту операцию автоматически, если использовать параметр . Убедитесь, что ESP смонтирован до запуска следующих команд. Предполагая, что ESP смонтирован в /boot (как было предложено ранее), выполните:
Это создает каталог по умолчанию, определенный спецификацией UEFI, а затем скопирует файл grubx64.efi в каталог EFI «по умолчанию», определенный той же спецификацией.
Настройка
Далее, нужно сгенерировать конфигурационный файл GRUB2 на основе настроек пользователя, указанных в файле /etc/default/grub и сценариях /etc/grub.d. В большинстве случаев ничего не нужно настраивать, так как GRUB2 автоматически определяет, какое ядро есть для загрузки (самый высокий приоритет у /boot/) и какая файловая система у rootfs. Здесь также можно добавить параметры ядра в /etc/default/grub, используя переменную GRUB_CMDLINE_LINUX.
Для создания окончательной конфигурации GRUB2, запустите команду grub-mkconfig:
Generating grub.cfg ... Found linux image: /boot/vmlinuz-4.9.16-gentoo Found initrd image: /boot/initramfs-genkernel-amd64-4.9.16-gentoo done
Вывод команды должен содержать по крайней мере один образ Linux, так как он необходим для загрузки системы. Если используется initramfs или ядро создавалось с помощью genkernel, также должен быть указан правильный образ initrd. Если это не так, перейдите в /boot/ и проверьте содержимое, используя команду ls. Если файлы действительно отсутствуют, вернитесь к инструкции по настройке и установке ядра.
Warning: If someone has physical access to your machine and is able to boot a live USB/disk (i.e., BIOS allows booting from an external disk), it is fairly trivial for one to modify GRUB configuration files to bypass this if resides on an unencrypted partition. See and .
If you want to secure GRUB so it is not possible for anyone to change boot parameters or use the command line, you can add a user/password combination to GRUB’s configuration files. To do this, run the command . Enter a password and confirm it:
grub-mkpasswd-pbkdf2
Your PBKDF2 is grub.pbkdf2.sha512.10000.C8ABD3E93C4DFC83138B0C7A3D719BC650E6234310DA069E6FDB0DD4156313DA3D0D9BFFC2846C21D5A2DDA515114CF6378F8A064C94198D0618E70D23717E82.509BFA8A4217EAD0B33C87432524C0B6B64B34FBAD22D3E6E6874D9B101996C5F98AB1746FE7C7199147ECF4ABD8661C222EEEDB7D14A843261FFF2C07B1269A
Then, adjust permissions on such that only root can read it and add the following to this file:
/etc/grub.d/40_custom
set superusers="username" password_pbkdf2 username password
where is the string generated by .
Regenerate your configuration file. Your GRUB command line, boot parameters and all boot entries are now protected.
Password protection of GRUB edit and console options only
Adding to a menu entry will allow any user to boot the OS while preventing the user from editing the entry and preventing access to the grub command console.
Only a superuser or users specified with the switch will be able to edit the menu entry.
/boot/grub/grub.cfg
menuentry 'Arch Linux' --unrestricted --class arch --class gnu-linux --class os ...
The factual accuracy of this article or section is disputed.
In order to make Linux entries , the variable in the beginning of can be modified.
/etc/grub.d/10_linux
CLASS="--class gnu-linux --class gnu --class os --unrestricted"
Стоит ли пользоваться приложением?
Рекомендуется акцентировать внимание на последней версии утилиты. В Grub4DOS пользователям доступна возможность расширения программной оболочки и внесения правок
Это позволяет сделать приложение эффективнее и расширить его функционал.
В Сети можно найти множество утилит, имеющих простую систему установки и настройки. Однако ни один из данных программных продуктов не сможет справиться с задачами, которые с легкостью выполняет Grub4DOS. В аналогичных приложениях нет столь широкого и свободного функционала. Не стоит выбирать утилиты, которые обладают упрощенным интерфейсом и минимумом полезных опций.