[TUTO] GRUB 2 - Configuração

  1. Adicione o desativar submenu
  2. Adicionado modificaçào de temas

Falta fazer

  • Adicionar link memtest86+
  • revisão

Pesquisados para o tuto:
https://www.gnu.org/software/grub/manual/grub.html#Security

Não é recomendado modificar as configurações diretamente no grub.cfg.
O grub2 já dispoẽm de alguns arquivos(scripts) para determinadas configurações, encontrados em /etc/default/ e /etc/grub.d.

1- Configuração do arquivo
/etc/default/grub
Neste arquivo estão as configurações padrões do grub.
Mais informação: www.gnu.org/software/grub/manual/html_node/Simple-configuration.html
ou comando : info -f grub -n ‘Simple configuration’

GRUB_DEFAULT
Define a entrada de menu padrão. Podem ser numéricas ou “saved”

  • GRUB_DEFAULT=0 (O primeiro “menuentry” no grub.cfg é 0, o segundo é 1, etc…)
  • GRUB_DEFAULT=saved (Inicia pelo último acessado )

GRUB_SAVEDEFAULT=“true”
Se verdadeiro essa configuração irá definir automaticamente o último sistema operacional selecionado. Nenhum comando precisa ser executado para definir o sistema operacional padrão. Para funcionar, a entrada GRUB_DEFAULT deve ser definido como saved.

GRUB_TIMEOUT = 10
Segundos antes da entrada padrão iniciar automaticamente.

GRUB_DISTRIBUTOR=“Arch”
Determina o nome descritivo da distribuição no menuentry. (Arch,Ubuntu, Xubuntu, Debian, etc)

GRUB_CMDLINE_LINUX_DEFAULT = “splash quiet”
A menos que GRUB_DISABLE_RECOVERY=true este opção adiciona entradas para o final da linha de comando ‘kernel’ no modo normal e modo de recuperação (recovery mode).

GRUB_CMDLINE_LINUX=“”
Se a opção adiciona as entradas para o final da linha de comando ‘kernel’ no modo normal.

GRUB_PRELOAD_MODULES=“part_gpt part_msdos”
Serve para definir os módulos que serão pré-carregados.
part_msdos=

GRUB_HIDDEN_TIMEOUT=5
Serve para definir a espera em segundos de uma tecla ser pressionada (tecla SHIFT) para mostrar o menu. Se nenhuma tecla for pressionada durante esse tempo, exibe o tempo definido no GRUB_TIMEOUT e inicia na entrada padrão.
GRUB_HIDDEN_TIMEOUT_QUIET=true
Em conjunto com GRUB_HIDDEN_TIMEOUT serve para ocultar o tempo do GRUB_TIMEOUT.

GRUB_TERMINAL_INPUT=console
GRUB_TERMINAL_OUTPUT=console ( Os usuários que utilizam o driver NVIDIA proprietário podem querer desativar framebuffer GRUB2, uma vez que pode causar problemas com o driver binário. Descomente esta opção )
Servem para setar os dispositivos de entrada e saida.
Ex. console (consoles PC BIOS e EFI), serial (serial terminal), gfxterm (modo gráfico de saída), ‘ofconsole’ (console Open Firmware), or ‘vga_text’ (saida de texto VGA , muito útil com Coreboot).

GRUB_DISABLE_SUBMENU=y
Se for y desativa o submenu, aparecendo a lista completa logo quando acessa o Grub

GRUB_GFXMODE=auto
A resolução usada no terminal gráfico (gfxterm).Note que você só pode usar modos que sua placa de vídeo suporta via VESA BIOS (VBE), talvez resoluções nativas do LCD não estão disponíveis.
Ex.1024x768

GRUB_GFXPAYLOAD_LINUX=keep
Permitir que o kernel use a mesma resolução usada pelo grub (GRUB_GFXMODE)

GRUB_DISABLE_LINUX_UUID=true
Aplicar no comando Kernel o formato “root=/dev/xxx” em vez de “root=/dev disco//by-uuid/xxx”

GRUB_DISABLE_RECOVERY=true
Desativar a geração de entradas do modo de recuperação (recovery mode)

GRUB_COLOR_NORMAL=“light-blue/black”
GRUB_COLOR_HIGHLIGHT=“light-cyan/blue”
Conjunto de cores do menu. Usado com ou sem papel de parede.
Entradas especificada como primeiro plano/segundo plano.

GRUB_THEME=“/path/to/gfxtheme”
Definir imagem de fundo ou um tema gfx (gfxtheme)
Ex. /boot/grub/themes/Archxion/theme.txt

GRUB_INIT_TUNE=“480 440 1”
Mais informação, use o comando: info grub --index-search play
Para obter um sinal sonoro no início do GRUB.
É particularmente útil para usuários que não conseguem ver a tela.

/etc/grub.d
Nesta pasta estão os arquivos de configuração.
00_header- como próprio nome já diz é o cabeçalho da configuração.(captura as configurações do /etc/default/grub[)
20_linux_xen- 20_linux_xen, contendo todos Kernels do Xen
30_os-prober-Procura outros sistemas operacionais e insere no menu. Necessário o pacote os-prober.
41_custom-Método alternativo de configuração personalizada. (/boot/grub2/custom.cfg )
10_linux-Arquivo padrão: Adiciona os kernel localmente e gera o menu .
20_memtest86 +- Se o pacote memtest86+ está instalado no sistema, o menu será automanticamente gerado.
40_custom- Usado para criar entradas personalizadas.

[color=red]Nota:[/color] Caso o 40_custom não funcione, você pode usar 41_custom. Crie e edite o arquivo /boot/grub2/custom.cfg. Se o arquivo existir custom.cfg, então será aplicado. Uma vantagem de se ter o custom.cfg, é que não há necessidade de executar o grub2-mkconfig.

2- Adicionar e remover entradas de configurações no grub.cfg
Para adicionar: sudo chmod +x
Para remover: sudo chmod -x
Ex.
Removendo as entradas dos arquivos 10_linux 20_memtest86+ 30_os-prober

sudo chmod -x /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober

Nota:
Toda modificação, exceto do custom.cfg (41_custom), é necessário executar o comando de atualização do grub.
grub2-mkconfig -o /boot/grub/grub.cfg

3- Segurança
Se quiser proteger o GRUB2, não permitindo qualquer um mudar os parâmetros de inicialização ou usar a linha de comando, você pode adicionar uma combinação de usuário/senha nos arquivos.
Para isso execute o comando: grub-mkpasswd-pbkdf2
Digite uma senha e confirme-a.
A saída será paraecida com esta

PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.C8ABD3E93C4DFC83138B0C7A3D719BC650E6234310DA069E6FDB0DD4156313DA3D0D9BFFC2846C21D5A2DDA515114CF6378F8A064C94198D0618E70D23717E82.509BFA8A4217EAD0B33C87432524C0B6B64B34FBAD22D3E6E6874D9B101996C5F98AB1746FE7C7199147ECF4ABD8661C222EEEDB7D14A843261FFF2C07B12[/code]
Adicione no /etc/grub.d/00_header[code]cat << EOF

set superusers="username"
password_pbkdf2 username <password>

EOF

Onde é a string gerada pelo grub-mkpasswd_pbkdf2.

Ex.
set superusers=“root”
password_pbkdf2 root grub.pbkdf2.sha512.10000.*************

Sua linha de comando GRUB2, parâmetros de inicialização e todas as entradas de inicialização estão protegidos.

4- Módulos
Os módulos estão em /boot/grub/i386-pc
Para inserir módulos utilize insmod

Ex.

menuentry 'Linux core repo kernel' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ff4ewwer56-49d6-4dfd-ba65-3aqqqwefa2e' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	set root='hd0,msdos6'
	echo	'Loading Linux core repo kernel ...'
	linux	/vmlinuz-linux root=UUID=ff4ewwer56-49d6-4dfd-ba65-3aqqqwefa2e ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/initramfs-linux.img
}

Para temas

Browse GRUB Themes | https://www.gnome-look.org/browse/cat/109/ord/rating/

Browse GRUB Themes | GRUB Themes - Gnome-look.org | A community for free and open source software and libre content

exemplo:

gnome-look.org

Grub-theme-vimix

A blur theme for grub2

download: Download/Install

Descompactar em /boot/grub/themes/
exemplo
/boot/grub/themes/Vimix/
/ $ cd /boot/grub/themes
themes $ ls -l
total 8
drwxr-xr-x 2 root root 4096 nov 26 18:18 starfield
drwxr-xr-x 3 root root 4096 nov 28 23:18 Vimix
themes $

depois edite o arquivo grub

sudo nano /etc/default/grub

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"
GRUB_THEME="/boot/grub/themes/Vimix/theme.txt"

salve e depois atualize o grub

arch
~ $ sudo grub-mkconfig -o /boot/grub/grub.cfg

debian e derivados

~ $ sudo update-grub

Para Fedora
Informações adicionadas por @anon58028541 do Fedora : [TUTO] GRUB 2 - Configuração - #7 by anon58028541

9 curtidas

acpi=off faz com que a ACPI da MOBO seja desativada e o kernel Linux passe a ser responsável pelo gerenciamento da ACPI.
Essa opção só é necessária em MOBO bugada.

tirei …

foi como um exemplo…

como já tinha feito já faz um tempo…nem percebi esta opçào…

removida

  1. Adicione o desativar submenu
  2. Adicionado modificaçào de temas

@anon58028541

Valeu pela correção.

Corrigido.

1 curtida

@swatquest Beleza, vou deixar os comandos mais completos, assim quem puder também pode enviar dicas para melhorar o conteúdo do tópico, segue do fedora.

BIOS/MBR

grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-install /dev/sd*¹

¹ - sd* é o dispositivo MBR aonde o carregador foi instalado ex: “sda, sdb”, ou partição caso tenha utilizado esta opção.

EFI/GPT

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Se instalado em EFI, não há a necessidade de executar o comando grub2-install.
Caso queria mensagens mais detalhadas do que está acontecendo, execute pelo menos uma vez o comando.

grub2-mkconfig /etc/grub2-efi.cfg

Referência:

https://fedoraproject.org/wiki/GRUB_2

Já deletei a mensagem anterior.