1 (23.03.2011 23:51:42 отредактировано SamuelLinux)

Здравствуйте.

Настраиваю фоновое изображение и цвета меню GRUB'а, изменяя конфигурационный файл /etc/default/grub, следующим образом:

GRUB_GFXMODE=1280x1024x32
WALLPAPER="/usr/share/images/desktop-base/custom_image.png"
COLOR_NORMAL="black/white"
COLOR_HIGHLIGHT="white/black"

Обновляю настройки GRUB'а:

 Консоль:

# update-grub
Generating grub.cfg ...
Found background image: /usr/share/images/desktop-base/defalut_image.png
Found linux image: /boot/vmlinuz-2.6.32-5-686
Found initrd image: /boot/initrd.img-2.6.32-5-686
done

После перезагрузки в GRUB'е изменяется только разрешение, фон и цвета меню остаются прежними.

Почему GRUB не принимает моих настроек фона и цветов меню?

Спасибо.

Debian GNU/Linux 6.0.1;
GRUB 1.98.

вы уверены что фоновая картинка должна находиться в /usr?
попробуйте создать еще одну папку в /boot например /boot/images
и туда кидайте..
смысл в том, что груб на этом этапе не видит разделов..

//

вот
рабочий ман

//

4

SamuelLinux пишет:

Почему GRUB не принимает моих настроек фона и цветов меню?

сиё науке неизвестно. у меня тоже не принимал. удалил grub2, установил grub_legacy

сантехник пишет:

вы уверены что фоновая картинка должна находиться в /usr?

абсолютно уверен. там и должна находиться

сантехник пишет:

попробуйте создать еще одну папку в /boot например /boot/images

создавали, не помогло...

ПатреГ не любит Gnome...

Там вроде как груб ограничения ставит на расширения файлов-картинок, и на их цветовую гамму.. Конвертировать надо. Кадрировать. Еще нужно упаковать..
Тоже делали?
У меня на дебиане получалось

//

6 (10.12.2011 06:06:36 отредактировано SamuelLinux)

После продолжительных экспериментов удалось установить способы, с помощью которых можно изменить фон в GRUB'е:

I. Просто переместить файл с изображением в директорию /boot/grub.

II. В файле /etc/default/grub определить константу GRUB_BACKGROUND и передать ей путь к файлу с картинкой.

III. В директории /usr/share/images/desktop-base переопределить символьную ссылку desktop-grub.png, которая изначально указывает на файл с фоном по умолчанию, и указать ей файл с желаемым изображением.

IV. Вписать в файл /etc/grub.d/05_debian_theme определение константы WALLPAPER.

Например:

# Set the background
WALLPAPER="/usr/share/images/desktop-base/custom_image.png"

Константу следует вписывать в конец файла непосредственно перед вызовом функций set_background_image, чтобы обойти начальную проверку, осуществляемую программой в блоках if.

В файл можно добавить также константы COLOR_NORMAL и COLOR_HIGHLIGHT. Они определяют цвета меню GRUB'а. COLOR_NORMAL определяет цвет невыделенного пункта, а COLOR_HIGHLIGHT — вделенного. В качестве значений они принимают строку с именами цветов для знака и фона, которые разделяются слешем.

Вот пример:

# Set the colors
COLOR_NORMAL="white/black"
COLOR_HIGHLIGHT="white/dark-gray"

Вот перечень поддерживаемых цветов:

black (прозрачный, если задан для фона);
white;
dark-gray;
light-gray;
brown;
yellow;
red;
light-red;
blue;
light-blue;
green;
light-green;
cyan;
light-cyan;
magenta;
light-magenta.

Следует отметить, что цвета для меню можно назначать только при использовании четвертого варианта установки фонового изображения. При использовании первых трех вариантов сделать это не получится.

Во всех случаях необходимо использовать изображения *.jpg, *.png или *.tga, имеющие разрешения, поддерживаемые GRUB'ом. Список этоих разрешений можно получить в консоли GRUB'а, набрав команду vbeinfo. Вход в консоль осуществляется по нажатию клавиши c в меню загрузчика.

Кроме того, можно проверить, будет ли корректно отображаться фоновая картинка, набрав в консоли GRUB'а команду background_image <путь_к_изображению>. Если фон изменится на желаемый, значит изображение подходит.

Следует также не забывать обновлять настройки GRUB'а командой update-grub.

Несмотря на то, что мне всё-таки удалось изменить фоновое изображение и цвета меню, вопрос остается в силе: не ясно, почему константы WALLPAPER, COLOR_NORMAL и COLOR_HIGHLIGHT, установленные в файле /etc/default/grub не работают?

7 (26.04.2014 09:23:31 отредактировано elve)

Вот так ставится картинка в фон =).

 Консоль:
insmod vbe  #переводим видеокарту в нужный режим
loadfont /grub/fonts/unicode.pf2   # если не поставить шрифт, то не сработает
set gfxmode=auto   #еще один режим выставляем (можно вручную, а можно оставить авто). это глубина цвета и разрешение экрана
insmod gfxterm         # подключаем модуль изменения параметров видео             
terminal_output gfxterm           # загружаем еще один модуль. без него не будет работать.
insmod png                         # если изображение png то грузим этот модуль, если jpg то модуль jpeg
background_image /bg.png  # ну и собственно сам фон.

Это все хорошо, но как же Grub найдет картинку? Откуда он знает на каком разделе искать?

 Консоль:
insmod part_msdos
insmod lvm
insmod ext2
search --no-floppy --fs-uuid --set 0c5db988-f250-436e-853b-0e77f6607826

В моем случае определение рутового для загрузчика раздела выглядит вот так. Это лучше в самом начале конфига вписать.

8

сантехник пишет:

Там вроде как груб ограничения ставит на расширения файлов-картинок, и на их цветовую гамму.

Первый - возможно, а второй практически всеядный. У меня принимал и JPG, и PNG, причём с нормальным для моего мониора разрешением 1920*1080.

ᛈᚺ'ᚾᚷᛚᚢᛁ ᛗᚷᛚᚹ'ᚾᚨᚠᚺ ᚲᛏᚺᚢᛚᚺᚢ ᚱ'lᚷᛖᚺ ᚹᚷᚨᚺ'ᚾᚨᚷᛚ ᚠᚺᛏᚨᚷᚾ

Asus Prime B460M-K, i5-10500, Intel 630 UHD + NVIDIA GeForce RTX3060, DDR4 32 GB, SSD 1TB + HDD 2TB | Linux Mint 22.3 Cinnamon + Windows 11