Você provavelmente não vai querer pular o grub e inicializar direto para o Windows - isso vai impedir você de inicializar no linux. Em vez disso, você deseja tornar o Windows a entrada de inicialização padrão.
O seguinte funciona no debian (e derivados como o Ubuntu). O procedimento é conceitualmente semelhante, mas difere significativamente nos detalhes de RH / Centos e outras distros.
-
apt-get install os-prober
(um pacote que adiciona suporte ao grub para detectar outros sistemas operacionais e adicioná-los ao menu grub) -
edite
/etc/default/grub
para que tenha:
GRUB_DEFAULT=saved GRUB_SAVEDEFAULT=true
Opcionalmente, defina GRUB_TIMEOUT=5
ou = 10 para que você tenha tempo suficiente para escolher uma entrada no menu.
Exclua ou comente todas as linhas que mencionam HIDDEN
, como GRUB_HIDDEN_TIMEOUT
- o Ubuntu gosta de ocultar o menu do grub por algum motivo.
Isso irá configurar o grub de forma que o que você selecionar no menu se torne o padrão até que você selecione outra coisa.
-
execute
update-grub
-
da próxima vez que você inicializar, escolha o Windows. Agora será a opção padrão.
Você também pode usar grub-set-default
como root na linha de comando do linux para selecionar manualmente qual entrada do menu grub será o padrão. por exemplo. Se o Windows for a quinta entrada do menu na lista, então grub-set-default 5
fará com que seja o padrão.
Você pode listar as entradas do menu grub com um simples grep como:
egrep 'submenu|menuentry' /boot/grub/grub.cfg | cat -n
ou algo um pouco mais chique como:
sed -r -n -e '/submenu|menuentry/{s/(["'\'']) .*//;p}'
Atenção: a numeração torna-se complicada se houver algum submenu do grub. Um simples grep | cat -n
não irá obter a numeração correta, você terá que escrever um script para analisar o arquivo grub.cfg. Nesse caso, é mais fácil usar grub-set-default
com o nome completo da entrada do menu, em vez de um número.
por exemplo. dado o seguinte,
# sed -r -n -e '/submenu|menuentry/{s/(["'\'']) .*//;p}' /boot/grub/grub.cfg | cat -n 1 menuentry 'Ubuntu, with Linux 3.2.0-27-virtual' 2 menuentry 'Ubuntu, with Linux 3.2.0-27-virtual (recovery mode)' 3 submenu "Previous Linux versions" 4 menuentry 'Ubuntu, with Linux 3.2.0-24-virtual' 5 menuentry 'Ubuntu, with Linux 3.2.0-24-virtual (recovery mode)' 6 menuentry "Memory test (memtest86+)" 7 menuentry "Memory test (memtest86+, serial console 115200)"
grub-set-default 4
não funciona porque a numeração é distorcida pelo fato de estar em um submenu. Use grub-set-default 'Ubuntu, with Linux 3.2.0-24-virtual'
em vez disso.
Existe também um comando grub-reboot
que define a entrada para inicialização somente para a próxima reinicialização - depois disso, ela reverte para o padrão anterior. Isso é útil para, por exemplo, testar um novo kernel.