Editando o menu grub

3

Gostaria de editar o menu do Grub que aparece, mover uma linha e remover outras.

Eu tenho um Inspiron 1420 que veio com o Ubuntu 7.10. Quando precisava de uma nova unidade, eu instalei o Windows 7, o sistema operacional original, e então parecia que o 10.04 queria sua própria partição. Eu provavelmente deveria ter verificado exatamente o que eu estava fazendo primeiro (famosas últimas palavras).

O que eu gostaria de fazer é remover completamente as linhas 7.10, para que eu possa apagar tudo nessa partição e usá-la como / home para 10.04. Eu também gostaria de mover a linha do Windows 7 para o segundo a partir do topo, então inicializar no Windows seria um rápido dois pressionamentos de tecla em vez de seguir a linha até o fim. Acertar a chave de edição do Grub veio com instruções pouco claras, e como esse é o carregador de boot, eu prefiro não estragar tudo.

Então, qual é a melhor maneira de fazer isso?

    
por David Thornley 04.09.2010 / 18:13

3 respostas

6

Resposta curta: Exclua a partição 7.10, edite os arquivos em /etc/grub.d/ conforme necessário e execute sudo update-grub

Resposta longa: O modo de edição no menu de inicialização destina-se a edições temporárias, geralmente para fins de recuperação ou teste. Para alterar as opções permanentemente, você precisa inicializar no sistema operacional que instalou o Grub no bloco de inicialização e alterar a configuração do Grub.

O Ubuntu 10.04 usa o Grub2 por padrão, o que elimina menu.lst e gera automaticamente grub.cfg cada vez que o update-grub é executado. Eu não editaria esse arquivo manualmente, já que suas alterações provavelmente serão levadas embora (update-grub é executado automaticamente após várias atualizações, especialmente aquelas que lidam com o kernel).

A primeira coisa que eu faço é ter certeza de que você está usando o Grub da sua partição 10.04, e não o seu 7.10. Acredito que a inicialização em 10.04 e a execução de sudo update-grub sejam suficientes. Se funcionar bem, você está usando o Grub correto. Se isso não acontecer, deve fornecer uma mensagem de erro que você pode usar para descobrir o que precisa ser feito.

Para remover as entradas 7.10, pode ser tão simples quanto apenas limpar essa partição e, em seguida, executar sudo update-grub . A maioria das entradas do Grub2 são autodetectadas, portanto, se ele não detectar mais o kernel inicializável, ele não o listará. Se isso não for claro, os arquivos a editar em /etc/grub.d/ , procure por um arquivo ou seção específica para 7.10 e exclua-o (certificando-se de fazer backup de qualquer arquivo que você editar / excluir primeiro) e execute novamente sudo update-grub . Se você estragar alguma coisa, você pode consertá-lo colocando seus arquivos de backup de volta e executando novamente o sudo update-grub , embora você possa precisar inicializar seu disco de recuperação se conseguir eliminar sua entrada 10.04 de alguma forma.

A reordenação é mais complicada, eles vêm da ordem dos arquivos em /etc/grub.d/ e a ordem dentro desses scripts. A entrada do Windows vem de 30_os-prober , então você poderia renomeá-la como 11_os-prober para colocá-la após as entradas de 10_linux , mas isso não a tornaria a segunda entrada e não tenho certeza se isso seria quebrado com as atualizações.

Se você não se importar em ter a entrada do Windows em primeiro lugar e o Linux em segundo (mas padrão), copiei 40_custom para 01_custom e copiei a seção de entrada de menu do Windows em /boot/grub/grub.cfg verbatim. Isso coloca o Windows como a primeira entrada, e você pode editar /etc/default/grub e colocar GRUB_DEFAULT=1 para tornar a segunda entrada (conta a partir de 0) o padrão (supondo que seja 10.04). Observe que isso duplicará a entrada do Windows no menu de inicialização, o que eliminará a duplicação removendo o bit de execução de 30_os-prober , mas sugiro deixá-la no caso de você precisar das entradas com autoscopia do os-prober posteriormente.

    
por 04.09.2010 / 20:28
3
  1. Diga ao Ubuntu 10.04 para impor seu próprio Grub2 ( grub-pc package) para inicialização, se você não tiver feito isso (o programa de instalação pode ter reutilizado o Grub existente do 7.04). Pode ser tão simples quanto

    sudo update-grub
    sudo grub-install /dev/sda
    

    mas verifique o link se tiver problemas. Não se preocupe se vir algo sobre o 7.04: é esperado e inofensivo.

  2. Remova a instalação do 7.04.

  3. Execute update-grub novamente no sistema 10.04. Desta vez, ele deve oferecer apenas para inicializar o Ubuntu 10.04 e o Windows.

  4. Não consigo pensar em uma maneira fácil de ter a entrada do Windows entre a entrada normal do Linux e a entrada do Linux de resgate. Mas eu acho que na sua situação a entrada do Windows será a última, então você pode inicializar com End Enter .

por 04.09.2010 / 20:31
0

Você provavelmente deve se referir à documentação do Ubuntu

Um exemplo de menu.lst (para o Grub Legacy) pode ser encontrado pesquisando "grub menu.lst". Aqui está o segundo resultado (o primeiro é sobre o Grub2).

    
por 04.09.2010 / 19:36