Как вы передаете VGA / VESA режимы с GRUB2?

11

Одна из моих машин имеет 3-ТБ настройку HD для тройной загрузки в Mint 14 (вариант Ubuntu 12.10), Slackware 14.1 и Arch Linux. HD отформатирован с использованием системы GPT / Guid. Grub2 технически «принадлежит» установке Linux Mint, но используется для тройной загрузки всех трех систем. Установка его около 1 года назад была чрезвычайно болезненной процедурой и требовала 2-3 дня борьбы с ней и ее настройки, чтобы позволить ей распознавать установки Slackware и Arch; он всегда легко распознавал установку Mint Linux.

Мне нужно иметь возможность передавать режимы VGA / VESA в Slackware и Arch. Я использую Slackware и Arch из командной строки, поэтому разрешение консоли и размер шрифта являются важными факторами.

haziz
источник
В вашем grub config есть linux...строки, почему бы просто не добавить то, что вам нужно к этим строкам?
СЛМ
@slm Я пытался ранее, перед тем как опубликовать свой вопрос, добавить vga=askзапись в командную строку файла grub.conf для Slackware с и без него update-grub2, но это не помогло . Я также потерял свою запись для arch с, update-grub2но, к счастью, я вернул свою запись для arch, так как я сделал резервную копию моего неизмененного файла grub.conf.
Хазиз

Ответы:

19

В GRUB2 предпочтительный метод установки разрешения кадрового буфера (для GRUB и ядра) - это редактирование, /etc/default/grubчтобы оно содержало следующие переменные:

  • GRUB_GFXMODE устанавливает разрешение GRUB
  • GRUB_GFXPAYLOAD_LINUXконтролирует, будет ли ядро ​​Linux сохранять разрешение, и если вы хотите, чтобы ядро ​​Linux использовало другое разрешение, чем GRUB, вы можете установить его с помощью этой переменной в форме widthxheight.

Для отображения всех режимов вы можете использовать:

  • hwinfo --framebuffer в терминале Linux
  • vbeinfo в GRUB подскажите

Пример конфигурации разрешения кадрового буфера

Эти строки вставляются в /etc/default/grub:

GRUB_GFXMODE=1024x768x32
GRUB_GFXPAYLOAD_LINUX=keep

Чтобы сгенерировать изменения, запустите

# grub-mkconfig -o /boot/grub/grub.cfg

Выдержка из GNU GRUB Manual 2.00

‘GRUB_GFXMODE’

Установите разрешение, используемое на ‘gfxterm’графическом терминале. Обратите внимание, что вы можете использовать только те режимы, которые поддерживает ваша видеокарта через VESA BIOS Extensions (VBE), поэтому, например, собственное разрешение ЖК-панели может быть недоступно. По умолчанию используется ‘auto’попытка выбрать предпочтительное разрешение. Смотрите gfxmode .

‘GRUB_GFXPAYLOAD_LINUX’

Установите , ‘text’чтобы заставить ядро Linux для загрузки в обычном текстовом режиме, ‘keep’чтобы сохранить набор графики режима использования ‘GRUB_GFXMODE’, ‘widthxheight’[ ‘xdepth’] , чтобы установить конкретный графический режим, или последовательность этих разделенных запятой или точкой с запятой , чтобы попробовать несколько режимов в последовательности. Смотрите gfxpayload .

Обратите внимание, что в зависимости от вашего ядра, вашего дистрибутива, вашей видеокарты и фазы луны, использование этой опции может привести к тому, что GNU / Linux будет страдать от различных проблем с отображением, особенно на ранних этапах загрузки. Если у вас есть проблемы, установите эту опцию на, ‘text’и GRUB скажет Linux загрузиться в обычном текстовом режиме.

Ссылки

Ристо Салминен
источник
Похоже, что вместо запуска grub-mkconfig рекомендуется запустить update-grub (который запускает grub-mkconfig).
Пер Линдберг
У меня нет update-grub или update-grub2 в моей установке Fedora Server 26. Вместо этого я бегу sudo grub2-mkconfig -o $(sudo find /boot -name grub.cfg). Одна команда для систем EFI и не-EFI.
Robpol86
2

В устаревшем grub мы использовали режим VGA / VESA в строке ядра, как VGA=1024x768 в grub2, то же самое может быть достигнуто в строкеgfxpayload=1024x768

Следуйте больше информации здесь

SHW
источник