GRUB2 і ядро ​​vga = параметр


16

Згідно з документацією, використання vga=параметра ядра застаріло як GRUB2. Той факт, що деякі нові ядра, схоже, не підтримують його на певних адаптерах, не викликає занепокоєння, оскільки у відеокарти у мене від семи до восьми років.

Проблема зараз полягає в тому, що я хотів би використовувати текстовий режим з більшою роздільною здатністю, наприклад 80x50 замість символів 80x25 за замовчуванням. Мабуть, всі графічні режими (VBE / VESA) не підлягають сумніву для цієї відеокарти (ATI Rage XL) - список доступних режимів відображається лише 0через 6. 6є, 80x60але виглядає жахливо, тому я хотів би поїхати з 1(80x50).

Я бачив, як 80x50 та 80x60 працювали після отримання списку доступних режимів, коли режим за замовчуванням не підтримувався (за замовчуванням коментується GRUB_TERMINAL=console), і мені було запропоновано вибрати.

Як я можу встановити режим, якщо я не повинен встановлювати його в командному рядку ядра та кожне використання GRUB_GFXMODEvbeмодулем попередньої завантаження або без нього ) і GRUB_GFXPAYLOAD_LINUX=keepне спрацьовує? Не вдається: екран залишається порожнім, оскільки це недійсний графічний режим для карти, яку я маю на цій машині?

Моя ідея полягала б у тому, щоб nomodesetвсе-таки перейти до ядра, але завантажувачеві все-таки доведеться встановлювати графічний режим. І я не бачу жодних параметрів, крім vga=параметра ядра для цього.

Примітка:vbetest і videotestкоманди на GRUB2 консоль на порожній екран , а потім екран переходить в сплячий режим після того, як стверджують , немає відеовходу. vbeinfoі videoinfoпоказати кілька доступних режимів, окрім вищезгаданих, але там не згадується, де це слід встановити. Крім того, при переході vga=1(без nomodeset) у командному рядку ядра я бачу дуже коротке попередження про його застаріле, але воно занадто довго для повного читання - і вихід не відображається в dmesg.



vgaПараметр відноситься до ядра, а НЕ grub2. Як би grub2розробник не намагався скласти простий комплекс, він все ще працює до тих пір, поки ядра розуміють цей параметр.
ajeh

Відповіді:


9

Може бути, це застаріло grub2, однак воно все одно має працювати і продовжувати працювати. Для мене це працює grub2 та debian wheezy, а також rhel7.3 (підтверджено 01-2017). Крім того, згідно з офіційною документацією, вона не застаріла:

https://www.kernel.org/doc/Documentation/x86/boot.txt

Якщо командний рядок, наданий завантажувачем, введений користувачем, користувач може очікувати, що наступні варіанти командного рядка спрацюють. Вони, як правило, не повинні бути видалені з командного рядка ядра, хоча не всі вони справді значущі для ядра.

vga = тут або ціле число (у позначенні С, або десятковий, восьмеричний, або шістнадцятковий), або один із рядків "нормальний" (означає 0xFFFF), "ext" (що означає 0xFFFE) або "запитувати" (означає 0xFFFD). Це значення слід ввести у поле vid_mode, оскільки воно використовується ядром до розбору командного рядка.

І https://www.kernel.org/doc/Documentation/svga.txt розповість вам усе, що вам потрібно знати. Нижче наведено кілька прикладів резолюцій, якими я зазвичай користуюся:

vga=0x31b --> 1280x1024x32
vga=0x34d --> 1600x900x32
vga=0x31e --> 1600x1200x32

Щоб отримати список підтримуваних режимів, використовуйте:

vga=ask

Екран 1024 × 768x24, який я знайшов, працює майже на всіх системах та моніторах, які я використовую (на цей раз у десятковій чи шістнадцятковій):

vga=792
vga=0x318

1
Це працює для мене, коли я редагую /etc/default/grubдодавання vga=792до існуючого значенняGRUB_CMDLINE_LINUX
Шашанк Вяс

Оновлення Ubuntu сьогодні встановило новий завантажувальний матеріал UEFI і запропонувало змінити командний рядок, щоб додати їх vga=currentразом із дампами, які випадають. Я відмовився від змін, але прийшов сюди, цікаво, що це vga=currentозначає.
WinEunuuchs2Unix

2

Параметр vga все ще підтримується командами linux16 та initrd16, тому якщо ви зміните "linux" на "linux16" або "initrd" на "initrd16", ви можете отримати стару поведінку. Я не впевнений, які ще зміни викликають, але це спрацювало досить добре для мене. :-)


1
Це чудова порада! Просто натисніть e для редагування в grub2, потім перейдіть донизу, де написано Linux, і поставте 16 в кінці. Тоді ви можете поставити vga = ask в кінці рядка. Якщо фреймбуфер все ще включений в ядрі, він, ймовірно, досить скоро перейде від швидкого тексту VGA до цього режиму.
Алекс Кеннон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.