LINUX.ORG.RU

Некрасиво выглядит GRUB

 ,


0

1

Имею загрузочную флешку Ventoy, на которую закинут мой модифицированный Debian Live Iso образ. И вот, почему-то когда загружаюсь с этой флешки на реальной машине загрузчик выглядит вот так(именно загрузчик на самом Debian live образе), хотя до внесения изменений в образ, загрузчик выглядел более прилично, была картинка с фоном, и т.д. Вопрос, что я поломал? Я модифицировал файл по пути /boot/grub/grub.cfg(здесь / корень образа), в нём я поубирал пункты меню для ненужных мне локалей.(до этого из самой live системы я их удалял пакетным менеджером). Вот старый файл grub.cfg Ещё, сыпятся какие-то непонятные ошибки:

error: file '/grub/font.pf2' not found
error: no video mode activated
error: no video mode activated
В чём может быть проблема?

Некрасиво выглядит GRUB

По ссылке как раз красивый - чёткие белые буквы на синем фоне.

Всякие картиночные фоны только мешают, радуйся что у тебя оно само пофиксилось.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Но он же не плохо выглядел до моих манипуляций, и текст прекрасно читаем был. Как раз с картиночным фоном было прекрасно, и ничё не мешало

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

Я понимаю о чём речь, но все эти гуи меню у груба всё же хуже чем текстовые.

Но дело твоё, разумеется. Если хочешь что-нить проверить то начать стоит с копирования туда старого grub.cfg и проверки как оно выглядит.

firkax ★★★★★
()
Ответ на: комментарий от blbulyandavbulyan

Но вообще судя по всему у тебя этого файла font.pf2 там не хватает. А какие были изменения в образе? Оригинал тоже был iso?

firkax ★★★★★
()

Сам-то смотри свой старый конфиг.

if loadfont $prefix/font.pf2

Есть этот шрифт?

if background_image /isolinux/splash.png

Есть эта картинка? И так далее…

andytux ★★★★★
()
Ответ на: комментарий от firkax

Ещё могут проблемы из-за цепочки загрузчиков. Как я понял сначала выполнятся загрузчик флешки, а затем grub из самого образа. Всякие эффекты при этом практически неизбежны.

master_0K
()
Ответ на: комментарий от master_0K

Это хорошо, если дойдет до груба самого образа. Как там действует Ventoy, я не знаю. То, что он видел в образе, был-ли это вообще груб…

andytux ★★★★★
()
Ответ на: комментарий от andytux

Это хорошо, если дойдет до груба самого образа. Как там действует Ventoy, я не знаю. То, что он видел в образе, был-ли это вообще груб…

Ну так там вроде написано, после выбора пункта Debian появляется GRUB и версия, где-то в углу по моему

blbulyandavbulyan
() автор топика
Ответ на: комментарий от master_0K

Ну на Ventoy, кстати не понятно GRUB или нет. Но вообще, кажется, когда я читал кое-что про ventoy, там давали ссылку на статью про темы GRUB

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

Переменная $prefix содержит фактический путь к файлам Grub. Что-то вида ’(hd2,3)/boot/grub/` – поскольку как устройство «встанет» заранее неизвестно в общем случае.

master_0K
()
Ответ на: комментарий от blbulyandavbulyan

Кроме «основного» grub.cfg должен быть ещё набор разных *.cfg. Где-то в той цепочке что-то пошло не так или в реальности загрузку делает загрузчик не из образа.

master_0K
()
Ответ на: комментарий от blbulyandavbulyan

Что значит рядом с конфигом? В сообщении об ошибке написано, что его не находят в /grub/font.pf2. А конфиг, как ты пишешь, в /boot/grub/grub.cfg. Так что он совсем не рядом его ишет (/grub/ и /boot/grub/ это разные пути).

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)

error: file ‘/grub/font.pf2’ not found

if background_image /isolinux/splash.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
elif background_image /splash.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi

Похоже не может найти не только font.pf2, но и splash.png. Отсюда и красивый голубой ретро фон. :)

krasnh ★★★★
()
Ответ на: комментарий от blbulyandavbulyan

В теории он может брать конфиг grub из образа. Меню отрисовать не сложно. Вот далее бывает по-разному.

Само простое было бы посмотреть в консоли grub до старта загрузки образа. Это если знаешь что. На вскидку: какой конфиг активен (тот, что будет в редакторе grub), где тот самый образ (какое устройство), что будет загрузочным (я не знаю, как ventoy устроен) и т.д.

Переменная prefix почему-то неправильно заполняется – файлы не находятся (если они есть в твоём образе). А вот про видеорежимы вообще загадка.

master_0K
()
Ответ на: комментарий от firkax

Ну я-то думал что prefix как раз и указывает на каталог, где лежит грубовский конфиг

blbulyandavbulyan
() автор топика
Ответ на: комментарий от krasnh
david@DebianW  ~/livecd/iso  ls -al
итого 36
drwxr-xr-x 9 david david 4096 авг  2 15:16 .
drwxr-xr-x 5 david david 4096 авг  4 11:12 ..
drwxr-xr-x 3 root  root  4096 авг  2 15:15 boot
drwxr-xr-x 3 root  root  4096 авг  2 15:15 d-i
drwxr-xr-x 3 root  root  4096 авг  2 15:15 dists
drwxr-xr-x 4 root  root  4096 авг  2 15:15 EFI
drwxr-xr-x 2 root  root  4096 авг  2 15:15 isolinux
drwxr-xr-x 2 root  root  4096 авг  7 17:50 live
drwxr-xr-x 3 root  root  4096 авг  2 15:16 pool
 david@DebianW  ~/livecd/iso  ls -al isolinux 
итого 724
drwxr-xr-x 2 root  root    4096 авг  2 15:15 .
drwxr-xr-x 9 david david   4096 авг  2 15:16 ..
-r--r--r-- 1 root  root    2048 авг  2 15:15 boot.cat
-rw-r--r-- 1 root  root  166704 авг  2 15:15 hdt.c32
-rw-r--r-- 1 root  root   38912 авг  2 15:15 isolinux.bin
-rw-r--r-- 1 root  root     157 авг  2 15:15 isolinux.cfg
-rw-r--r-- 1 root  root  119524 авг  2 15:15 ldlinux.c32
-rw-r--r-- 1 root  root  169552 авг  2 15:15 libcom32.c32
-rw-r--r-- 1 root  root   67396 авг  2 15:15 libgpl.c32
-rw-r--r-- 1 root  root   24056 авг  2 15:15 libmenu.c32
-rw-r--r-- 1 root  root   23524 авг  2 15:15 libutil.c32
-rw-r--r-- 1 root  root   26792 авг  2 15:15 memdisk
-rw-r--r-- 1 root  root   15667 авг  2 15:15 menu.cfg
-rw-r--r-- 1 root  root   21084 авг  2 15:15 splash.png
-rw-r--r-- 1 root  root     733 авг  2 15:15 stdmenu.cfg
-rw-r--r-- 1 root  root   26744 авг  2 15:15 vesamenu.c32
 david@DebianW  ~/livecd/iso  

Здесь ~/livecd/iso каталог, куда распакован iso образ. Дальше отсюда же, я создаю новый командой xxoriso. И вроде файл splash.png есть

blbulyandavbulyan
() автор топика
Ответ на: комментарий от master_0K
 david@DebianW  ~/livecd/iso/boot/grub  ls -al
итого 2668
drwxr-xr-x 3 root root    4096 авг  3 19:11 .
drwxr-xr-x 3 root root    4096 авг  2 15:15 ..
-rw-r--r-- 1 root root 2675712 авг  2 15:15 efi.img
-rw-r--r-- 1 root root    5004 авг  2 15:15 font.pf2
-rw-r--r-- 1 root root    3544 авг  3 23:34 grub.cfg
-rw-r--r-- 1 root root   14757 авг  3 22:40 grub.cfg.old.back
-rw-r--r-- 1 root root      26 авг  2 15:15 loopback.cfg
drwxr-xr-x 2 root root   12288 авг  2 15:15 x86_64-efi
 david@DebianW  ~/livecd/iso/boot/grub  

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

Ещё одна странность, с этого образа почему-то virtual box в efi режиме грузится не хочет(хотя с оригинала грузится), а вот основной комп(при выключенном csm), если грузится с флешки с Ventoy, а потом выбрать этот образ, то появляется загрузочное меню этого образа(как было на видео)

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

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

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

Еще, для полноты картины, загрузить только iso в вирте, без флешки с Ventoy. Предположу, что проблем не будет, а значит сборка патченого iso отличается от стандартной, которую понимает Ventoy. Имхо.

krasnh ★★★★
()
Ответ на: комментарий от blbulyandavbulyan

Я прокинул флешку с Ventoy в Virtual Box, включил в настройках виртуальной машины EFI ИИИ, при Выборе Debian 11 получил нормальный вид загрузчика, с фоном, со шрифтом

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

Почему-то GRUB так некрасиво выглядит только когда грузишься на основном компе

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

у тебя же не берётся. хотя я видимо, ошибаюсь, когда ожидаю увидеть её в /boot/grub

но образ у тебя «криво» собран раз в

этого образа почему-то virtual box в efi режиме грузится не хочет(хотя с оригинала грузится)

основной комп(при выключенном csm), если грузится с флешки с Ventoy, а потом выбрать этот образ, то появляется загрузочное меню этого образа(как было на видео)

master_0K
()
Ответ на: комментарий от master_0K
 sudo xorriso -as mkisofs
-r -J -V «Debian-rlive-11.3.0.iso»
-b isolinux/isolinux.bin
-c isolinux/boot.cat
-no-emul-boot
-partition_offset 16
-boot-load-size 4
-boot-info-table
-isohybrid-mbr «/usr/lib/ISOLINUX/isohdpfx.bin»
-o /home/$USER/Debian-rlive-11.3.0.iso
/home/$USER/livecd2/iso

Не знаю что это даст, но собиралось вот такой командой

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

кажется я начинаю догадываться ))

Когда через dd Debian заливается на носитель, то потом там внутри есть раздел в FAT32. В твоём образе наверняка этого нет.

master_0K
()
Ответ на: комментарий от blbulyandavbulyan

Посмотри свой и оригинальный ISO в VirtualBox как носители. Дебианщики хитро разделов наделали.

Ты смотрел? У тебя точно его нет?

master_0K
()
Ответ на: комментарий от master_0K

Переменная prefix почему-то неправильно заполняется – файлы не находятся (если они есть в твоём образе). А вот про видеорежимы вообще загадка.

Ничего не загадка. Нет шрифта - нет режима (загрузка гуи модуля там внутри if-а). Думаю можно $prefix заменить на /boot/grub и заработает. Но лучше выяснить почему префикс не тот.

firkax ★★★★★
()
Ответ на: комментарий от blbulyandavbulyan

у меня так выглядит загрузочная флешка

 fdisk -l /dev/sda

Disk /dev/sda: 14.46 GiB, 15525216256 bytes, 30322688 sectors
Disk model: USB FLASH DRIVE 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot   Start      End  Sectors  Size Id Type
/dev/sda1  *         64  6940215  6940152  3.3G  0 Empty
/dev/sda2       6940216  6948407     8192    4M ef EFI (FAT-12/16/32)
/dev/sda3       6979840 30322687 23342848 11.1G 83 Linux

Не Debian сейчас, но всё тоже самое. А нет dev/sda3 6979840 30322687 23342848 11.1G 83 Linux у тебя не будет. Это я «прикрутил» на остальное место «персистент»-раздел. Но это отдельное «шаманство» ))

Ну и конечно, у тебя вряд ли будет именно /dev/sda

master_0K
()
Ответ на: комментарий от firkax

Уже разобрались. У него «таблица разделов» в образе не соответствует современным «канонам». Ну и дальше всё «рассыпается».

master_0K
()
Ответ на: комментарий от master_0K
 david@DebianW  ~/livecd/iso/boot/grub  sudo fdisk -l /media/share/ds1/Софт/Образы\ операционных\ систем/debian-live-11.3.0-amd64-kde.iso
Disk /media/share/ds1/Софт/Образы операционных систем/debian-live-11.3.0-amd64-kde.iso: 2,63 GiB, 2824273920 bytes, 5516160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x66b0e155

Device                                                                             Boot Start     End Sectors  Size Id Type
/media/share/ds1/Софт/Образы операционных систем/debian-live-11.3.0-amd64-kde.iso1 *        0 5516159 5516160  2,6G  0 Empty
/media/share/ds1/Софт/Образы операционных систем/debian-live-11.3.0-amd64-kde.iso2       1536    6761    5226  2,6M ef EFI (FAT-12/16/32)
 david@DebianW  ~/livecd/iso/boot/grub  

blbulyandavbulyan
() автор топика
Ответ на: комментарий от master_0K
 david@DebianW  ~/livecd/iso/boot/grub  sudo fdisk -l /media/david/Ventoy/ISO/Debian-rlive-11.3.0.iso 
Disk /media/david/Ventoy/ISO/Debian-rlive-11.3.0.iso: 2,51 GiB, 2690580480 bytes, 5255040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x76664605

Device                                           Boot Start     End Sectors  Size Id Type
/media/david/Ventoy/ISO/Debian-rlive-11.3.0.iso1 *       64 5255039 5254976  2,5G 17 Hidden HPFS/NTFS
 david@DebianW  ~/livecd/iso/boot/grub  

Это модифицированный образ

blbulyandavbulyan
() автор топика
Ответ на: комментарий от blbulyandavbulyan

Гипотеза подтвердилась. )

Тебе выше давали ссылку на «хитрую» сборку загрузочного образа. Она решает твою проблему?

master_0K
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.