grub

Редагування параметрів GRUB


sudo nano /etc/default/grub

Вносимо зміни, зберігаємо файл: Ctrl+O, Enter, виходимо: Ctrl+X

Але цього недостатньо, тому що насправді GRUB читає налаштування з файлу /boot/grub/grub.cfg, і тому…

… оновити grub.cfg:

sudo update-grub

Відключення заставки Linux

відображає інформацію про завантаження компонентів системи (це дозволить простежити за процесом завантаження та виявити проблеми).

Цей параметр:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

залишаємо порожнім:

GRUB_CMDLINE_LINUX_DEFAULT=""

Manjaro: GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=f1fcafae-b6b2-42a7-8e39-50cd7a159913"

Manjaro: оставил только resume

GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=f1fcafae-b6b2-42a7-8e39-50cd7a159913"

Если нужно отключить splash только для одной загрузки, то при старте системы нажмите Escape чтобы перейти в меню grub. Далее нажимаем кнопку “e” для перехода к редактированию опций загрузки. Находим параметры ядра (строка начинается со слова linux) и просто удаляем слово splash и нажимаем Ctrl+X чтобы начать загрузку.

Уменьшение времени ожидания при загрузке

Исправляем на нужное значение (в секундах) параметр GRUB_TIMEOUT. Например:

  GRUB_TIMEOUT=2

Отключение меню GRUB

:sos:

В случае, если на компьютере установлена только одна ОС, можно отключить меню загрузки чтобы grub загружал систему напрямую.

Однако же, иногда может возникнуть необходимость загрузиться с другим ядром или же запустить проверку памяти. для этого предусмотрено “скрытое меню”.

За него отвечает параметр GRUB_HIDDEN_TIMEOUT. в случае, когда установлены другие ОС, этот параметр закомментирован (# в начале строки). в случае с единственной ОС он будет активен.

Значение его задает задержку в секундах. grub приостановит загрузку на заданное количество секунд, давая пользователю возможность вызвать меню загрузки, нажав [Esc].

Если значение установлено в 0, то задержки не будет. Однако, пользователь все равно сможет вызвать отображение меню, удерживая при загрузке [Shift].

Параметр “GRUB_HIDDEN_TIMEOUT_QUIET” отвечает за отображение таймера во время паузы. при значении true таймер показан не будет. false - будет отображаться.

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

# применить изменения:
# sudo update-grub

# пункт загрузки по умолчанию
GRUB_DEFAULT=0
# время ожидания (в сек.) выбора пункта меню GRUB
GRUB_TIMEOUT=2
# чтобы меню GRUB не отображалось раскомментировать следующую строчку
# GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only) ! текстовый режим (синее меню)
# GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Пример файла grub для VM, где только одна ОС

(показать все строки, кроме закомментированных):

GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

Сохранение внесенных изменений:

sudo update-grub

:question: Что за команда? восстановление MBR?

sudo apt-get install mbr sudo install-mbr /dev/sda

Linux: изменить порядок загрузки в GRUB

Было решено заменить загрузку с Ubuntu на Windows, что бы не выбирать систему во время запуска.

Настройки порядка загрузки хранятся в файле /boot/grub/grub.cfg, в первых же строках которого большими буквами сказано:

# DO NOT EDIT THIS FILE

Потому что этот файл создается самой системой во время выполнения команды update-grub на основе файлов:

# ls -1 /etc/grub.d/ 00_header 05_debian_theme 10_linux 20_linux_xen 20_memtest86+ 30_os-prober 30_uefi-firmware 40_custom 41_custom README

И файла /etc/default/grub, в котором мы и будем менять значение порядка загрузки.

Перед изменениями – делаем резервную копию:

# cp /etc/default/grub /etc/default/grub.bkp

Для root-доступа не забыть:

sudo -s

Выглядит файл /etc/default/grub по-умолчанию так:

GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” GRUB_CMDLINE_LINUX=””

Строка GRUB_DEFAULT может иметь значение либо числовое (0, 1 и т.д.), либо буквенное – saved.

GRUB_DEFAULT=0 будет загружать первую систему, описанную в файле /boot/grub/grub.cfg, в блоках menuentry.

Обратите внимание, что строки входящие в submenu не учитываем, но сам раздел submenu учитываем – +1.

Проще всего во время загрузки GRUB просто посчитать порядковый номер системы, либо – просмотреть файл /boot/grub/grub.cfg в текстовом редакторе, в котором будет четко видно разделение на «главные» пункты меню, и его «подменю».

Вариант – изменить строку GRUB_DEFAULT= вручную, прямо в файле, и указать номер системы для загрузки.

Либо, вместо номера, указать полное имя:

GRUB_DEFAULT=”‘Windows 7 (loader) (на /dev/sda1)”

Другой вариант – изменить GRUB_DEFAULT на GRUB_DEFAULT=saved, после чего выполнить:

# grub-set-default 4

Этим мы указываем две вещи:

а) GRUB_DEFAULT=saved – GRUB будет загружать ту систему, которая была загружена последней;

б) такой системой мы устанавливаем запись №4, т.е. – Windows 7 (loader).

Причем второй пункт выполнять необязательно – достаточно будет 1 раз выбрать систему во время загрузки – и она будет сохранена как «система по-умолчанию».

Так же, вместо указания «индекса» системы – можно указать полное ее полное «имя»:

# grub-set-default “‘Windows 7 (loader) (на /dev/sda1)”

После чего выполнить:

# update-grub

//Generating grub configuration file … Найден образ linux: /boot/vmlinuz-3.13.0-24-generic Найден образ initrd: /boot/initrd.img-3.13.0-24-generic Найден образ linux: /boot/vmlinuz-3.5.0-46-generic Найден образ initrd: /boot/initrd.img-3.5.0-46-generic Найден образ linux: /boot/vmlinuz-3.5.0-37-generic Найден образ initrd: /boot/initrd.img-3.5.0-37-generic Найден образ linux: /boot/vmlinuz-3.5.0-26-generic Найден образ initrd: /boot/initrd.img-3.5.0-26-generic Найден образ linux: /boot/vmlinuz-3.5.0-17-generic Найден образ initrd: /boot/initrd.img-3.5.0-17-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin Найден Windows 7 (loader) на /dev/sda1 завершено//

Исправление заставки

Чиним сплэш в Ubuntu 10.04

После установки проприетарных драйверов видео (по крайней мере от nVidia, насчет ATI не знаю) в Ubuntu 10.04 сплэш при загрузке по какой-то причине показывается в маленьком разрешении экрана и поэтому выглядит увеличенным. Исправить это очень просто.

Открываем файл конфигурирования загрузчика системы GRUB 2:

sudo nano /etc/default/grub

Добавляем в него такую строку:

  GRUB_GFXPAYLOAD_LINUX=1024x768

Вместо 1024x768 пишите своё разрешение. Куда добавлять — не важно, я добавил сразу после GRUB_CMDLINE_LINUX.

После чего нам нужно обновить конфигурацию GRUB, чтобы произведенные нами изменения записались в grub.cfg. Для этого существует следующая команда:

sudo update-grub

Теперь загрузочная заставка должна быть нормальных размеров.

Что-то такое случилось…

как-то поставил Минт вместо другого Минта, который был прописан с виндой на grub’е. Установщик винду не заметил, предлагал поставить Минт рядом с Минтом. Поэтому выбрал пункт вручную. Взял, затер области со старым Минтом, создал новые и установил туда новый Минт. Все было Ок, пока не решил запустить винду. А она взяла и исправила “ошибки” на диске. Пытался исправить по вышеприведенной инструкции - install grub ругался что-то про canonical, слишком маленькую загрузочную область, писал error. Не знаю, что именно повлияло, но Загрузил gparted, и установил boot на раздел с линуксом вместо винды - и grub успешно загрузился.

mint@mint ~ $ sudo mount /dev/sda6 /mnt
mint@mint ~ $ sudo grub-install --root-directory=/mnt /dev/sda

grub-probe: error: failed to get canonical path of `/cow'.
Installing for i386-pc platform.
grub-install.real: warning: your embedding area is unusually small.  core.img won't fit in it..
grub-install.real: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
grub-install.real: error: will not proceed with blocklists.

mint@mint ~ $ sudo update-grub --output=/mnt/boot/grub/grub.cfg
/usr/sbin/grub-probe: error: failed to get canonical path of `/cow'.

Last updated