Questão Como altero a ordem de inicialização do GRUB?


Eu tenho o Windows 7 e Ubuntu instalado em uma máquina compartilhada. Como muitos dos não desenvolvedores usam o Windows, eu gostaria de alterar a ordem de inicialização para facilitar a execução deles.

Atualmente, a ordem de inicialização é semelhante à seguinte:

  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (inicialização segura)
  • Teste de memória
  • Teste de memória
  • O Windows 7 em /dev/sda6

Como altero a ordem padrão para que o Windows 7 esteja no topo da lista?

  • O Windows 7 em /dev/sda6
  • Ubuntu 11.10 kernelgeneric * 86
  • Ubuntu 11.10 kernelgeneric * 86 (inicialização segura)
  • Teste de memória
  • Teste de memória

310
2018-01-31 16:18


origem


Perguntas e respostas semelhantes: askubuntu.com/questions/52963/… - fossfreedom♦
Você fez um 'sudo update-grub' depois de alterar o arquivo grub? - Tinellus
sim, acho que me esqueci de fazer isso, obrigada! Vou tentar atualizar com os resultados. - jeffery_the_wind
kubuntu 14.04 sudo apt-get install kde-config-grub2 então na configuração do sistema para o desligamento de inicialização - n611x007


Respostas:


Você pode usar um aplicativo de GUI fácil de usar chamado Grub Customizer Para tornar sua vida um pouco mais fácil. Como o nome sugere, você pode fazer muito mais do que apenas reordenar as entradas do menu do GRUB com ele.

Você pode instalá-lo por:

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

(Veja Ask Ubuntu question Os PPAs podem ser adicionados ao meu sistema e quais são algumas “bandeiras vermelhas” a serem observadas?.)

Há um How-To Geek artigo sobre isso, Como configurar o menu de inicialização do Linux GRUB 2 no modo fácil. Dê uma olhada se estiver interessado. Além disso, há um tópico resolvido nos fóruns do Ubuntu, Alterar ordem de inicialização no GRUB 2 que menciona essa ferramenta.

Aqui estão algumas capturas de tela:

screen_1

screen_2

screen_3


Alguma solução de problemas:

As configurações do Grub Customizer podem funcionar apenas na instalação mais recente do Linux / Ubuntu, aquela que instalou o Grub.

Por exemplo, se alguém tiver dois sistemas operacionais instalados (Windows e Ubuntu) e, em seguida, instalar um terceiro sistema operacional (Manjaro, etc) e tentar seguir a resposta acima, as alterações do Grub Customizer não funcionarão quando forem feitas a partir do segundo sistema operacional ( Ubuntu, no exemplo). O programa tem que ser instalado no sistema operacional, já que parece que o Grub Customizer só pode editar os arquivos Grub criados pela instalação do sistema no qual ele está instalado.

Os arquivos que determinam o menu de inicialização do Grub vêm na maioria dos casos com o sistema mais recente instalado em uma máquina, portanto, o Grub Customizer deve ser instalado e usado aquele Sistema Linux.


278
2018-01-31 17:30



Muito bem vindos :) As imagens vêm do post do blog que está linkado acima: P - Nitin Venkatesh
Isso não funciona com o Ubuntu mais recente. Podemos obter um post atualizado aqui? - A T
Eu acho que sua resposta é boa e útil, então por favor, não me entenda mal. Embora as ferramentas da GUI sejam simples e fáceis, elas ocultam os fatos. A resposta de Marve abaixo discute os arquivos em uso e como atualizá-los manualmente, fornecendo informações sobre como o Grub funciona. Quando a GUI falhar, e será, para alguns, pelo menos, dar uma espiada nos alicerces - eles não são tão difíceis assim, e a manipulação manual provavelmente será mais fácil a longo prazo. - barrypicker
Eu também tive problemas ao usar essa ferramenta. Parece que atualiza o / etc / default / grub correclty mas depois diz core dump e abortado. - Mauricio Gracia Gutierrez
Isso precisa de uma atualização relacionada aos níveis duplos do menu atual do grub. - Hannu


Você também pode alterar a entrada de inicialização padrão do grub na linha de comando sem precisar instalar nenhuma ferramenta adicional. Isso não alterará a ordem na lista, mas permitirá que um sistema operacional diferente seja inicializado por padrão, o que parece ser o que você pode querer de qualquer maneira.

Primeiro, faça uma cópia de backup /etc/default/grub. No caso de algo dar errado, você pode facilmente reverter para a cópia válida:

sudo cp /etc/default/grub /etc/default/grub.bak

Em seguida, edite o arquivo usando vim ou o editor de texto de sua escolha:

sudo vim /etc/default/grub

Encontre a linha que contém

GRUB_DEFAULT=0

e configurá-lo para

GRUB_DEFAULT=x

Onde x é o índice do item de menu do grub para o qual você deseja inicializar por padrão. Observe que os itens de menu são indexados com zero. Isso significa que o primeiro item da lista é 0 e que o sexto item é realmente 5. Então, para inicializar o sexto item na lista, a linha seria:

GRUB_DEFAULT=5

Se você esqueceu a ordem dos itens, dê uma olhada /boot/grub/grub.cfg. Cada entrada de menu é especificada por uma linha de tipo:

menuentry 'Ubuntu' [options] {

Você também pode escolher o padrão pelo nome em vez de indexar, por exemplo:

GRUB_DEFAULT='Ubuntu'

se houvesse um menuentry 'Ubuntu' linha em /boot/grub/grub.cfg. Esse pode ser um método melhor, pois não depende da ordem das entradas, o que poderia mudar.

Para usar um kernel no submenu "Previous Linux Versions", use:

GRUB_DEFAULT="Previous Linux Versions>x"

(certifique-se de incluir as citações), onde x é o índice do kernel antigo no sub-menu, ou o nome do kernel como aparece em /boot/grub/grub.cfg. Por exemplo,

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

Em seguida, construa o menu atualizado do grub:

sudo update-grub

218
2018-03-07 03:44



Por último, eu olhei grub2 gera tantas entradas na mosca que é realmente difícil descobrir o número a ser usado para uma entrada. - Joe
Usando um índice pode ser bastante confuso - a lista de sistemas operacionais pode mudar após uma atualização. Mas você pode dar uma olhada em /boot/grub/grub.cfg e procurar o nome do SO padrão desejado. Em seguida, use o nome entre aspas em vez de um índice. Exemplo: GRUB_DEFAULT="Microsoft Windows XP Professional (on /dev/sda1)" ao invés de GRUB_DEFAULT=7 - geekQ
Isso precisa de uma atualização relacionada aos níveis duplos do menu atual do grub. - Hannu
Com a versão atual do Ubuntu 16.04, se você quiser selecionar um Kernel específico para inicializar, você precisa adicionar Advanced options for Ubuntu submenu, assim: GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.4.0-34-generic' - Geoff Williams
@BandaMuhammadAlHelal Isso vai tentar arrancar o item 7 na sua lista - é isso que você quer? Se você quiser o sexto item na sua lista, use GRUB_DEFAULT=5. - Nick


De site tombuntu (artigo por Tom):

O GRUB pode ser configurado usando o /etc/default/grub Arquivo. Antes de você   fazer quaisquer alterações, pode ser uma boa ideia fazer o backup   criando uma cópia:

sudo cp /etc/default/grub /etc/default/grub.bak

Você pode restaurar a cópia do backup sobre o original:

sudo cp /etc/default/grub.bak /etc/default/grub

Abra o arquivo usando o editor de texto com privilégios de root:

gksu gedit /etc/default/grub

A linha GRUB_DEFAULT=0 significa que o GRUB selecionará o primeiro menu   item para inicializar. Mude isto para GRUB_DEFAULT=saved. Essa mudança   facilitar a alteração do item padrão mais tarde.

Salve e feche o arquivo. Execute este comando para aplicar suas alterações em   Configuração do GRUB:

sudo update-grub

A mudança de configuração que fizemos permite que o grub-set-default e   comandos grub-reboot para serem usados ​​a qualquer momento. Estes permitem que você mude   o item de inicialização padrão permanentemente ou apenas para a próxima inicialização,   respectivamente.

Corre grub-set-default ou grub-reboot (com sudo) com o número   do item de menu para inicializar (o primeiro item é 0). Este comando   altere o padrão para o segundo item:

sudo grub-set-default 1

35
2018-06-11 17:04



Esta resposta é tomada quase literalmente tombuntu.com/index.php/2011/09/25/…. Por favor dar crédito onde o crédito é devido. - James McMahon
Esta resposta não parece alterar a ordem dos itens de inicialização. - Sparhawk
Eu estou usando o Linux Mint Debian Edition. Eu não tinha um / etc / default / grub, mas achei que o valor GRUB_DEFAULT para modificar estava em /etc/grub.d/00_header. Depois de modificar o GRUB_DEFAULT em 00_header com o nome da minha inicialização desejada, simplesmente executei "sudo update-grub" e voila, success. - Fuzzy Analysis
Eu vi esses mesmos comandos em tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04 Percebi que esses comandos só funcionariam se fossem emitidos do sistema na ordem de inicialização 0 primeiro. - Sun Bear


Eu tentei o seguinte e obtive bons resultados.

Abra uma janela de terminal (Ctrl+Alt+T)

Tipo sudo gksu nautilus e pressione Enter. Digite sua senha de usuário.

Navegue até o arquivo /boot/grub/grub.cfg. Copie e cole o arquivo no mesmo diretório, deve criar uma cópia do arquivo grub.cfg para fins de backup. Em seguida, dê um clique duplo em grub.cfg para abrir o arquivo em um editor de texto.

No arquivo você encontrará a linha (set default="0"). Edite o 0 para o número da linha no Grub que você deseja carregar. O meu era a sexta linha, então usei 5, já que a primeira linha é considerada 0. Salve o arquivo. Reinicie o pc e se você escolher a linha correta, será o destaque quando o Grub for carregado.

Boa sorte


-2
2017-09-19 20:08



Como você pode ver no começo do arquivo, ele diz que você não deve fazer isso. em vez disso edite /etc/default/grub e então corra update-grub. - sazary
e eu também não recomendaria o gksu nautilus. Muito fácil de soltar uma bomba no seu sistema a partir daí. - sylvainulg
verifique este post: psychocats.net/ubuntu/bootmenu - tqjustc
Por alguma razão esta resposta é mostrada como "resposta automática" no google quando pesquisando por: "grub change boot order". - lepe
@lepe, não se preocupe, para mim o padrão é linuxandubuntu.com/home/… - vladkras


Abra uma janela de terminal (Ctrl+Alt+T) ou pressione Alt+F2.

Tipo gksu nautilus e pressione Entrar.

Isso vai abrir o navegador de arquivos Nautilus com permissão para alterar arquivos de propriedade do root.

Navegue até o arquivo /boot/grub/grub.cfg e clique duas vezes para abrir o arquivo em um editor de texto.

Cortar, mover e colar as seções nesse arquivo que pertence a diferentes sistemas operacionais. Você deve ser muito cuidadoso ao fazer isso, como se você fizesse algo errado, você não poderá mais inicializar. A inicialização do Windows sempre pode ser reparada com as ferramentas de um disco de instalação do Windows (FIXMBR), que substitui o GRUB-MBR por um típico Windows-MBR.

Eu testei do Ubuntu 9.04 para 12.04 e funcionou bem todas as vezes.

Mas eu só tentei mover a seção de inicialização do Windows para o topo da lista para torná-lo o padrão.

Se a minha memória estiver correta, cada seção do menu de inicialização no arquivo começa com um begin ... e termina com um ...end. E abrange várias linhas de texto.

O texto nesse arquivo se tornou um pouco mais complicado e não parece o mesmo na última versão do Ubuntu como nas versões anteriores. assim use seu cérebro para evitar que você cometa um erro.


-5
2017-07-05 18:01



Você não tem que correr sudo update-grub em algum ponto? - Eliah Kagan
/boot/grub/grub.cfg está sendo sobrescrito em cada pacote instalado / atualizado, acionando uma atualização do Grub, efetivamente invocando update-grub. E isso gera um novo grub.cfg. Portanto, a configuração do Grub é feita em arquivos no /etc diretório, conforme explicado pelas outras respostas, para garantir que seja persistente. - gertvdijk