GRUB2: usar a resolução máxima detectada?

32

Como eu digo ao GRUB2 para definir sua resolução (e também a passada para o kernel) para a máxima que ele pode detectar no momento da inicialização ?

Mehrdad
fonte
2
@everin: Não, não. Isso só me diz como configurá-lo para uma resolução específica que eu possa encontrar, não para a resolução máxima que ele detectar no momento da inicialização .
Mehrdad
´vbeinfo´ lhe dirá a resolução máxima suportada. Em seguida, você pode editar / etc / default / grub para usar essa resolução.
Martin
3
@everin: Você ainda não está entendendo a pergunta !! :( Eu quero detecção automática , não detecção manual .
Mehrdad
2
@AmithKK: Uh, sim? Eu tenho resoluções variáveis ​​...
Mehrdad

Respostas:

50

Presumo que o motivo pelo qual você está perguntando sobre isso é que você usa monitores diferentes na mesma máquina Ubuntu e deseja que o GRUB2 fique bem em todos eles. No entanto, se você estiver preocupado com a resolução usada depois que o Ubuntu inicializar, isso não resolverá isso . O GRUB2 não "transmite ao kernel" a resolução que ele seleciona para o menu de inicialização.

Edite /etc/default/grubcomo root. Você pode fazer backup primeiro:

sudo cp /etc/default/grub /etc/default/grub.old

(Você pode executá-lo no Terminal, que pode ser aberto pressionando Ctrl+ Alt+ T.)

Para editá-lo com o Gedit como rootexecutado:

gksu gedit /etc/default/grub

(Ou, se você estiver usando o Kubuntu, execute kdesudo kate /etc/default/grub.)

Você receberá muitas mensagens no Terminal, se executar esse comando no Terminal, e não com Alt+ F2. Você notará que eles não dizem que pertencem ao arquivo que você está editando, então tudo bem.

Você verá que parte do arquivo diz algo como isto:

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

Remova o comentário (por exemplo, remova o líder #de) da linha que diz GRUB_GFXMODEe altere a resolução de 640x480para auto. A linha deve agora ler:

GRUB_GFXMODE=auto

Salve o arquivo e feche o editor. No terminal, execute:

sudo update-grub

(Isso deve ser executado após todas as modificações para /etc/default/grub, para aplicar as alterações.)

Agora reinicie e veja se isso faz o que você deseja.

Pode não ser (pois usa o "padrão da plataforma", que pode não ser o mais alto possível). Se for esse o caso, edite /etc/default/grubnovamente e, desta vez, altere a linha, de forma a dizer algo como:

GRUB_GFXMODE=1600x1200,1280x1024,1024x768,800x600,640x480

Você não necessariamente desejará usar exatamente essa linha. Você deve listar todas as resoluções que deseja tentar, na ordem em que deseja que sejam tentadas. As resoluções listadas são as resoluções mais padrão para monitores com proporção de tela 4: 3, mas os monitores widescreen (incluindo a maioria das telas de laptop atualmente) têm diferentes formatos e usam resoluções diferentes. A Wikipedia possui uma lista de resoluções comuns que podem ajudá-lo. Se você souber as resoluções específicas que deseja para cada dispositivo, basta listá-las (as mais altas primeiro). Você provavelmente deve incluir 640x480ou autono final. Eu recomendo isso porque não sei se o GRUB2 sempre tentará uma baixa resolução segura, se você não incluir isso.

Em seguida, salve o arquivo novamente, execute sudo update-grubnovamente, reinicie novamente e veja se isso faz o que você precisa.

Caso contrário, você pode estar sem sorte. O GRUB2 não exibe vídeo da mesma maneira que o Ubuntu quando é inicializado. O GRUB2 usa as extensões de BIOS VESA para exibir o menu de inicialização com resolução aprimorada (e profundidade de cores), e a resolução máxima de uma máquina através do VBE nem sempre é tão alta quanto a resolução máxima suportada pela placa de vídeo e pelo monitor.

Fonte: A documentação oficial do GRUB2 . (Você notará que o número da versão é 1,99 . Ainda é GRUB2. Um pouco confuso, mas é verdade.)

[Finalmente, obrigado ao TechZilla por apontar um erro grave na versão original desta resposta.]

Eliah Kagan
fonte
+1 definitivamente uma solução viável, mesmo que não seja perfeita. Obrigado pela resposta detalhada, está muito bem escrita!
Mehrdad 26/05
2
Também apenas um FYI, GRUB_GFXMODE=autoquase sempre obtém a melhor resolução possível via VESA. As resoluções widescreen VESA não são padronizadas e nunca consegui uma delas trabalhando com o Grub2. Ouvi dizer que é possível, se estiver usando um chip Intel GFX e alguns softwares VESA semi-complicados. AFAIK, isso não é possível com chips GFX que não são da Intel. ... você também deve adicionar um +1 ao meu comentário, se estiver no alvo. : P
JM Becker
1
@Mehrdad Dê a recompensa a esta resposta. Isto é o mais próximo que você pode obter AFAIK: D
Amith KK
@AmithKK: Eu provavelmente vou, embora eu ache que vou esperar um pouco e deixar que outras pessoas tenham a chance de, pelo menos, ler a pergunta antes de atribuí-la, haha. :)
Mehrdad 26/05
12

Há também uma opção de GUI disponível.

Personalizador Grub:

O Grub Customizer permite editar, renomear, reordenar ou congelar entradas do Grub. Ele também permite alterar as cores de fundo do menu Grub ou adicionar uma imagem personalizada e também suporta a personalização BURG. Você também pode usar o Grub Customizer em um ambiente de Live CD / USB para corrigir seus problemas de inicialização.

Instalação:

Pressione Alt+ Ctrl+ Tpara abrir o terminal e execute os seguintes comandos:

sudo add-apt-repository ppa: danielrichter2007 / grub-customizer
sudo apt-get update
sudo apt-get install grub-personalizador

Como usar:

Depois de instalado, pressione Alt+ F2, digite grub-customizere pressione Enter.

Autentique dando sua senha de usuário.

Uma vez aberto, clique Preferencesna barra de ferramentas.

insira a descrição da imagem aqui

Na Appearanceguia ativar custom resolution, digite autona caixa de texto.

insira a descrição da imagem aqui

Como alternativa, na Advancedguia ativar GRUB_GFXMODEe digite autoo campo de texto na frente dele. Você também pode especificar a resolução como uma sequência de um ou mais modos, separados por vírgulas (',') ou ponto e vírgula (';'); cada um será tentado sucessivamente até que um seja encontrado. Por exemplo:

1440x900,1680x1050,1920x1200,2560x1600

Ou especificado com profundidade (8, 16 ou 24):

1440x900x16,1680x1050x16,1920x1200x16,2560x1600x16

insira a descrição da imagem aqui

Feche a Preferencescaixa de diálogo e clique em Salvar na barra de ferramentas da janela principal. É isso aí!

insira a descrição da imagem aqui

Para remover o Grub Customizer, execute os seguintes comandos no terminal:

sudo apt-get autoremove --purge grub-customizer
sudo add-apt-repository -r ppa: danielrichter2007 / grub-customizer
sudo apt-get update
Basharat Sialvi
fonte