GRUB2 e kernel vga = parametro


16

Secondo la documentazione, l'uso del vga=parametro kernel è obsoleto a partire da GRUB2. Il fatto che alcuni kernel più recenti non sembrino più supportarlo su alcuni adattatori non è un problema poiché la scheda grafica che ho ha da sette a otto anni.

Il problema ora è che vorrei utilizzare una modalità di testo a risoluzione più elevata, come 80x50 anziché i caratteri 80x25 predefiniti. Apparentemente tutte le modalità grafiche (VBE / VESA) sono fuori discussione per questa scheda grafica (ATI Rage XL) - l'elenco delle modalità disponibili mostra solo 0attraverso 6. 6è 80x60ma sembra orribile, quindi mi piacerebbe andare con 1(80x50).

Ho visto 80x50 e 80x60 funzionare dopo aver ottenuto l'elenco delle modalità disponibili ogni volta che la modalità predefinita non era supportata (con l'impostazione predefinita commentata GRUB_TERMINAL=console) e mi è stato chiesto di scegliere.

Come posso impostare la modalità, se non dovrei impostarla sulla riga di comando del kernel e ogni uso di GRUB_GFXMODE(con o senza vbemodulo di precaricamento ) e GRUB_GFXPAYLOAD_LINUX=keepfallisce? Errore come in: lo schermo rimane vuoto perché è una modalità grafica non valida per la scheda che ho in questa macchina?

La mia idea sarebbe quella di passare ancora nomodesetal kernel, ma il boot loader dovrebbe comunque impostare la modalità grafica. E non riesco a vedere altre opzioni oltre al vga=parametro kernel per farlo.

Nota: i comandi vbeteste videotestsulla console GRUB2 oscurano lo schermo e quindi lo schermo passa alla modalità di sospensione dopo aver affermato che non è presente alcun ingresso video. vbeinfoe videoinfomostra alcune modalità disponibili diverse da quelle sopra menzionate, ma non si fa menzione di dove dovrebbe essere impostato. Inoltre, quando si passa vga=1(senza nomodeset) dalla riga di comando del kernel, vedo un breve avvertimento che è deprecato, ma è troppo lungo per essere letto completamente - e l'output non appare in dmesg.



Il vgaparametro si applica al kernel, non a grub2. Indipendentemente dal modo in cui lo grub2sviluppatore sta cercando di rendere semplice il complesso, funziona ancora fintanto che i kernel comprendono questo parametro.
ajeh

Risposte:


9

Forse è deprecato da grub2, tuttavia dovrebbe ancora funzionare e deve continuare a funzionare. Funziona con me usando grub2 e debian wheezy e rhel7.3 (confermato 01-2017). Inoltre, secondo la documentazione ufficiale, non è deprecato:

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

Se l'utente inserisce la riga di comando fornita dal caricatore di avvio, l'utente può aspettarsi che funzionino le seguenti opzioni della riga di comando. Normalmente non dovrebbero essere cancellati dalla riga di comando del kernel anche se non tutti sono significativi per il kernel.

vga = qui è un numero intero (in notazione C, decimale, ottale o esadecimale) o una delle stringhe "normale" (che significa 0xFFFF), "ext" (che significa 0xFFFE) o "ask" (che significa 0xFFFD). Questo valore deve essere inserito nel campo vid_mode, poiché viene utilizzato dal kernel prima che la riga di comando venga analizzata.

E https://www.kernel.org/doc/Documentation/svga.txt ti dirà tutto ciò che devi sapere. Di seguito alcuni esempi di risoluzioni che uso comunemente:

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

Per ottenere un elenco di modalità supportate utilizzare:

vga=ask

Per uno schermo 1024 × 768x24 che ho trovato funziona praticamente su tutti i sistemi e monitor che uso (questa volta in decimale e in esadecimale):

vga=792
vga=0x318

1
Questo funziona per me quando modifico /etc/default/grubaggiungendo vga=792il valore esistente diGRUB_CMDLINE_LINUX
Shashank Vyas il

Un aggiornamento di Ubuntu oggi ha installato nuovi elementi di avvio UEFI di grub e ha proposto una modifica della riga di comando da aggiungere vga=currentinsieme a elementi di crash dump. Ho rifiutato le modifiche ma sono venuto qui chiedendomi cosa vga=currentsignificasse.
WinEunuuchs2Unix

2

Il parametro vga è ancora supportato con i comandi linux16 e initrd16, quindi se si cambia "linux" in "linux16" o "initrd" in "initrd16" è possibile ottenere il vecchio comportamento. Non sono sicuro di quali altri cambiamenti causino, ma ha funzionato abbastanza bene per me. :-)


1
Questo è un ottimo consiglio! Premi e per modificare in grub2, quindi scorri verso il basso fino a dove dice linux e metti 16 alla fine. Quindi puoi mettere vga = ask alla fine della riga. Se framebuffer è ancora abilitato nel kernel, probabilmente passerà presto dal testo VGA veloce a quella modalità abbastanza presto.
Alex Cannon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.