Як ви передаєте режими VGA / VESA за допомогою GRUB2?


11

На одній з моїх машин встановлено 3 ТБ високої чіткості для потрійного завантаження в Mint 14 (варіант Ubuntu 12.10), Slackware 14.1 та Arch Linux. Формат HD форматується за допомогою системи GPT / Guid. Grub2 технічно "належить" до встановлення Linux Mint, але використовується для потрійного завантаження всіх 3 систем. Налаштування його близько 1 року тому було надзвичайно болючою процедурою і вимагало 2-3 днів боротьби з нею та налаштуванням, щоб вона могла розпізнати встановлення Slackware та Arch; він завжди розпізнавав установку Mint Linux легко.

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


У вашій конфігурації grub є linux...рядки, чому б просто не додати те, що вам потрібно до цих рядків?
slm

@slm Я намагався раніше, перш ніж надсилати запитання, додати vga=askзапис до командного рядка файлу grub.conf для Slackware з і без цього update-grub2, все-таки не вийшло. Я також програв запис для арки, update-grub2але, на щастя, я отримав запис для арки назад, оскільки я створив резервну копію не зміненого файлу grub.conf.
хазіз

Відповіді:


20

У 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 2.00

‘GRUB_GFXMODE’

Встановіть роздільну здатність на ‘gfxterm’графічному терміналі. Зауважте, що ви можете використовувати лише режими, які підтримує ваша відеокарта через розширення VESA BIOS (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

Докладніші відомості можна знайти тут

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.