Grub 1 (Ubuntu 9.04 e anterior)
Acho que a maneira mais fácil de fazer isso é mover a entrada de inicialização do Windows acima das entradas do Ubuntu em /boot/grub/menu.lst
. Por padrão, o arquivo de configuração do Grub é apresentado assim:
- opções básicas
- configuração do kernel auto-magic debian (incluindo utilitários como memtest86 + por padrão)
- outros sistemas operacionais detectados
A seção 2 é demarcada por essas linhas no arquivo de configuração:
### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST
As entradas para sistemas operacionais autodetectados (por exemplo, Windows) são colocadas após esta seção. Quando você instala um novo kernel, a seção 2 é a única seção que é alterada. Então, movendo o sistema operacional autodetectado para algum lugar antes , a linha BEGIN
irá colocá-lo onde o número de entrada não irá mudar quando um novo kernel for instalado.
Grub 2 (Ubuntu 9.10 e posterior)
Com o Grub2, todo o arquivo de configuração é criado novamente a qualquer momento em que update-grub
é executado, portanto, a edição de /boot/grub/grub.cfg
não será uma correção definitiva. Como esse arquivo é gerado é manipulado pelos arquivos /etc/default/grub
e os scripts em /etc/grub.d/*
. Assim, modificamos a configuração modificando os arquivos que controlam seções individuais do arquivo de configuração e, em seguida, executando update-grub
novamente.
Meu /etc/grub.d
inclui esses arquivos:
- 00_header
- 05_debian_theme
- 10_hurd
- 10_linux
- 20_memtest86 +
- 21_memtest86
- 30_os-prober
- 40_custom
Estes são shellscripts que são executados na ordem para gerar o arquivo de configuração. A entrada de inicialização do Windows é gerada por 30_os-prober
, que é executado após as entradas de inicialização do linux são geradas em 10_linux
. Portanto, basta renomear 30_os-prober
para algo menor que 10 e executar novamente o update-grub
mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub
Agora, a entrada do Windows deve ser a primeira entrada, e você pode definir isso como a entrada de inicialização padrão ( GRUB_DEFAULT=
) em /etc/default/grub
.