Edição do menu de inicialização do Grub. Reinstalando o GRUB em caso de problemas críticos. mensagens grub-install sobre dispositivos que não funcionam.

  • Restaurando o GRUB 2
    1. Comparação do legado do GRUB e das versões do GRUB 2
        1. Um aviso

          Observação! GRUB 2 ainda está em beta Programas. Independentemente disso, ele já vem com o Ubuntu sistemas semelhantes, embora não seja um produto completamente acabado. Você provavelmente será capaz de usá-lo sem problemas. Embora existam problemas, as chances de danos ao sistema são baixas.

          No entanto, tem uma grande desvantagem - durante a inicialização, a configuração do carregador de inicialização não pode ser afetada. Dependendo de como as letras do nome aparecem na tela durante a inicialização, você pode saber em qual estágio da inicialização há um problema. Com esse recurso, com o tempo ele escolheu a maioria de suas distribuições como o bootloader padrão.

          Não há um carregador, mas um conjunto de carregadores independentes para um uso específico. A inicialização do registro e o gerenciamento do processador seguem a inicialização de alto nível. O kernel faz isso alternando e atribuindo rapidamente o processador entre as tarefas. Essa função principal é chamada de agendamento. O espaço de endereçamento de cada processo é dividido em páginas. O kernel mantém o controle de quais páginas são os processos mais usados. Sites que não são usados ​​com tanta frequência podem ser movidos para a seção de armazenamento.

          Você precisa saber disso. Mesmo nos casos em que você está executando tarefas que exigem manuseio cuidadoso, que executam funções críticas do sistema, como particionar um disco rígido em partições, inicialização sequencial, manipulação da imagem do sistema e outras, você sempre estará preparado para o pior cenário . Isso significa:

          Esse mecanismo é chamado de "gestão memória virtual". O kernel contém drivers para muitos dispositivos específicos. Apresentam seu controle em um único formulário para programas aplicativos. O kernel também gerencia o sistema de arquivos, comunicação entre processos e muitas coisas de rede.

          Estas são as bibliotecas dessas funções. Essas funções de biblioteca podem ser usadas de duas maneiras. Se o programa for construído estaticamente, as funções da biblioteca serão copiadas das bibliotecas para o executável que está sendo executado. Fornece a capacidade de montar e possivelmente gerenciar sistemas de arquivos e partições de troca, configurações de relógio, nomes de sistema, demonstrações de sistema, serviços de rede e processos de login. Este arquivo descreve quais processos são executados durante a implantação do sistema e durante a operação normal.

          • Você deve ter um procedimento de falha de sistema comprovado em vigor para que todos os seus dados não sejam perdidos.
          • Portanto, você deve ter as ferramentas e o conhecimento sobre recuperação rápida sistemas após um acidente. Isso inclui a recuperação estado anterior sistemas, corrigindo configurações quebradas, restaurando carregadores primários e outras tarefas.
          • Você deve estar confiante no que está fazendo.

          Basta lembrar que o GRUB 2 é uma versão beta. Embora o mesmo possa ser dito para o Google Mail, que está em versão beta há cerca de seis anos, então você deve ter cuidado. Outro detalhe importante, o conteúdo e seu conteúdo correspondente neste manual ainda mudam junto com as alterações no produto de software GRUB 2, portanto, fique atento.

          Uma ação descreve qual ação deve ser tomada. Uma vez - O processo será executado uma vez quando entrar no nível de execução especificado. Carregando - o processo será executado durante o processo de carregamento, o campo runlevel é ignorado.

          O campo de nível de execução é ignorado. desativar - não faça nada. O campo do processo é ignorado. Um processo define um processo a ser executado. Embora a maioria das distribuições use um sistema de nível de execução, suas configurações não são idênticas. Inicia um console de texto no modo de usuário único.

          GRUB 2 - perspectivas de desenvolvimento

          Isso é algo com o qual você deve estar familiarizado antes de experimentar o GRUB 2. Quando o GRUB 2 se tornará o bootloader de fato para sistemas operacionais do tipo UNIX? Atualmente, o legado do GRUB está fazendo um ótimo trabalho e continuará fazendo isso por muitos anos. Tendo recebido suporte de longo prazo de empresas como RedHat e Novell em distribuições de servidores, o legado do GRUB permaneceu como um participante importante por pelo menos 5 a 10 anos.

          Inicia um console de texto no modo multiusuário local sem acesso à rede. Inicia um console de texto no modo multiusuário com acesso à rede. Chama os processos necessários para reiniciar o sistema. Posteriormente, é chamado um script que inicia os processos para o nível de execução padrão. A maioria das distribuições possui seis terminais virtuais, o número pode ser reduzido ou aumentado. Também é possível ter terminais de texto em linhas seriais ou modems conectados.

          Ele solicita ao usuário um nome de usuário e uma senha, verifica-os e inicia um chamado gerenciador de sessões para ele. Neste artigo sistema de arquivo palavras serão usadas em dois significados diferentes. Na inicialização, o kernel monta o sistema de arquivos raiz no modo somente leitura. Esta é uma lista de todos os processos em execução no sistema. Isso ocorre porque esses processos são daemons do kernel, embora a maioria dos kernels geralmente não esteja listada na lista de processos.

          Em desktops, a adoção deve ser mais rápida, mas não espere milagres tão cedo. No entanto, não vai doer para começar a aprender sobre isso. Observe que você encontrará algumas limitações de compatibilidade daqui para frente, especialmente com muitas distribuições conservadoras que não adotam novas tecnologias muito rapidamente.

          Todo o sistema em uma partição

          Mas seu código e dados fazem parte da memória do kernel. Algumas das ações que os demônios "nucleares" realizam. As mensagens são identificadas com base em qual serviço o serviço vem e o nível de prioridade. Sua finalidade é ler os comandos do usuário e implementá-los. Bom conhecimento de uma combinação de linguagem de programação, bem como convencional programas do sistema e utilitários de linha de comando cria uma ferramenta muito poderosa. Depois de baixar, abra um terminal e veja onde você instalou partição do sistema emitindo o comando como administrador.

          Atualmente, o GRUB 2 é usado apenas em sistemas da família Ubuntu, que ocupam apenas um terço do mercado de sistemas desktop baseados em Linux. Esse fato torna este guia relevante para apenas um dos dois ou até três usuários domésticos do Linux que possam estar interessados ​​em aprender mais sobre o GRUB 2 e seus usos.

          Atualize também a lista de sistemas instalados. Agora você pode reiniciar o sistema iniciando-o com disco rígido. Este post foi criado há mais de um ano. As informações nele contidas podem estar desatualizadas! Selecione o todo e corte, agora encontre o fragmento.

          O todo, ou melhor, a parte em que você está interessado, agora deve ficar assim. Salve as alterações e restaure as permissões padrão. No entanto, o método acima continuará até que você instale um novo kernel. Para alterar facilmente seu nome, digite terminal.

          Isso fará com que o sistema seja o primeiro da lista. Se você quiser que seu filho seja o segundo da lista, altere o nome para. Se o artigo acima não resolveu ou resolveu parcialmente o seu problema, por favor, adicione um comentário descrevendo onde você está tendo dificuldade.

          Agora vamos passar para os mecanismos reais.

          Introdução ao GRUB 2

          Antes de mergulhar no material, recomendo fortemente que você leia o manual original do GRUB que escrevi. Isso ajudará você a entender melhor este artigo.

          O GRUB 2 tem muitas mudanças novas. E o GRUB 2 tem várias melhorias: melhor portabilidade e sistema de módulos, suporte para tabela de caracteres não ASCII, carregamento dinâmico de módulos, gerenciamento memória física e outros.

          Defina o padrão = 0 a 0 para alterar o número correspondente e ficaremos em paz. Sempre tenho que escolher de novo. Faça gordura gorda - o método é descrito em um dos últimos artigos. Mas esta será uma solução temporária - apenas para atualizar o kernel. Tudo está descrito nesta página. Em teoria, graças a essa nova estrutura, nada deve ser alterado após uma atualização do sistema. E consegui encontrar um configurador gráfico funcional.

          Sua presença permanece quase invisível até que queiramos instalar vários sistemas operacionais diferentes. Como você pode ver, tudo o mais parâmetros importantes estão localizados aqui no início do arquivo. A ordem inicial é numerada antes do nome do arquivo. É com o seu uso que devemos adicionar novas entradas à lista. Por padrão, está quase vazio, mas depois de adicioná-lo, fica assim.

          Todas essas inovações são praticamente inúteis para a maioria dos usuários. Para gerenciar o GRUB 2, você precisa conhecer as alterações nos arquivos de configuração e sua localização.

          Nova estrutura

          Arquivos de configuração do antigo carregador de inicialização GRUB foram (e ainda são!) colocados em /boot/grub/ , incluindo o arquivo menu.lst. Este arquivo foi lido no momento da inicialização e seu conteúdo exibido na tela do usuário como o menu do usuário do GRUB.

          No momento, vale a pena saber que podemos usar não apenas os gráficos propostos, mas também criar nossos próprios. Arquivos grandes serão simplesmente truncados. Estamos procurando uma das linhas superiores e colamos. Tudo deve funcionar como deveria. As alterações manuais feitas pelo administrador do sistema requerem o seguinte comando. Para alterar as opções do kernel, use as setas do teclado para alterar a linha que deseja editar. As alterações feitas na tela de edição não são permanentes.

          Para fazer alterações permanentes, você precisa editar os arquivos apropriados. Os avisos podem ser ignorados com segurança. Talvez isso linha de comando precisa ser executado várias vezes para garantir que o sistema seja executado. Restaurar Grosso 1.

          O GRUB 2 coloca seus arquivos em três lugares:

          /boot/grub/grub.cfg - Este é o arquivo de configuração principal que substituiu o menu.lst . Ao contrário do menu.lst, este arquivo não pode ser editado manualmente! Eu recomendo não tentar adulterar este arquivo usando o comando chattr ou algo semelhante. Deixe tudo ficar como está.

          /etc/grub.d/ - Este é um novo diretório contendo scripts GRUB. Esses scripts são os blocos de construção que compõem o arquivo grub.cfg. Quando o comando GRUB apropriado é executado, os scripts são executados em uma determinada sequência e criam um arquivo de configuração grub.cfg.

          Siga as instruções do instalador. Foi desenhado por Erich "Stefan" e Bolena. A contagem começa em 0, não no tempo limite - o tempo que temos para escolher qual sistema queremos iniciar.

          • O número indica o número do sistema no menu.
          • Após este tempo, o sistema standard é carregado.
          Para fazer isso, adicione as seguintes linhas.

          Grub servira bem à comunidade nos últimos anos, mas havia sinais de velhice. O código causou muitas complicações com a introdução de novos recursos. No entanto, ainda faltavam algumas das opções específicas necessárias para os computadores da próxima geração.

          /etc/default/grub - Este arquivo contém as configurações do menu GRUB que são lidas pelos scripts GRUB e gravadas no arquivo de configuração grub.cfg. Ele faz parte do GRUB e foi projetado para personalizá-lo (garantir que ele atenda aos requisitos do usuário). É semelhante ao antigo arquivo de configuração menu.lst, contém as configurações de inicialização existentes.

          Quando você inicia seu computador, geralmente obtém um menu de duas cores. Adicionar cor requer algum trabalho. Estamos procurando por uma string, como vemos na listagem, agora alteramos o caminho e o nome do arquivo para se adequar ao nosso sistema. O resultado pode ser visto na figura. Figura 2: Adicione uma imagem de fundo ao menu.

          No entanto, é difícil perder o menu gráfico, que melhora muito a estética da área de trabalho, mesmo que o processo de inicialização seja essencialmente o mesmo. Muitas vezes causa problemas e nós os associamos a isso. Ele também é muito mal retratado. Equipado de série grande quantia motivos, onde todos encontrarão algo para si.

          Isso significa que, se você quiser alterar o menu do GRUB, precisará editar os scripts existentes ou criar novos e atualizar o menu. É mais como o LILO, onde os menus eram editados na hora, do que o legado do GRUB.

          Exemplo de arquivo grub.cfg

          Este arquivo está localizado no seguinte diretório /boot/grub/ :

          O arquivo grub.cfg ficará assim:

          Os comandos a seguir são executados um a um no console. Na próxima vez que você iniciar seu computador, você será saudado com uma tela de inicialização modificada. Altere o tema e a resolução. Se você já reiniciou seu computador, provavelmente notou que o tema padrão não é um sonho tornado realidade.

          A aparência do menu deve ser "normalizada". Sistema selecionado automaticamente e tempo de espera. Essa configuração pode não agradar a muitos usuários, mas a mudança é muito simples. Da mesma forma, é hora de esperar o sistema pegar. Após instalar todas as alterações no console, execute.


          É muito interessante porque é apenas um script de shell. A maioria das pessoas provavelmente não vai querer ler seu conteúdo ou compreendê-lo completamente. Ainda vale a pena dar uma olhada rápida neste arquivo antes de atualizar o menu GRUB para ter certeza de que as configurações estão corretas e que estão todas no arquivo como você pretendia. Faça isso se você for bom em scripts.

          Deixe um comentário Cancelar resposta

          Rough não é tão assustador como ele diz. Nossa tela de inicialização agora pode ter a aparência que queremos, e a inicialização do sistema será tão colorida quanto o próprio sistema. Seu endereço E-mail não será publicado. Então, se você já tiver um sistema em execução, abra o console e digite o seguinte comando.

          Fazemos isso para instalar nosso sistema nesse diretório, que não podemos acessar. Se você souber qual sistema de arquivos está em sua partição, pule esta etapa. Então, o próximo passo é digitar o seguinte comando. Você pode estar com um nome diferente, então altere-o.

          Diretório de exemplo /etc/grub.d/

          O conteúdo deste diretório é apenas sistema instalado, neste caso Kubuntu:


          Vamos dar uma olhada nos roteiros:

          00_header este script carrega Instalações do GRUB de /etc/default/grub , como tempo limite de seleção de configuração, configuração padrão carregada e outros. Falaremos sobre isso com mais detalhes posteriormente.

          Não há tempo nem espaço para explicar para que serve, mas se pretender esta informação, encontra-a aqui, por exemplo. E passamos para o sistema instalado. Nesta fase, obteremos a raiz. O curso das equipes acima ficou assim. E obtemos uma caixa como a imagem abaixo.










          E o lugar onde temos esse cogumelo, e o download. Para mim só há uma opção.





          Você pode pensar que é tudo o que tivemos que fazer. Depois de ligar o console, entramos. Em seguida, obteremos informações semelhantes às mostradas na figura abaixo.


          Após a reinicialização, teremos acesso a ambos os sistemas, como você pode ver na impressão impressa.

          05_debian_theme define o fundo, cores e temas. O nome desse script depende da distribuição selecionada e muda quando você seleciona uma distribuição diferente no GRUB 2.

          10_linux carrega as configurações de menu para a distribuição instalada.

          20_memtest86+ carrega um utilitário de teste de memória.

          script 30_os-prober que verifica Discos rígidos para outros sistemas operacionais e os adiciona ao menu de inicialização.

          40_custom é um modelo que você pode usar para criar configurações adicionais que serão adicionadas ao menu de inicialização.

          Você notou a numeração nos nomes dos scripts? Isso é um pouco semelhante à ordem dos scripts Iniciar/Desligar em diferentes níveis de execução. A numeração é realizada de acordo com a sequência. Isso significa que o script 10_linux será executado antes de 20_memtest86+ e, portanto, será colocado mais alto no menu de inicialização.

          Esses scripts não são muito interessantes. Assim como o arquivo grub.cfg, eles não podem ser editados, exceto no script 40_custom. Você precisa ter muito cuidado ao trabalhar com esses scripts.

          Em breve veremos como eles são e aprenderemos a trabalhar com eles.

          Exemplo /etc/default/grub

          Este arquivo está localizado em /etc/default:


          Este diretório contém muitos outros arquivos, então não assuma que todos eles são usados ​​pelo GRUB. O arquivo grub é arquivo de texto, isso é mostrado no script de exemplo 00_header. Você pode fazer suas próprias alterações, se quiser, é claro. Abordaremos isso mais tarde na seção de personalização.


          Agora sabemos quais arquivos são os principais. Vamos ver como podemos usá-los.

          Aplicação principal

          Agora, vamos adicionar um pouco de prática ao nosso conhecimento teórico.

          Como o GRUB 2 funciona?

          O GRUB 2 funciona assim:

          /etc/default/grub contém personalização; /etc/grub.d/ contém scripts contendo informações sobre o menu GRUB e scripts que carregam sistemas operacionais. Quando você executa o comando update-grub, ele lê o conteúdo do arquivo grub e os scripts do grub.de cria o arquivo grub.cfg.

          Para alterar o grub.cfg você precisa editar o arquivo grub ou scripts localizados em grub.d.

          Scripts são feitos para serem executados. Isso significa que o procedimento de execução padrão deve ser habilitado para eles. Se você desabilitar o procedimento de execução padrão, eles não serão executados.

          Isso significa que você pode colocar quantos arquivos quiser no diretório grub.d, pois eles não são scripts executáveis ​​em shell que o update-grub pode ler. Se você quiser usá-los, precisará habilitar o procedimento de execução padrão para eles ou, inversamente, desativá-los se precisar torná-los indisponíveis para update-grub .

          Vejamos os roteiros.

          Por exemplo, 00_header e 05_debian_theme:

          40_custom é mais informativo, mas não nos ajudará a entender como os scripts podem ser personalizados. Não se preocupe, descobriremos em breve.


          Adicionando um novo script GRUB

          Para adicionar uma nova opção de inicialização, você precisa seguir as regras básicas:

          Crio novo arquivo prefixado com XX_ no nome, onde XX é uma sequência numérica. Se você quiser colocar a nova configuração acima das outras, use um número menor, se quiser colocá-la abaixo das outras, use um número maior.

          Por exemplo, 11_config será colocado após a configuração padrão, 08_config será colocado antes da configuração 10_linux.

          O próximo passo é anotar os dados necessários. Aqui está um exemplo:

          #!/bin/sh -e
          echo "Alguma string"
          gato<< EOF
          entrada de menu "Algo" (
          definir raiz=(hdX,Y)
          -- parâmetros de inicialização --
          }
          EOF

          Vamos dar uma olhada neste arquivo:

          Este é um script de shell, conforme segue a declaração na primeira linha do arquivo.

          echo "Alguma string" é a string que você verá depois de executar o comando update-grub. Se você não quiser ver a saída do comando echo, você pode redirecioná-lo para o erro padrão ou /dev/null:

          $ echo "Alguma string" > &2

          Exemplo: echo "Adicionando o openSUSE 11.2"

          gato<< EOF определяет начало текущей загрузочной конфигурации.

          menuentry "Algo" é o nome que será mostrado no menu. Exemplo: Linux.

          set root=(hdX,Y) - de volta ao material já familiar, configurando o dispositivo root (root).

          Muito importante! O GRUB 2 usa a numeração de partição de 1 em vez de 0, como era no legado do GRUB! Isso é extremamente importante, lembre-se disso!

          Em outras palavras, os dispositivos ainda são numerados a partir de 0 e as partições a partir de 1. Por exemplo, isso significa que sda1 é agora (hd0,1) e NÃO (hd0,0) como era antes!

          Parâmetros de inicialização -- (parâmetros de inicialização) variam dependendo do sistema operacional ( sistema operacional). No Linux, você pode usar algo assim:

          linux /boot/vmlinuz
          initrd /boot/initrd.img

          No entanto, no Windows, você provavelmente usará o seguinte comando:

          $chainloader(hdX,Y)+1

          Por esse motivo, um script de amostra completo seria algo assim:

          #!/bin/sh -e
          echo "Adicionando meu Linux personalizado ao GRUB 2"
          gato<< EOF
          menuentry "Meu Linux personalizado" (
          definir raiz=(hd0,5)
          linux /boot/vmlinuz
          initrd /boot/initrd.img
          }
          EOF

          Ou no caso do Windows, algo assim:

          #!/bin/sh -e
          echo "Adicionando o Windows 8 ao menu GRUB 2"
          gato<< EOF
          entrada de menu "Windows 8" (
          definir raiz=(hd0,1)
          carregador de corrente(hd0,1)+1
          }
          EOF

          EOF final do arquivo GRUB.

          Agora temos um arquivo finalizado. E precisamos torná-lo executável.

          $ chmod +x XX_new_os_script

          Comandos do GRUB 2

          Mais uma coisa que eu gostaria de salientar são os dados contidos no snippet cat<< EOF . Как мы сейчас видели, команда cat определяет начало кода в скрипте, который будет полностью добавлен в GRUB меню, и он не интерпретируется оболочкой. Другими словами, все, что находится между cat << EOF и EOF , является командами GRUB.

          Podemos usar vários comandos diferentes neste script. Conhecemos alguns deles anteriormente no legado do GRUB, mas novos comandos desconhecidos apareceram.

          Um novo script foi criado e colocado, mas o menu GRUB (grub.cfg) não foi alterado. Você precisa executar o comando update-grub, ele atualizará o menu.

          Este é um exemplo de uma configuração de inicialização dupla, que veremos com mais detalhes posteriormente. Eu adicionei duas configurações do Kubuntu e uma do Ubuntu ao menu GRUB do Ubuntu. Fiz isso para evitar a configuração padrão 10_linux, que é feia e usa o nome genérico do kernel no cabeçalho, o que é confuso e é o mesmo para Ubuntu e Kubuntu.

          Vamos olhar mais de perto. Nossa primeira tarefa é adicionar novos scripts. Depois vemos que eles carregam bem e removemos as duplicatas.



          Após a reinicialização, obteremos isso. Peço desculpas pela imagem feia.


          Uma vez que usamos os novos scripts e o download foi bem sucedido. Agora podemos chmod -x o script 10_linux e excluir as configurações genéricas 2.6.31-14, que manterão nosso menu em perfeitas condições.

          Alterando a Ordem de Carregamento do Script Alterando os Números

          Você também pode alterar os números do script, se desejar. Por exemplo, alterei a configuração do Kubuntu 08 e 09 e os fiz inicializar primeiro antes da configuração padrão e do script nativo do Ubuntu.


          Substituindo a configuração de inicialização padrão

          Isso pode ser feito praticamente da mesma maneira mostrada acima. Para verificar se seus novos scripts estão carregando corretamente, você pode consultar um exemplo funcional do arquivo grub.cfg e verificar se as linhas linux e initrd estão escritas corretamente.

          Segue o exemplo que tenho:


          E, de acordo, criei um novo script:


          SO Prober (procure por configurações de inicialização)

          O OS Prober também pode ajudá-lo. Ele encontrará configurações adicionais em seu disco rígido e as adicionará ao menu. Você pode usá-lo para adicionar informações aos scripts que você cria. Para obter mais informações, consulte novamente o arquivo grub.cfg, seção os-prober.


          Reinstalando o GRUB

          O GRUB 2 pode ser instalado mesmo enquanto o sistema operacional está em execução quando é carregado. Para fazer isso, você não precisa sair do ambiente do sistema operacional. Basta executar o comando grub-install com o dispositivo ou partição que você deseja.

          $ grub-install

          talvez /dev/hda, /dev/sdb, /dev/sdc4 e assim por diante.

          É importante que você fique atento aos resultados do trabalho dessa equipe. Se você tiver unidades externas conectadas quando o comando estiver em execução, ele adicionará essas unidades à lista de dispositivos exibidos. Não há grande mal nisso, porque se as configurações não estiverem funcionando, ele as excluirá.

          mensagens de instalação do grub sobre dispositivos quebrados

          Aqui está um exemplo disso:


          Você precisa abrir o arquivo /boot/grub/device.map, remover os dados inválidos, no nosso caso é /dev/sdb e executar o comando grub-install novamente.


          Subtotal

          É disso que precisamos no momento. Você tem as ferramentas necessárias para começar. Até agora, tentei deixar as coisas mais claras, então preparei uma visão geral rápida que completa a introdução e aplicação das seções principais. A partir daqui vamos começar.

          O GRUB 2 tem três partes principais:

          1. /etc/default/grub - arquivo contendo as configurações do menu GRUB 2.
          2. /etc/grub.d/ - diretório contendo scripts que criam menus do GRUB 2.
          3. /boot/grub/grub.cfg - arquivo de configuração não editável do GRUB 2.

          O comando update-grub lê o diretório /etc/grub.d e procura nele por scripts executáveis. Os scripts são lidos em ordem numérica e gravados no arquivo grub.cfg junto com as configurações de menu que são lidas no arquivo /etc/default/grub.

          As configurações de inicialização são geradas a partir de várias fontes: por padrão, esta é a distribuição, outros sistemas operacionais encontrados em discos disponíveis e scripts escritos pelo usuário de acordo com as regras exigidas. Os scripts são escritos como shell (sh é um shell).

          Você pode adicionar/remover configurações. Apenas chmod o script desejado, para que você não precise excluir scripts não utilizados. O GRUB 2 pode ser reinstalado a qualquer momento, mesmo enquanto o sistema operacional estiver em execução quando for carregado.

          Já está bom? Multar. Você vê, é muito simples.

          Agora vamos ver alguns casos reais. Mais tarde, estaremos configurando o GRUB 2 e aprendendo como se recuperar de erros graves e configurações incorretas.

          Casos reais de inicialização múltipla

          Nesta seção, veremos alguns casos comuns de inicialização múltipla que o usuário médio pode encontrar.

          Alguns experimentos foram feitos em sistemas físicos reais, e algumas capturas de tela do menu de inicialização são apresentadas como fotografias. Portanto, eles estão ligeiramente distorcidos e não parecem tão bons quanto o restante das capturas de tela. Isso é para convencê-lo de que trabalhar com o GRUB 2 é tão fácil quanto outras tarefas administrativas. Eles só exigem um pouco de paciência e atenção.

          Inicialização dupla: dois sistemas operacionais com GRUB 2

          Esta é provavelmente a configuração de inicialização dupla mais simples. Ambos os sistemas operacionais usam o GRUB 2 para que possam interoperar facilmente entre si. No nosso caso, são dois sistemas Ubuntu 9.10 e Kubuntu 9.10 com o mesmo sistema de arquivos Ext4.

          O Ubuntu foi instalado primeiro, o GRUB 2 foi instalado no Master Boot Record (MBR) em /dev/sda. O Kubuntu é instalado em segundo lugar, seu bootloader também é instalado no MBR, que substitui a instância anterior do GRUB 2. No entanto, o script de investigação do SO encontrou e adicionou o Ubuntu aos arquivos de configuração.

          Se você leu meu guia do Kubuntu, sabe que a configuração de inicialização do Kubuntu também é chamada de Ubuntu. Isso pode ser confuso se você tiver várias configurações diferentes do Ubuntu em sua máquina.

          Nesta seção, faremos o seguinte:

          • Saiba como editar as configurações existentes e como torná-las mais apresentáveis.
          • Vamos adicionar novas configurações e renumerar as existentes.

          Isso nos dará algumas informações iniciais sobre como o GRUB 2 funciona e o que os usuários precisam fazer para garantir que funcione corretamente. Depois disso, verificaremos a inicialização dos sistemas com o GRUB 2 do legado do GRUB e vice-versa. E depois disso, adicionaremos o Windows.

          Já vimos um pouco disso antes. Vamos substituir a configuração padrão existente, que não parece tão atraente quanto gostaríamos.

          Portanto, vamos voltar ao arquivo grub.cfg. Vamos verificar a sintaxe do 10_linux e copiar alguns dados dele em novos scripts, que chamamos de 08_9_10_kubuntu e 09_9_10_kubuntu_recovery. Já fizemos isso antes.



          Depois disso, precisamos tornar os scripts executáveis ​​com o comando chmod +x e atualizar o GRUB. Muito simples.



          Após reiniciar e verificar o sistema, podemos substituir 10_linux por uma configuração com nossos próprios scripts.

          Trabalho feito, muito fácil!

          Dual boot: dois sistemas operacionais com GRUB legacy e GRUB 2

          Este é um caso interessante. Suponha que você tenha dois sistemas operacionais como o Ubuntu 9.10 que usam o novo bootloader GRUB 2 e inicializam a partir de uma partição com um sistema de arquivos Ext4 e uma distribuição clássica como o openSUSE 11.2 que também usa um sistema de arquivos Ext4, mas inicializa com uma versão mais antiga do GRUB.

          Aqui está o que vamos descobrir:

          • Como inicializar o Ubuntu a partir do ambiente openSUSE GRUB.
          • Como inicializar o openSUSE a partir do ambiente Ubuntu GRUB.
          • Como editar configurações em ambos os sistemas para mantê-los funcionando.

          Vamos fazer isso.

          Solução: Qual sistema tornar o sistema padrão?

          Isso é o que você precisa decidir. Você tem duas opções de download. e você precisa escolher o padrão.

          Se você me perguntou antes, eu recomendo que você use o GRUB legacy como seu bootloader padrão porque é um produto de qualidade e possui canais de suporte oficiais bem conhecidos. Executar o GRUB 2 não será tão importante para você.

          Portanto, se você estiver usando o legado do GRUB para inicializar, precisará fazer o seguinte:

          • Instale o GRUB no Master Boot Record (MBR) durante a instalação de uma distribuição como o openSUSE, como em nosso exemplo. Preste atenção a isso ao instalar a distribuição!
          • Instale o GRUB 2 na partição raiz onde a distribuição que você está usando está instalada, neste caso o Ubuntu. Preste atenção a isso ao instalar a distribuição!

          Em outras palavras, se você planeja usar o GRUB 2 como seu gerenciador de inicialização padrão, você precisa fazer o oposto.




          Se você não tiver certeza, olhe para a tabela de partições.


          Em nosso exemplo, o Ubuntu foi instalado primeiro com o diretório raiz em /dev/sda6 e o ​​diretório inicial em /dev/sda7. O openSUSE foi instalado em /dev/sda1. Como queremos usar o gerenciador de inicialização herdado do GRUB, precisamos fazer o seguinte:

          • O bootloader do Ubuntu precisa ser instalado em /dev/sda6.
          • O bootloader do openSUSE precisa ser instalado no MBR (/dev/sda).

          Quando isso for feito, inicialize o sistema e veja o que acontece.

          Após instalar o openSUSE, você notará que o menu verde do GRUB contém apenas a configuração do openSUSE. A razão para isso é que o legado do GRUB não sabe como interpretar a estrutura do GRUB 2, então não pode encontrar configurações de menu adicionais. Você deve adicioná-los manualmente.

          Baixe o openSUSE e abra o arquivo menu.lst em um editor de texto. Faça um backup primeiro!

          Nós realmente não sabemos como trabalhar com as configurações GRUB legadas do GRUB 2. Portanto, vamos configurá-lo da mesma maneira que o Windows. Configure um chainload de outro sistema operacional quando o controle for transferido para outro bootloader.

          será que vai dar certo? Não sei, mas vamos verificar! Vamos usar nossa experiência com o GRUB e tentar aplicá-la a uma nova situação.


          Para aqueles que não conseguem ver o que é mostrado na imagem, adicionamos as seguintes linhas ao arquivo menu.lst:


          raiz (hd0.5)
          carregador de corrente(hd0,5)+1

          Após o carregamento, você verá um menu (novamente, uma captura de tela sem importância):


          Se você tentar inicializar o Karmic Koala selecionando-o no menu, você encontrará um erro inesperado do carregador de inicialização GRUB 13:


          Esse tipo de erro é comum para usuários do Linux que tentam inicializar partições do Windows ou Mac. Para Windows, a solução é redefinir partições. É necessário ocultar partições ou torná-las ativas, isso geralmente resolve o problema.

          Para Mac, o problema é semelhante ao que veremos a seguir. A versão legada do GRUB que vem com o openSUSE não lida com as partições do Ubuntu e a estrutura do GRUB 2. Portanto, outro método é necessário para executar a inicialização.

          Inicializando o Ubuntu (com GRUB 2) do openSUSE, maneira correta

          Aqui está o que você precisa fazer para fazê-lo funcionar. Retorne ao openSUSE e abra o arquivo menu.lst novamente. Você precisa fazer com que pareça com este menu:


          Para aqueles que não conseguem ver o que é mostrado na imagem, adicionamos a seguinte configuração ao arquivo menu.lst:

          título Ubuntu 9.10 Karmic Koala
          raiz (hd0.5)
          kernel /boot/grub/core.img
          padrão salvo
          Bota

          Você provavelmente está se perguntando o que fizemos aqui. Aqui está a resposta, o arquivo core.img é uma pequena imagem do kernel que permite carregar drivers corretamente e identificar e inicializar corretamente o kernel real. Você pode pensar neste arquivo como um initrd.img de transição.

          Após a reinicialização, o menu GRUB estará disponível 2. Selecione a linha desejada e inicialize o sistema.

          Depois de inicializar o Ubuntu, você pode fazer um pequeno truque, se quiser. Você pode repetir o script update-grub. O script encontrará o openSUSE instalado e o adicionará ao menu. Você obterá um menu GRUB recursivo, ou seja, um menu que abre outro menu, que por sua vez traz outro...

          Isso não é obrigatório, mas pode ser divertido e útil como um exercício para desenvolver seu pensamento e aprofundar seu conhecimento.


          Outro caso interessante é quando dual boot Mandriva 2010 e Ubuntu 9.10. Quando o Mandriva é instalado, você tem a opção de editar manualmente o menu do carregador de inicialização GRUB, mesmo antes da primeira inicialização. É verdade, muitas distribuições permitem configurar o menu de inicialização em algum ponto da instalação. Se você sabe o que precisa, pode economizar tempo e ajustar as configurações do menu durante o processo de instalação.

          Agora como editar o menu do GRUB durante a instalação do Mandriva. Deve ser algo assim:


          Basicamente, faremos o mesmo que fizemos com o openSUSE. Para mais detalhes, consulte o artigo acima.

          Inicialização dupla: Windows 7 e Ubuntu

          Muito provavelmente, não será de interesse para muitos usuários. Em geral, tudo isso é o mesmo que foi considerado por nós anteriormente. Para torná-lo mais interessante, adicionei um novo item, que é a atualização do GRUB para o GRUB 2.

          Dados de teste iniciais: Inicialização dupla do Windows 7 e Ubuntu Jaunty como no meu novo guia. O Jaunty usa o legado do GRUB, mas pode ser atualizado para o GRUB 2, o que faremos.

          No início, realizaremos o procedimento de atualização do bootloader, preste atenção neste importante detalhe. Depois disso, certifique-se de que os sistemas Ubuntu e Windows inicializem bem.

          Atualize do legado do GRUB para o GRUB 2

          Primeiro, instale o pacote GRUB 2:

          $ sudo apt-get install grub2

          Olhe para o terminal. Depois de um tempo, responda a algumas perguntas.

          Carregamento sequencial (chainload) - o primeiro

          Primeiro, você precisa decidir se deve seguir o caminho certo e instalar o GRUB 2 no MBR (registro mestre de inicialização) ou no caminho de teste, ou seja, fazer a partição onde o Ubuntu está instalado como root e inicializar sequencialmente a partir do legado do GRUB. Já fizemos isso antes e sabemos como fazer agora com o arquivo core.img.

          Para ser claro, não vamos pular esta etapa.



          O próximo passo é verificar os parâmetros do comando. A maioria das pessoas não precisa fazer nenhuma alteração.


          O GRUB 2 agora está instalado:


          Antes de reiniciar, certifique-se de que o grub.cfg esteja bem formado. Verifique seu conteúdo: configurações de inicialização corretas, links para dispositivos de inicialização e partições. Use o comando fdisk se necessário para certificar-se de que tudo está em ordem.

          Configuração do Ubuntu:




          Possíveis erros

          Você pode encontrar erros do GRUB como erro 11 ou erro 15 ao tentar inicializar no GRUB 2.


          Por exemplo, o erro 11 significa que o dispositivo raiz errado foi selecionado ou o dispositivo de inicialização possui um ID (identificador) maior que seu número real. Para corrigir o erro, você precisa alterar uma das linhas de configuração.

          Você terá a configuração de inicialização serial destacada, portanto, para resolver o problema, pressione e para editar a configuração. Em seguida, altere o comando root para refletir seu dispositivo de inicialização real. Não se esqueça, você está trabalhando com o legado do GRUB, onde a numeração da partição começa em 0.

          Na pior das hipóteses, itere pelas opções possíveis com o comando root (hdX,Y) até encontrar a opção correta. Altere a linha com o comando root, pressione Enter e, em seguida, pressione b para inicializar.

          No entanto, se o GRUB usar uma string longa estranha chamada identificador de dispositivo (ID), você precisará substituir a string raiz por uuid . Depois disso, você poderá inicializar o kernel. HowtoForge é um bom exemplo com capturas de tela.

          Como resultado, você verá o menu GRUB 2:


          Como você pode ver, temos uma configuração do Ubuntu e um bootloader do Vista (Windows 7). Tudo parece bem. Agora vamos inicializar o Ubuntu e o Windows 7 e garantir que tudo funcione corretamente.

          Quando tudo estiver pronto, inicialize o Ubuntu e conclua o processo de migração. Agora você pode gravar o GRUB 2 no MBR e torná-lo o carregador de inicialização padrão.

          $ sudo upgrade-from-grub-legacy


          Preste atenção ao dispositivo exibido e altere-o de acordo. Isso é tudo. Conseguimos. Aprendemos como atualizar o GRUB, como lidar com alguns erros e como inicializar corretamente uma configuração de inicialização dupla que inclui Windows e Linux.

          Cenários de teste adicionais

          Bota Tripla

          A partir de agora, tudo é muito simples. Use qualquer bootloader que você quiser (GRUB, GRUB 2).

          Se você instalou o GRUB legacy como bootloader, estará carregando as configurações do Windows como fizemos no artigo original. Basta adicionar /boot/grub/core.img para configurações do GRUB 2.

          Mas se você estiver usando o GRUB 2, use o OS Prober para encontrar outros sistemas operacionais. Se você não gosta de cabeçalhos, crie configurações de inicialização personalizadas com base nas existentes (criadas pelo OS Prober).

          Agora tudo está em suas mãos.

          Personalizando o menu GRUB

          Digamos que queremos alterar algumas das opções de menu do GRUB 2, como alterar a configuração de inicialização padrão, o tempo limite de seleção de configuração do usuário e outras configurações.

          Editando /etc/default/grub

          Este arquivo contém algumas configurações interessantes que iremos alterar (configuração padrão, tempo limite de seleção de configuração e outras).


          GRUB_DEFAULT=0 especifica o item de menu que é carregado por padrão. A numeração começa em 0, assim como o menu. Altere as configurações conforme necessário. Se você definir GRUB_DEFAULT=saved , o item selecionado durante a inicialização anterior será carregado.

          GRUB_TIMEOUT="10" define o tempo limite. Altere a configuração como desejar. Um valor muito pequeno não é recomendado. Definir o valor como -1 dirá ao GRUB para aguardar que o usuário selecione manualmente uma configuração e pressione Enter.

          Como você pode ver, existem muitas outras configurações, mas não vou listar todas. Mais importante, lembre-se de que eles existem e onde encontrá-los. Não faça mudanças cegamente. Consulte a documentação oficial e sempre faça backup de um arquivo antes de alterá-lo.

          Outro ponto que pode lhe interessar é como desabilitar os itens do menu de recuperação.

          Desativando itens do menu de recuperação

          A linha a seguir no arquivo /etc/default/grub permite desabilitar a exibição dos itens do menu de recuperação. Apenas descomente a linha e atualize o GRUB:

          GRUB_DISABLE_LINUX_RECOVERY="true"

          Desativando itens do memtest no menu

          Se você deseja ocultar os itens de menu que contêm memtest, basta executar o comando chmod -x no script 20_memtest. Ele não será executável e não será lido quando o arquivo grub.cfg for gerado e, portanto, não será adicionado a ele durante a próxima atualização do GRUB.

          $ sudo chmod -x 20_memtest86+

          Alterando os parâmetros de títulos (cabeçalhos) em blocos de menu

          Você pode fazer pequenas alterações na configuração existente, como sugeri anteriormente, ou seja, criar uma configuração padrão do Linux e desabilitar (com o comando chmod -x torná-lo não executável) o script 10_linux. No entanto, você pode editar o script atual, que pode funcionar de maneira diferente e fornecer informações em um formato mais compreensível.

          É um pouco estranho que pode ser encontrado nos ajustes do título de instalação do Ubuntu.

          Alterando o Tema (Imagem de Fundo)

          Você provavelmente quer usar uma imagem bonita durante o carregamento em vez de um fundo azul chato. Não se preocupe, ele pode ser alterado rapidamente. Basta editar o script 05_debian_theme.

          Primeiro, encontre as fotos que deseja ver durante o upload. Preste atenção aos parâmetros da imagem para que o menu seja contrastante e se destaque do fundo da imagem e seja de fácil leitura. Vou mostrar um exemplo do meu design, com o qual você aprenderá tudo.

          Para começar, as imagens precisam ser colocadas em um diretório específico. Por padrão, o GRUB 2 obtém imagens de /usr/share/images/desktop-base . Você pode usar essa veiculação ou a sua própria, que você mesmo pode criar. Por exemplo /usr/share/images/grub , conforme mostrado no blog do Ubuntu.

          Copie suas imagens para lá e fique atento à extensão. Por padrão, o GRUB 2 funciona com arquivos .png e .tga. Você também pode usar arquivos .jpg, se desejar.

          O próximo passo, editar o arquivo 05_debian_theme. Você precisa substituir a entrada correspondente pela sua:


          O que fiz foi comentar a linha for-loop original que lia a(s) imagem(ns) e criava a minha própria. Se você se sentir inseguro ao editar o arquivo de configuração, é melhor deixar a configuração do tema de lado e fazer isso mais tarde.

          Meu arquivo está localizado aqui: /usr/share/images/grub/dark.png.

          Agora que o arquivo foi alterado, execute o comando update-grub para atualizar o arquivo de configuração grub.cfg. Se você fez tudo certo, você verá uma mensagem no fundo do terminal Found Debian .


          Observe que as imagens de fundo não serão usadas no menu GRUB se a opção correspondente estiver desativada. Para habilitá-lo, você precisa alterar a linha use_bg=false no script do tema para use_bg=true .

          Reinicie e verifique:


          Como você pode ver, a imagem de fundo que eu escolhi ficou muito ruim! Você não pode ver o texto! Por esse motivo, escolha cuidadosamente a imagem de fundo que você usará. A melhor escolha seria um tema com leves gradientes.

          Para obter informações detalhadas, consulte a documentação do Wiki.

          Restaurando o GRUB 2

          Recuperando de uma inicialização com falha

          E se acontecer de você danificar o GRUB 2? Deve haver uma maneira de restaurá-lo e salvar o dia? Tudo é como de costume, existem duas maneiras: fácil e difícil.

          A maneira mais fácil: Super Grub Disk

          $ sudo mount --bind /dev /mnt/dev

          Na verdade, agora você tem um sistema raiz para montar. Agora você pode alterar o local da raiz (/) para /mnt. Isso pode ser feito usando o comando chroot.

          $ sudo chroot /mnt

          Isso significa que um comando executado neste terminal acessará /mnt/. Agora, reconfigure o pacote GRUB:

          $ dpkg-reconfigure grub-pc

          Você deve informar ao GRUB qual dispositivo usar. Você pode fazer uma seleção usando a barra de espaço. Os dispositivos mostrados corresponderão aos dados no arquivo de mapa do dispositivo. Se você tiver apenas um dispositivo, não deverá haver confusão.

          Depois disso, você pode sair do ambiente de trabalho do comando chroot. Isso é feito pressionando o atalho de teclado Ctrl + D. Em seguida, desmonte os dispositivos. Desmonte /dev primeiro e depois todo o resto.

          $ sudo umount /mnt/dev
          $ sudo umount /mnt

          Agora reinicie. O GRUB 2 será restaurado.

          Visão geral de pequenos problemas

          Isso pode ser um recurso da versão beta ou apenas novos recursos, mas tenho que falar sobre alguns deles que encontrei. Também pode ajudá-lo a lidar com problemas que podem surgir com muito mais facilidade.

          O GRUB 2 tem uma seção que configura o mecanismo para obter e salvar um despejo de memória quando o kernel trava. O mecanismo funciona como o Kdump , ele é instalado, configurado e pode ser alterado na seção de configurações do kernel. Não é uma boa ideia usá-lo, pois o script não verifica o deslocamento onde pode colocar o kernel corrompido. Nesse caso, a alocação de memória deve ser feita pelo administrador e de forma involuntária, mas dentro de um determinado intervalo, pois o tamanho do kernel danificado é desconhecido.


          Nomes de comando

          Os dois comandos principais, grub-install e update-grub , diferem na ordem em que a palavra grub é usada, o que não é muito bom. Ambos devem ser prefixados com grub, ou ambos devem ser sufixados com grub.

          Comparação entre o legado do GRUB e o GRUB 2

          Agora a boa pergunta é, qual você vai usar e qual não vai?

          Legado do GRUB

          Esta é uma versão antiga e não está mais sendo desenvolvida, mas funciona muito bem e se provou bem. Editar o menu do GRUB é muito simples e não requer alta habilidade do usuário, ou seja, você só precisa criar de acordo com a sintaxe correta e salvar.

          GRUB 2

          O GRUB 2 é uma versão beta do software. A versão atual é a 1.97, que pode facilmente se tornar oficial. Isso o torna um candidato menos bem-sucedido para sistemas de produção.

          Além disso, o GRUB 2 é mais difícil de trabalhar por vários motivos: a) requer um comando forte do shell, que nem todos possuem; b) alterar o menu do GRUB é muito mais difícil e requer três etapas antes de poder ser alterado; c) as alterações não são salvas automaticamente e devem ser "compiladas" no menu sempre que forem feitas alterações, como é o caso do bootloader LILO.

          Atualmente, o GRUB 2 é suportado por um pequeno número de distribuições, portanto, é improvável que obtenha suporte e encontre respostas online (na Internet, por exemplo). Portanto, você tem a chance de encontrar problemas usando o GRUB 2 em um ambiente misto.

          Saída

          Em ambos os tutoriais do GRUB, mostrei que mesmo situações complexas podem ser resolvidas com relativa facilidade. Isso pode ser feito compartilhando os carregadores de inicialização GRUB legacy e GRUB 2, conforme detalhado em meus exemplos. Por enquanto, o legado do GRUB provavelmente é melhor para você se você não for um usuário muito experiente.

          Se você estiver executando o Ubuntu, poderá deixar o GRUB 2 como o carregador de inicialização padrão. Apenas certifique-se de seguir minhas instruções e você terá um download fácil e sem complicações.

          Informações adicionais (documentos e links)

          (material adicional, ajudará a evitar dificuldades na substituição dos itens do menu)

          Conclusão

          Isso é tudo. Agora você tem um guia passo a passo para instalar, configurar e solucionar problemas do GRUB 2, que inclui: uma descrição da estrutura e das principais funções, vários exemplos da vida real, como inicialização dupla com legado do GRUB, inicialização sequencial do GRUB 2 e Windows , bem como ferramentas e instruções para a resolução de problemas. Seja você um usuário iniciante, um usuário recente do Windows que mudou para o Linux ou um veterano do Linux, este guia deve ser muito útil para você.

          Comparado ao legado do GRUB, o GRUB 2 é um pouco mais difícil de usar, exigindo um bom conhecimento e confiança em um shell com o qual a maioria dos usuários não está familiarizada. No entanto, ele não permite modificações fáceis, e a configuração de inicialização deve ser construída a cada vez antes de aplicar após as alterações serem feitas.

          O verdadeiro poder do GRUB 2 ainda não foi revelado.

          Espero que você goste deste guia tanto quanto o anterior. Vou atualizá-lo periodicamente se a funcionalidade principal do GRUB mudar na próxima versão, ou se eu escrever uma dica importante ou encontrar um truque interessante.

          Boa sorte e amplie seus conhecimentos!

          Atualizações

          Quaisquer atualizações e tudo relacionado ao GRUB 2 serão postados aqui, incluindo novos recursos, correções, casos de teste adicionais e outros materiais, dicas e truques. Tudo isso você pode encontrar aqui, mas você também pode oferecer suas próprias dicas e truques, etc. Sugiro que você dê uma olhada nesta seção de vez em quando.

          Atualização de dezembro de 2009:

          Algumas perguntas feitas por meus leitores.

          Preciso fazer algo se estiver usando um sistema de arquivos Ext3? As partições de inicialização do GRUB podem ser formatadas para Ext4?

          Responda: Talvez. Se sua distribuição suporta Ext4, então sim, se não, então não, porque não poderá ler nada de partições formatadas em Ext4. A maneira mais fácil de superar as limitações de compatibilidade do sistema de arquivos é usar uma partição separada no formato Ext3 em /boot. Todas as distribuições Linux modernas suportarão esse método.

          Eu tenho duas unidades. Ubuntu Karmic está no segundo disco. O que devo usar no arquivo GRUB core.img ou posso usar o método chainload usual?

          Responda: Se o seu carregador de inicialização estiver instalado na raiz da segunda unidade, você poderá usar o método tradicional de carregamento em cadeia. No entanto, se você estiver usando um único carregador de inicialização, deverá usar o arquivo core.img.

          Por que o script 40_custom é diferente de seus scripts personalizados?

          Responda: O script 40_custom já está configurado para ser utilizado na construção do arquivo de configuração do GRUB, de acordo com o conteúdo dos demais scripts. No entanto, você pode escrever scripts de usuário a qualquer momento. A linha necessária neste script é exec tail -n +3 $0 , mas você não precisa usá-la em seus próprios scripts.

          Meus scripts serão atualizados se eu atualizar o kernel de outro sistema operacional instalado no mesmo sistema?

          Responda: Não haverá atualização automática. Você precisará reescrever as referências do kernel manualmente. Uma maneira de resolver este problema é criar um link simbólico para o kernel mais recente e a imagem initrd (O sistema de arquivos raiz inicial que é montado primeiro. initrd é parte do kernel e é carregado como parte dele no momento da inicialização. O kernel é montado o initrd na primeira parte do processo de inicialização para módulos de carregamento posteriores e o sistema de arquivos raiz real.) usando vmlinuz e genericamente denominado initrd. Isso é o que o openSUSE faz e permite que você mantenha seu menu GRUB estático. Após a atualização do kernel, apenas os links simbólicos precisam ser alterados. Você não precisa alterar os arquivos de configuração do GRUB.

          Não consigo definir um plano de fundo personalizado no menu GRUB!

          Responda: Veja a seção no script debian_theme e defina a opção use_bg como true.

          Atualização de junho de 2010:

          A versão atual do GRUB 2 é 1.98 e esta é uma versão estável (Somente desenvolvimentos testados entram na versão STABLE. Isso é uma garantia de que eles permanecerão no sistema. é garantia de estabilidade, STABLE é transferido para RELEASE ou seja, há momentos em que STABLE e RELEASE são completamente idênticos.). Existem algumas pequenas mudanças na funcionalidade, mas 99% do que está escrito acima ainda é relevante.

          CD de resgate do GRUB 2 (disco de resgate)

          Se você não estiver usando um Super Grub Disk (SGD) ou live CD com uma distribuição Linux que suporte GRUB 2, então provavelmente você quer criar seu próprio CD de recuperação do GRUB 2 (CD de resgate). A vantagem deste procedimento é que o CD de recuperação terá seu próprio menu GRUB.

          Isso é feito com o comando grub-mkrescue, que é semelhante em sintaxe ao Lucid Lynx usado pelo GRUB2-1.98-1ubuntu5 e Karmic e anteriores, que usavam o bootstrapper beta.

          Agora vamos ver como fazer:

          $ grub-mkrescue --output= .iso /boot/grub

          Você pode usar qualquer nome.

          Ubuntu 9.10 e anteriores:

          $ grub-mkrescue --overlay=/boot/grub .iso

          Depois de criar a imagem ISO, você a gravará em um CD. Em seguida, teste-o, de preferência em outra máquina. Faça o GRUB inicializar a partir do CD, não da unidade local. Se você usar nomes de arquivos sem um caminho completo, a imagem ISO será criada no diretório atual.

          Defina o host de destino (teste) para inicializar a partir do CD, o CD de recuperação carregará a linha de comando do GRUB. Certifique-se de que você realmente inicializou a partir do CD e que ele funciona conforme o esperado e contém seu menu GRUB. Para fazer isso, execute o seguinte comando:

          $configfile/grub.cfg

          Ele exibirá seu menu. Se estiver satisfeito com o resultado, mantenha este disco à mão em caso de emergência. Lembre-se de criar um novo ISO toda vez que atualizar seu menu GRUB.

          Você usará o CD de recuperação para inicializar o sistema operacional desejado e restaurar o GRUB usando o comando grub-install conforme mostrado anteriormente. O Rescue CD não funcionará se você remover o sistema operacional ou as partições que o contêm.

          Há também tópicos de discussão disponíveis nos fóruns do Ubuntu e wilderssecurity.com, mas eles lidam principalmente com o uso desses mesmos comandos e suas variações em várias versões do Ubuntu.

          Obrigado a Ocky por esta dica!

          Atualização de dezembro de 2010:

          Mais algumas mudanças. Aqui você encontrará uma breve visão geral e informações adicionais.

          Convenções

          Os símbolos foram alterados novamente. Para partições do MS-DOS, que representam a grande maioria das partições, o GRUB 2 no Maverick (versão do Ubuntu 10.10 Maverick Meerkat) usa novas designações. Em vez da notação universal hd(X,Y) , agora será hd(X,msdosY) , o que pode ser um pouco confuso. Você deve levar isso em consideração ao criar instalações complexas de inicialização múltipla.

          Para obter mais informações, consulte minha revisão do Maverick.

          Informações Adicionais de Leitura

          Se você acha que há necessidade de um guia separado sobre como usar o Fedora e o GRUB2, podemos fazê-lo.

          Atualização de junho de 2012:

          A versão oficial do GRUB 2.00 foi lançada. O GRUB 2 se tornou atraente em todos os sentidos. Veremos a versão principal do GRUB 2 em várias distribuições até o final deste ano. Para usuários finais, as alterações serão invisíveis. Basta usar este guia e se divertir.

          Como regra, nenhuma configuração adicional do GRUB é necessária, todos os arquivos necessários são instalados no computador de forma independente durante a instalação do sistema operacional Linux. Não há necessidade de reinstalar o bootloader se, por exemplo, o usuário precisar fazer alguma configuração, pois neste caso basta editar o conteúdo de /boot/grub/menu.lst.

          Como fazer a instalação e configuração corretas - no artigo abaixo

          A instalação do GRUB é útil se ele não existir fisicamente no dispositivo, ou seja, pode ser apagado após a instalação de outro sistema (na maioria das vezes o Windows). Às vezes também acontece que as cópias do bootloader não funcionam corretamente ou o GRUB, a pedido do proprietário do PC, é substituído por outro bootloader típico. Quaisquer que sejam as razões, a instalação do GRUB deve ser feita exclusivamente a partir de um sistema ativo (Knoppix, por exemplo). O fato é que sem um bootloader funcionando, rodar uma distribuição Linux em um PC, que está localizado no disco rígido, simplesmente não funcionará. No artigo, consideraremos como instalar e configurar o carregador de inicialização GRUB.


          O que é um setor de inicialização?

          Se o proprietário do PC estiver confiante em suas habilidades e conhecimentos, bastará ler apenas a seção que descreve o processo passo a passo de instalação do carregador de inicialização GRUB, no entanto, para os usuários que encontrarem esse problema pela primeira vez, é melhor aprender primeiro sobre os recursos do BIOS e do MS DOS.

          O disco rígido é dividido em vários setores, no primeiro dos quais é realizada a gravação principal do disco (os usuários costumavam se referir a ele como MBR). Isso requer apenas 512 bytes, nos quais um pequeno programa está “oculto”. O próximo setor é ocupado pela tabela de partição de disco, que, como de costume, consiste em quatro seções principais, 64 bytes de tamanho e uma assinatura digital (apenas 2 bytes).

          Recursos do setor de inicialização

          O setor de inicialização pode ser chamado de base do básico, pois está no MBR e em todas as outras partições. Como mostra a prática, ele está incluído em todos os 16 setores nos quais qualquer disco rígido é dividido. Apesar do fato de que na maioria dos sistemas de arquivos modernos, os dados que o bootloader inclui não estão localizados no primeiro setor: o sistema XFS, por exemplo, precisa de todos os setores íntegros do disco. Portanto, no caso em que os dados do carregador de inicialização são apagados, o sistema de arquivos é completamente destruído.

          Ligando o dispositivo

          No momento de iniciar o computador, antes de tudo, o próprio BIOS começa a ser iniciado. Neste ponto, os dados armazenados no MBR do primeiro disco são lidos. Após alguns segundos, o conteúdo "vai" para a RAM, onde é verificada a presença de 55 códigos hexadecimais AA nos últimos bytes. Tal verificação consiste na necessidade de identificar os meios para seu posterior carregamento. Um pequeno programa armazenado no MBR é necessário quando os códigos apresentados coincidem. O primeiro programa "engancha" o próximo, localizado no setor de inicialização da partição ativa, para ativá-lo posteriormente e, como resultado, iniciar o Windows.

          Se houver mais de um disco rígido, o usuário pode configurar no BIOS a ordem de acordo com quais discos rígidos específicos serão iniciados no momento da inicialização do sistema. Graças a esse recurso, os novos PCs têm a capacidade de inicializar o sistema a partir de uma unidade externa e de uma unidade USB. Naturalmente, alterando a ordem de inicialização no BIOS, o usuário pode inicializar o sistema usando CDs e DVDs.


          Para não ter que lidar com bootloaders e pensar em como o GRUB deve ser configurado no futuro, o usuário deve saber como instalar dois sistemas operacionais de fabricantes diferentes de forma que não entrem em conflito entre si. Como mostra a prática, é mais razoável instalar o bootloader do sistema Linux inicialmente para, posteriormente, poder escolher qual sistema iniciar.

          No entanto, se o dispositivo tiver uma das versões mais recentes do sistema operacional da Microsoft (mais tarde 9x / ME), no carregador de inicialização do sistema, você poderá se preocupar com o GRUB por conta própria. Uma grande vantagem desse recurso é que não há necessidade de lidar com os recursos do MBR mais uma vez. É verdade que nem todo usuário moderno poderá realizar essa manipulação de forma independente, pois esse processo é bastante complicado. Tudo terá que ser feito manualmente.


          Entre outras formas, pode configurar o funcionamento normal dos dois sistemas recorrendo a uma instalação adicional do GRUB. O carregador de inicialização deve ser colocado diretamente no setor de inicialização da partição principal e posteriormente marcado como ativo. Este método também elimina a necessidade de usar o MBR, porém só pode funcionar com partições primárias e sistemas de arquivos que não afetam o setor de inicialização da partição.

          Por que é importante criar uma cópia do MBR?

          Após a decisão de realizar uma instalação do GRUB, o usuário precisa fazer backup do MBR. O fato é que as alterações feitas incorretamente “ajudarão a derrubar” o Windows e o Linux. Nesse caso, você inevitavelmente precisará de um sistema Knoppix ou de um DVD de instalação do Windows para ajudá-lo a editar o setor de inicialização. Será possível corrigir suas ações várias vezes mais rápido se houver uma cópia de backup do MBR. Para fazer isso, execute os seguintes comandos:

          root# dd if=/dev/sda of=/boot/bootsector.scsi bs=1 contagem=446

          A restauração do setor de inicialização só pode ser feita com o comando:

          root# dd if=/boot/bootsektor.scsi of=/dev/sda bs=1 contagem=446

          No entanto, deve-se notar que com esses comandos o usuário poderá alterar apenas 446 bytes do MBR.

          Instalação no MBR de um disco rígido

          A instalação do GRUB pode ser feita assim que o arquivo de configuração apropriado for criado (definido através do comando /boot/grub/menu.lst). O diretório grub deve conter arquivos como stage1, stage2 e *_stagel_5. Se eles estiverem ausentes, os arquivos contidos no GRUB devem ser gravados nesta seção.

          Outras manipulações são iniciar o bootloader GRUB e executar o comando setup. Os valores hdl,12 devem ser substituídos pelo nome do dispositivo GRUB da partição do disco que contém /boot. Você deve ser prudente, pois a partição /boot pode não estar localizada na pasta do sistema, mas em outra. Hd0 é responsável pela área de armazenamento do setor de inicialização do disco rígido principal.

          O SUSE é atualizado durante a instalação com o arquivo /etc/grub.conf., que contém comandos relacionados diretamente à instalação do GRUB. Se algo der errado, o usuário do PC pode reiniciar a instalação a qualquer momento durante o procedimento. O comando grub pode ajudar com isso.< /etc/grub.conf.

          Métodos de instalação do carregador de inicialização

          A instalação do GRUB pode ser feita não apenas no MBR. Opcionalmente, o bootloader pode ser colocado em qualquer setor de inicialização de qualquer disco rígido. Embora existam situações em que tal solução não se justifique, nos casos listados abaixo, instalar o GRUB em uma partição diferente simplifica muito a tarefa do usuário.

          Você pode recorrer à instalação do GRUB se o carregador de inicialização for iniciado usando um dispositivo Windows semelhante. Além disso, a solução será apropriada se várias variantes do sistema operacional Linux estiverem instaladas no computador e o usuário não for alterar o GRUB instalado anteriormente para outro carregador de inicialização.

          É preferível escolher a partição do sistema Linux para otimizar o processo. Ou seja, se o sistema operacional estiver em /dev/sda7, para uma instalação adequada, o usuário deverá utilizar os comandos abaixo. A principal diferença entre instalar o GRUB no MBR ou na partição do sistema é a necessidade de especificar a partição selecionada na configuração em vez de hd0.

          root# grub grub> root(hd1,12)

          grub> setup (hd0,6) (Instalando no setor de inicialização /dev/sda7) grub> quit

          Antes de fazer uma instalação do GRUB, há uma peculiaridade de alguns sistemas de arquivos que você deve estar ciente, pois às vezes os setores de inicialização de uma partição não podem ser usados ​​pelo carregador de inicialização ou outro aplicativo típico. Em particular, um desses sistemas é o XFS - o GRUB instalado em seu setor de inicialização simplesmente destruirá todo o sistema de arquivos.

          Instalando em um pendrive

          Graças à tecnologia moderna, qualquer pessoa pode inicializar o sistema operacional por meio de uma unidade USB. Se a instalação do GRUB for realizada diretamente de um meio de armazenamento externo, e não usando Windows ou Linux, o usuário deve verificar se a placa-mãe reconhece o drive corretamente.

          Antes de começar, você deve formatar a unidade flash USB de uma das duas maneiras conhecidas. O primeiro método o limpa como um superdisquete, o outro como um disco rígido. A opção de limpeza deve ser selecionada com base nas características do BIOS.

          A próxima etapa deve ser habilitar o suporte de armazenamento USB, para o qual uma opção separada é fornecida no BIOS. Quando uma unidade USB é reconhecida como uma unidade de inicialização separada, o BIOS altera a lista de acordo com a qual o GRUB grava os dados da mídia um por um. A primeira unidade será uma unidade USB, o restante dos discos rígidos será acessível via hdl e hd2. Se necessário, você pode alterar /boot/grub/devices.map antes da instalação do GRUB.

          Se tudo for feito corretamente, a instalação do GRUB a partir de uma mídia externa será mais do que bem-sucedida. O GRUB reconhece a unidade flash como hdn+1, onde n é o número correspondente ao último disco rígido interno. A instalação subsequente do GRUB no MBR por meio de um dispositivo de armazenamento externo requer a execução do seguinte comando:

          root# grub grub> root(hd1,12)

          grub> setup (hd2) (instalação na unidade flash MBR) grub> quit

          Uma nova reinicialização do PC deve ajudar o GRUB a aparecer no MBR e iniciar todos os sistemas disponíveis, que estão contidos no menu.lst. Em caso de erros, você deve entrar no modo interativo através do menu do bootloader pressionando o botão C. Ativar o comando que consiste na palavra cat e pressionar a tecla tab ajuda o usuário a saber os nomes que o bootloader atribuiu a todos Discos rígidos. Usando a tecla Esc, você pode voltar ao menu, e o botão E o ajudará a alterar os comandos escritos anteriormente para carregar e executá-los novamente.

          Se o sistema operacional Linux estiver armazenado em uma unidade flash ou em um disco rígido externo que só pode ser conectado a um computador por meio de uma porta USB, o usuário deve considerar várias questões importantes. O fato é que a instalação do GRUB pode não ser realizada na primeira vez, provavelmente, você terá que alterá-lo várias vezes Configurações do BIOS e designações de drives. Será melhor se todas as propriedades armazenadas no arquivo menu.lst forem definidas apenas manualmente.

          Além disso, todos os módulos USB importantes devem ser armazenados no arquivo Initrd. Ao trabalhar com o Ubuntu, na seção /etc/fstab e na linha do kernel localizada em menu.lst, você precisa especificar não os nomes dos dispositivos em si, pois após a reinicialização do sistema eles podem ser alterados, mas os números UUID. O usuário pode especificar independentemente em menu.lst por meio de uuid exatamente o diretório no qual o kernel e o arquivo Initrd serão colocados posteriormente.

          Conclusão

          Apesar da aparente complexidade, qualquer um pode fazer a instalação do GRUB. Promovendo com novidades placas-mãe fornece operação simples e sem problemas de qualquer sistema operacional, incluindo Linux, que pode ser instalado diretamente na própria unidade USB. Não é fácil configurar todos os parâmetros corretamente e criar todas as condições para a existência ininterrupta de dois sistemas diferentes, além de tempo livre e conhecimento, o usuário deve ter uma experiência considerável que quem está começando a se familiarizar com o Ambiente Linux não tem.

          gastroguru 2017