No Grub original, você faria isso configurando, em /boot/grub/menu.lst , a palavra-chave padrão como "salva" e, em seguida, usando a palavra-chave savedefault em cada entrada do menu de inicialização.
Atualizado :
Grub2 é um pouco mais complicado. Também está evoluindo, portanto, embora o Ubuntu 9.10 e 10.04 usem o Grub2, existem diferenças suficientes em como as coisas são empacotadas e configuradas para tornar as coisas interessantes.
Veja como executar o truque salvo padrão em ambos:
Ubuntu 10.04:
As direções 9.10 são um truque; Lucid é muito mais simples. Veja a ajuda do Ubuntu para mais detalhes sangrentos. Você precisa fazer duas alterações no / etc / default / grub :
Mude a linha que lê GRUB_DEFAULT=0
paraGRUB_DEFAULT=saved
Adicione uma linha com GRUB_SAVEDEFAULT=true
É isso aí. Na verdade não é tão ruim, é? Não se esqueça de correr sudo update-grub
.
Ubuntu 9.10:
Existem vários hacks nos fóruns do Ubuntu para fazer isso funcionar; aparentemente a palavra-chave savedefault estava com defeito no Grub v1.97. Esta postagem nos fóruns do Ubuntu fornece um método. Outro post sugere um método um pouco mais simples:
Defina GRUB_DEFAULT = salvo em / etc / default / grub .
Coloque estas duas linhas em /etc/grub.d/40_custom (próximo à parte inferior, após a linha "exec tail" ):
saved_entry=${chosen}
save_env saved_entry
Eu testei esse método no Ubuntu 9.10 e funciona; a próxima inicialização destacará automaticamente a última entrada escolhida. Combinado com um tempo limite, ele será inicializado automaticamente no último sistema operacional inicializado.
E não se esqueça de correr sudo update-grub
. Depois de concluir as alterações. É importante e embaraçosamente fácil de esquecer ....
O Grub não tem como diferenciar uma reinicialização de uma inicialização a frio , portanto, o Grub não pode fazer isso sozinho. No entanto, se você for inicializado no Linux, poderá usar sudo grub-set-default N
(onde N é o número de uma entrada do menu de inicialização, começando em 0) para definir a entrada N a ser escolhida na próxima inicialização (em vez de qualquer entrada que foi salva).
Em teoria, você poderia hackear algo que se encaixasse nas rotinas de desligamento (um script Upstart , talvez) que executasse o grub-set-default para você quando você dissesse que o Linux deveria desligar (mas não quando você disse para reiniciar). Você não teria a mesma funcionalidade ao desligar o Windows.
Eu ouvi sobre uma técnica do Grub4DOS ou Grub1 que envolvia a instalação do Grub em uma partição FAT32 ou NTFS / boot - que permitiria que você também executasse o grub-set-default no Windows, para que você pudesse chamá-lo a partir de um script de logoff do Windows. A última vez que vi algo sobre isso, isso não foi possível no Grub2. Isso pode ter mudado até agora.
sudo update-grub
. Testei inicializando no Windows 7, desligando e ligando o computador. O Ubuntu 10.04 (o padrão) ainda estava selecionado. Eu também tentei colocar "saved_entry" em / etc / default / grub, em vez de "saved" (não sei como os scripts de configuração do grub funcionam), mas não ajudou. Ainda não tentei a solução 1.