systemdjournalctl: consultar o diário do systemdudevEste capítulo descreve como configurar o GRUB 2, o carregador de boot usado no SUSE® Linux Enterprise Desktop. Ele é o sucessor do carregador de boot tradicional GRUB, agora chamado de “GRUB 2 Legacy”. O GRUB 2 tornou-se o carregador de boot padrão do SUSE® Linux Enterprise Desktop desde a versão 12. Um módulo do YaST está disponível para definir as configurações mais importantes. O procedimento de boot como um todo é detalhado no Capítulo 10, Inicializando um sistema Linux. Para obter detalhes sobre o suporte a Boot Seguro para máquinas UEFI, consulte o Capítulo 14, UEFI (Unified Extensible Firmware Interface).
A configuração é armazenada em arquivos diferentes.
Mais sistemas de arquivos são suportados (por exemplo, Btrfs).
Pode ler arquivos armazenados em dispositivos LVM ou RAID diretamente.
A interface do usuário pode ser traduzida e alterada com temas.
Inclui um mecanismo para carregar módulos que suportam recursos adicionais, como sistemas de arquivos, etc.
Pesquisa e gera automaticamente entradas de boot para outros kernels e sistemas operacionais, como o Windows.
Inclui um console mínimo do tipo Bash.
A configuração do GRUB 2 baseia-se nos seguintes arquivos:
/boot/grub2/grub.cfg
Este arquivo inclui a configuração dos itens de menu do GRUB 2. Ele substitui o menu.lst usado no GRUB Legacy. O grub.cfg é automaticamente gerado pelo comando grub2-mkconfig
e não deve ser editado.
/boot/grub2/custom.cfg
Este arquivo opcional é diretamente originado pelo grub.cfg no momento da inicialização e pode ser usado para adicionar itens personalizados ao menu de boot.
/etc/default/grub Este arquivo controla as configurações do usuário do GRUB 2 e, normalmente, inclui outras configurações de ambiente, como fundos e temas.
/etc/grub.d/
Os scripts neste diretório são lidos durante a execução do comando grub2-mkconfig
. Suas instruções estão integradas ao arquivo de configuração principal /boot/grub/grub.cfg.
/etc/sysconfig/bootloader
Este arquivo de configuração é usado ao configurar o carregador de boot com o YaST e sempre que um novo kernel é instalado. Ele é avaliado pelo perl-bootloader, que modifica o arquivo de configuração do carregador de boot apropriadamente (por exemplo, /boot/grub2/grub.cfg para o GRUB 2). O /etc/sysconfig/bootloader não é um arquivo de configuração específico do GRUB 2, os valores são aplicados a qualquer carregador de boot instalado no SUSE Linux Enterprise Desktop.
/boot/grub2/x86_64-efi, ,
Estes arquivos de configuração incluem opções específicas da arquitetura.
O GRUB 2 pode ser controlado de várias maneiras. As entradas de boot de uma configuração existente podem ser selecionadas no menu gráfico (splash screen). A configuração é carregada do arquivo /boot/grub2/grub.cfg, que é compilado de outros arquivos de configuração (veja abaixo). Todos os arquivos de configuração do GRUB 2 são considerados arquivos do sistema, e você precisa de privilégios de root para editá-los.
Depois de editar manualmente os arquivos de configuração do GRUB 2, você deverá executar grub2-mkconfig
para ativar as mudanças. Porém, isso não é necessário ao mudar a configuração com o YaST, já que ele executa grub2-mkconfig
automaticamente.
/boot/grub2/grub.cfg #
A splash screen gráfica com o menu de boot baseia-se no arquivo de configuração do GRUB 2 /boot/grub2/grub.cfg, que contém as informações sobre todas as partições ou sistemas operacionais que podem ser inicializados pelo menu.
Todas as vezes em que o sistema é inicializado, o GRUB 2 carrega o arquivo de menu diretamente do sistema de arquivos. Por esta razão, o GRUB 2 não precisa ser reinstalado após as modificações no arquivo de configuração. O grub.cfg é recriado automaticamente com as instalações ou remoções do kernel.
O grub.cfg é compilado pelo grub2-mkconfig
do arquivo /etc/default/grub e dos scripts que estão no diretório /etc/grub.d/. Portanto, você nunca deve editar o arquivo manualmente. Em vez disso, edite os arquivos de origem relacionados ou use o módulo do YaST para modificar a configuração, conforme descrito na Seção 13.3, “Configurando o carregador de boot com o YaST”.
/etc/default/grub #Há mais opções gerais do GRUB 2 aqui, como o horário em que o menu é exibido ou o OS padrão para inicializar. Para listar todas as opções disponíveis, consulte a saída do seguinte comando:
grep "export GRUB_DEFAULT" -A50 /usr/sbin/grub2-mkconfig | grep GRUB_
Além das variáveis já definidas, o usuário pode incluir suas próprias variáveis e usá-las posteriormente nos scripts que estão no diretório /etc/grub.d.
Após editar o /etc/default/grub, execute grub2-mkconfig
para atualizar o arquivo de configuração principal.
Todas as opções definidas neste arquivo são opções gerais que afetam todas as entradas de boot. É possível definir opções específicas para os Kernels ou o hipervisor do Xen usando as opções de configuração GRUB_*_XEN_*. Veja os detalhes a seguir.
GRUB_DEFAULT
Define a entrada do menu de boot que será inicializada por padrão. Seu valor pode ser numérico, o nome completo de uma entrada do menu ou “saved” (gravado).
GRUB_DEFAULT=2 inicializa a terceira entrada (contada a partir de zero) do menu de boot.
GRUB_DEFAULT="2>0" inicializa a primeira entrada do submenu da terceira entrada do menu de nível superior.
GRUB_DEFAULT="Exemplo de entrada do menu de boot" inicializa a entrada do menu com o título “Exemplo de entrada do menu de boot”.
GRUB_DEFAULT=saved inicializa a entrada especificada pelos comandos grub2-reboot ou grub2-set-default . Enquanto grub2-reboot define a entrada de boot padrão apenas para a próxima reinicialização, o grub2-set-default define a entrada de boot padrão até ser modificada.
GRUB_HIDDEN_TIMEOUT
Aguarda o usuário pressionar uma tecla durante o número especificado de segundos. Durante o período, nenhum menu é exibido, exceto se o usuário pressionar uma tecla. Se nenhuma tecla for pressionada durante o período especificado, o controle será passado para GRUB_TIMEOUT. GRUB_HIDDEN_TIMEOUT=0 verifica primeiro se a tecla Shift foi pressionada e mostra o menu de boot em caso afirmativo, do contrário, inicializa a entrada do menu padrão imediatamente. Este é o procedimento padrão quando somente um OS inicializável é identificado pelo GRUB 2.
GRUB_HIDDEN_TIMEOUT_QUIET
Se false (falso) for especificado, um temporizador de contagem regressiva será exibido em uma tela em branco quando o recurso GRUB_HIDDEN_TIMEOUT estiver ativo.
GRUB_TIMEOUT
O período em segundos durante o qual o menu de boot é exibido antes de inicializar a entrada de boot padrão automaticamente. Se você pressionar uma tecla, o tempo de espera será cancelado, e o GRUB 2 vai aguardar até você fazer uma seleção manualmente. GRUB_TIMEOUT=-1 exibe o menu até você selecionar a entrada de boot manualmente.
GRUB_CMDLINE_LINUX
As entradas nesta linha são adicionadas ao fim das entradas de boot para o modo normal e de recuperação. Use-a para adicionar parâmetros do kernel à entrada de boot.
GRUB_CMDLINE_LINUX_DEFAULT
Igual a GRUB_CMDLINE_LINUX, mas as entradas são anexadas apenas no modo normal.
GRUB_CMDLINE_LINUX_RECOVERY
Igual a GRUB_CMDLINE_LINUX, mas as entradas são anexadas apenas no modo de recuperação.
GRUB_CMDLINE_LINUX_XEN_REPLACE
Esta entrada substitui completamente os parâmetros de GRUB_CMDLINE_LINUX por todas as entradas de boot do Xen.
GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT
Igual a GRUB_CMDLINE_LINUX_XEN_REPLACE, mas substitui apenas os parâmetros de GRUB_CMDLINE_LINUX_DEFAULT.
GRUB_CMDLINE_XEN
Esta entrada especifica os parâmetros de kernel apenas para o kernel convidado do Xen. O princípio da operação é o mesmo de GRUB_CMDLINE_LINUX.
GRUB_CMDLINE_XEN_DEFAULT
Igual a GRUB_CMDLINE_XEN. O princípio da operação é o mesmo de GRUB_CMDLINE_LINUX_DEFAULT.
GRUB_TERMINAL
Habilita e especifica um dispositivo de terminal de entrada/saída. Pode ser console (consoles BIOS e EFI do PC), serial (terminal serial), ofconsole (console do Open Firmware) ou o gfxterm padrão (saída do modo gráfico). É possível também habilitar mais de um dispositivo colocando as opções necessárias entre aspas, por exemplo, GRUB_TERMINAL="console serial".
GRUB_GFXMODE
A resolução usada para o terminal gráfico gfxterm . Observe que você só pode usar os modos suportados por sua placa gráfica (VBE). O padrão é ''auto'', que tenta selecionar uma resolução preferencial. É possível mostrar as resoluções de tela disponíveis para o GRUB 2 digitando vbeinfo na linha de comando do GRUB 2. Para acessar a linha de comando, digite c quando aparecer a tela do menu de boot do GRUB 2.
É possível também especificar a profundidade de cores anexando-a à configuração da resolução, por exemplo, GRUB_GFXMODE=1280x1024x24.
GRUB_BACKGROUND
Defina uma imagem de fundo para o terminal gráfico gfxterm. A imagem deve ser um arquivo legível pelo GRUB 2 no momento da inicialização, que deve terminar com o sufixo .png, .tga, .jpg ou .jpeg. Se necessário, a imagem será dimensionada para caber na tela.
GRUB_DISABLE_OS_PROBER
Se esta opção for definida como true (verdadeiro), a pesquisa automática de outros sistemas operacionais será desabilitada. Apenas as imagens do kernel em /boot/ e as opções de seus próprios scripts em /etc/grub.d/ serão detectadas.
SUSE_BTRFS_SNAPSHOT_BOOTING
Se esta opção for definida como true (verdadeiro), o GRUB 2 poderá ser inicializado diretamente nos instantâneos do Snapper. Para obter mais informações, leia a Seção 4.3, “Rollback do sistema por inicialização de instantâneos”.
Todos os parâmetros *_DEFAULT podem ser controlados manualmente ou pelo YaST.
Para ver a lista completa de opções, consulte o manual do GNU GRUB (http://www.gnu.org/software/grub/manual/grub.html#Simple-configuration). Para ver a lista completa de parâmetros possíveis, visite http://en.opensuse.org/Linuxrc.
/etc/grub.d #
Os scripts neste diretório são lidos durante a execução do comando grub2-mkconfig
, e suas instruções estão incorporadas ao /boot/grub2/grub.cfg. A ordem dos itens de menu no grub.cfg é determinada pela ordem em que os arquivos são executados nesse diretório. Os arquivos com um número à esquerda são executados primeiro, começando pelo número mais baixo. 00_header é executado antes de 10_linux, que é executado antes de 40_custom. Se houver arquivos com nomes alfabéticos, eles serão executados depois dos arquivos com números nos nomes. Apenas os arquivos executáveis geram uma saída para grub.cfg durante a execução de grub2-mkconfig. Por padrão, todos os arquivos no diretório /etc/grub.d são executáveis. Os scripts mais importantes são:
00_header
Define variáveis de sistema, como locais de arquivos do sistema, configurações de tela, temas e entradas que já foram gravadas. Ele também importa as preferências armazenadas no /etc/default/grub. Normalmente, não é necessário modificar este arquivo.
10_linux
Identifica os kernels do Linux no dispositivo raiz e cria entradas de menu relevantes. Inclui a opção de modo de recuperação associada, se habilitada. Somente o kernel mais recente é exibido na página de menu principal, com kernels adicionais incluídos em um submenu.
30_os-prober
Este script usa o OS-prober para procurar o Linux e outros sistemas operacionais e apresenta os resultados no menu do GRUB 2. Há seções para identificar outros sistemas operacionais específicos, como Windows ou OS X.
40_custom
Este arquivo oferece uma forma simples de incluir entradas de boot personalizadas no grub.cfg. Lembre-se de que você não muda a parte exec tail -n +3 $0 que fica no começo.
90_persistent
Este é um script especial que copia uma parte correspondente do arquivo grub.cfg e retorna sua saída inalterada. Desta forma, é possível modificar essa parte do grub.cfg diretamente, e a mudança se mantém após a execução de grub2-mkconfig
.
A sequência de processamento é definida pelos números precedentes, sendo o menor número executado primeiro. Se os scripts forem precedidos pelo mesmo número, a ordem alfabética do nome completo determinará a disposição.
No GRUB Legacy, o arquivo de configuração device.map era usado para derivar nomes de dispositivos Linux dos números das unidades BIOS. O mapeamento entre as unidades BIOS e os dispositivos Linux nem sempre pode ser previsto corretamente. Por exemplo, o GRUB Legacy obterá a ordem incorreta se a sequência de boot das unidades IDE e SCSI for trocada na configuração do BIOS.
O GRUB 2 evita este problema usando strings de ID de dispositivo (UUIDs) ou rótulos de sistema de arquivos ao gerar o grub.cfg. Os utilitários do GRUB 2 criam um mapa de dispositivos temporário simultaneamente, que, na maioria das vezes, é suficiente, sobretudo no caso de sistemas de disco único.
Mas se você tiver que anular o mecanismo de mapeamento de dispositivos automático do GRUB 2, crie seu próprio arquivo de mapeamento /boot/grub2/device.map. O seguinte exemplo muda o mapeamento para transformar o DISK 3 no disco de boot. Observe que os números de partição do GRUB 2 começam com 1, e não com 0 como no GRUB Legacy.
(hd1) /dev/disk-by-id/DISK3 ID (hd2) /dev/disk-by-id/DISK1 ID (hd3) /dev/disk-by-id/DISK2 ID
É útil editar diretamente as entradas de menu quando o sistema não é mais inicializado por causa de falha na configuração. Ele também pode ser usado para testar novas configurações sem alterar a configuração do sistema.
No menu gráfico de boot, selecione a entrada que deseja editar com as teclas de seta.
Pressione E para abrir o editor baseado em texto.
Use as teclas de seta para ir até a linha que deseja editar.
Agora você tem duas opções:
Adicione parâmetros separados por espaço ao fim da linha que começa com linux ou linuxefi para editar os parâmetros de kernel. Há uma lista completa de parâmetros disponível em http://en.opensuse.org/Linuxrc.
Se preferir, edite as opções gerais para mudar a versão do kernel, por exemplo. A tecla →| sugere todas as complementações possíveis.
Pressione F10 para inicializar o sistema com as mudanças feitas ou pressione Esc para descartar suas edições e retornar ao menu do GRUB 2.
As mudanças feitas desta maneira só se aplicam ao processo de boot atual, elas não são gravadas permanentemente.
O layout do teclado norte-americano é o único disponível na hora de inicializar. Consulte a Figura 30.2, “Layout do teclado dos EUA”.
O Carregador de Boot da mídia de instalação em sistemas com BIOS tradicional ainda é o GRUB Legacy. Para adicionar opções de boot, selecione uma entrada e comece a digitar. As adições feitas à entrada de boot de instalação são gravadas no sistema instalado permanentemente.
Mesmo antes da inicialização do sistema operacional, o GRUB 2 permite acesso aos sistemas de arquivos. Os usuários que não têm permissões de root poderão acessar os arquivos no sistema Linux aos quais não têm acesso depois que o sistema for inicializado. Para bloquear esse tipo de acesso ou impedir que os usuários inicializem determinadas entradas de menu, defina uma senha de boot.
Se definida, a senha de boot será necessária em cada inicialização, o que significa que o sistema não será inicializado automaticamente.
Para definir uma senha de boot, faça o seguinte. Se preferir, use o YaST ( ).
Criptografe a senha usando grub2-mkpasswd-pbkdf2:
tux > sudo grub2-mkpasswd-pbkdf2
Password: ****
Reenter password: ****
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
Cole a string resultante no arquivo /etc/grub.d/40_custom juntamente com o comando set superusers.
set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.9CA4611006FE96BC77A...
Execute grub2-mkconfig
para importar as mudanças para o arquivo de configuração principal.
Após a reinicialização, você terá que informar o nome de usuário e a senha ao tentar inicializar uma entrada de menu. Insira root e a senha digitada durante o comando grub2-mkpasswd-pbkdf2. Se as credenciais estiverem corretas, o sistema inicializará a entrada de boot selecionada.
O modo mais fácil de configurar opções gerais do carregador de boot no sistema SUSE Linux Enterprise Desktop é usar o módulo do YaST. No , selecione › . O módulo mostra a configuração do carregador de boot atual do sistema e permite fazer mudanças.
Use a guia para ver e mudar configurações relativas a tipo, local e definições avançadas do carregador. Para usar o carregador de boot GRUB 2, verifique se ele está selecionado na lista de carregadores de boot disponíveis.
Defina o tipo de carregador de boot na guia . O carregador de boot padrão no SUSE Linux Enterprise Desktop é o GRUB 2. Para usar o GRUB ou o GRUB2-EFI, faça o seguinte:
Em , selecione , ou uma das outras entradas.
Se você tem um sistema EFI, é possível instalar apenas o GRUB2-EFI, senão o sistema não poderá mais ser inicializado.
Na caixa de diálogo aberta, selecione uma das seguintes ações:
Faça com que o YaST proponha uma nova configuração.
Faça com que o YaST converta a configuração atual. Na conversão da configuração, algumas definições podem ser perdidas.
Grave uma configuração personalizada. Esta ação não está disponível durante a instalação do SUSE Linux Enterprise Desktop.
Carregue seu próprio arquivo de configuração do carregador de boot. Esta ação não está disponível durante a instalação do SUSE Linux Enterprise Desktop.
Clique em duas vezes para gravar as mudanças.
Durante a conversão, a antiga configuração do GRUB 2 é gravada no disco. Para usá-la, basta voltar o tipo de carregador de boot para GRUB 2 e escolher . Esta ação fica disponível somente em um sistema instalado.
Para usar um carregador de boot diferente dos que estão na lista, selecione . Leia a documentação do seu carregador de boot cuidadosamente antes de escolher esta opção.
Para modificar o local do carregador de boot, siga estas etapas:
Selecione a guia e escolha uma das seguintes opções para :
Instala o carregador de boot no MBR do primeiro disco (de acordo com a sequência de boot predefinida no BIOS).
Instala o carregador de boot no setor de boot da partição / (padrão).
Instala o carregador de boot no setor de boot da partição /boot.
Instala o carregador de boot no container da partição estendida.
Use esta opção para especificar a localização do carregador de boot manualmente.
Clique em para aplicar as mudanças.
Se o computador tiver mais do que um disco rígido, você poderá especificar a sequência de boot dos discos. Para obter mais informações, consulte a Seção 13.2.4, “Mapeamento entre unidades BIOS e dispositivos Linux”.
Abra a guia .
Clique em .
Se mais de um disco for listado, selecione um disco e clique em ou para reordenar os discos exibidos.
Clique em duas vezes para gravar as mudanças.
As opções avançadas de boot podem ser configuradas por meio de › .
Mude o valor de digitando um novo valor e clicando na tecla de seta apropriada com o mouse.
Quando selecionada, o carregador de boot procura por outros sistemas, como Windows ou outras instalações do Linux.
Oculta o menu de boot e a entrada padrão.
Selecione a entrada desejada na lista “Seção de Boot Padrão”. Observe que o sinal de “>” no nome da entrada de boot delimita a seção de boot e sua subseção.
Protege o carregador de boot e o sistema com uma senha adicional. Para obter mais detalhes, consulte a Seção 13.2.6, “Configurando uma senha de boot”.
A opção Modo VGA especifica a resolução de tela padrão durante o processo de boot.
Os Parâmetros de Kernel são adicionados ao fim dos parâmetros padrão. Os Parâmetros Opcionais apenas são adicionados ao kernel normal, e os parâmetros fail-safe (à prova de falhas) são adicionados somente ao kernel fail-safe ou de recuperação. Para ver a lista de todos os parâmetros possíveis, visite http://en.opensuse.org/Linuxrc.
Quando marcada, o menu de boot aparece na splash screen gráfica, e não em modo de texto. A resolução da tela de boot pode ser definida na lista , e o arquivo de definição de tema gráfico pode ser especificado com o seletor de arquivos do .
Se a sua máquina é controlada por um console serial, ative essa opção e especifique a porta COM que será usada e em qual velocidade. Consulte info grub ou o site http://www.gnu.org/software/grub/manual/grub.html#Serial-terminal
Nos terminais 3215 e 3270, há algumas diferenças e limitações referentes à maneira de mover o cursor e emitir comandos de edição no GRUB 2.
A interatividade é altamente limitada. A digitação quase sempre não resulta em feedback visual. Para ver onde está o cursor, digite um sublinhado (_).
O terminal 3270 é muito melhor no que diz respeito à exibição e atualização de telas do que o terminal 3215.
O movimento do cursor “tradicional” não é possível. Alt, Meta, Ctrl e as teclas de cursor não funcionam. Para mover o cursor, use as combinações de teclas listadas na Seção 13.4.2, “Combinações de tecla”.
O acento circunflexo (^) é usado como caractere de controle. Para digitar um ^ literal seguido de uma letra, digite ^, ^, LETRA.
A tecla Enter não funciona; em vez disso, use ^–j.
|
Substitutos Comuns: |
^–J |
acionar (“Enter”) |
|
^–L |
interromper, retornar ao “estado” anterior | |
|
^–I |
preenchimento de tabulação (nos modos de edição e shell) | |
|
Teclas Disponíveis no Modo de Menu: |
^–A |
primeira entrada |
|
^–E |
última entrada | |
|
^–P |
entrada anterior | |
|
^–N |
próxima entrada | |
|
^–G |
página anterior | |
|
^–C |
próxima página | |
|
^–F |
inicializar entrada selecionada ou inserir submenu (igual a ^–J) | |
|
E |
editar entrada selecionada | |
|
c |
inserir GRUB-Shell | |
|
Teclas Disponíveis no Modo de Edição: |
^–P |
linha anterior |
|
^–N |
próxima linha | |
|
^–B |
caractere de recuo | |
|
^–F |
caractere de avanço | |
|
^–A |
começo da linha | |
|
^–E |
fim da linha | |
|
^–H |
backspace | |
|
^–D |
apagar | |
|
^–K |
eliminar linha | |
|
^–Y |
remover | |
|
^–O |
abrir linha | |
|
^–L |
atualizar tela | |
|
^–X |
inicializar entrada | |
|
^–C |
inserir GRUB-Shell | |
|
Teclas Disponíveis no Modo de Linha de Comando: |
^–P |
comando anterior |
|
^–N |
próximo comando do histórico | |
|
^–A |
começo da linha | |
|
^–E |
fim da linha | |
|
^–B |
caractere de recuo | |
|
^–F |
caractere de avanço | |
|
^–H |
backspace | |
|
^–D |
apagar | |
|
^–K |
eliminar linha | |
|
^–U |
descartar linha | |
|
^–Y |
remover |
grub2-mkconfig
Gera um novo /boot/grub2/grub.cfg com base no /etc/default/grub e nos scripts de /etc/grub.d/.
grub2-mkconfig -o /boot/grub2/grub.cfg
A execução de grub2-mkconfig sem nenhum parâmetro imprime a configuração em STDOUT, de onde é possível revisá-la. Use grub2-script-check
após a gravação de /boot/grub2/grub.cfg para verificar sua sintaxe.
grub2-mkrescue
Cria uma imagem de recuperação inicializável da configuração do GRUB 2 instalado.
grub2-mkrescue -o save_path/name.iso iso
grub2-script-check
Verifica se há erros de sintaxe no arquivo especificado.
grub2-check-config /boot/grub2/grub.cfg
grub2-once
Defina a entrada de boot padrão apenas para a próxima inicialização. Para ver a lista de entradas de boot disponíveis, use a opção --list.
grub2-once number_of_the_boot_entry
Chame o programa sem nenhuma opção para obter a lista completa de todas as opções possíveis.
Em http://www.gnu.org/software/grub/, há informações abrangentes sobre o GRUB 2. Consulte também a página de informações grub. Você também pode pesquisar a palavra-chave “GRUB 2” na Pesquisa de Informações Técnicas em http://www.suse.com/support para obter informações sobre problemas específicos.