"bootcamp" para Linux (grub)

De certeza que muitos de vós têm vindo a utilizar linux em dualboot com algum dos sistemas operativos windows disponíveis, só para evitar chatices de utilização de software não multi plataforma (Eu por exemplo, prefiro ter instalado o windows na minha máquina ao invés de utilizar wine para emular SQL server por exemplo).
Para tornar a tarefa de boot muito menos aborrecida, eu decidi criar um pequeno script que para mim é extremamente útil, e talvez possa vir a ter alguma utilidade para vocês também.
Configurar o grub
Então, assumindo que vocês têm o grub instalado para gerir o boot de múltiplos sistemas operativos, iremos modificar o seu ficheiro de configuração para que o script possa funcionar correctamente (Irei o utilizar o editor de text vim, mas fica ao gosto de cada um utilizar o que se sentirem mais confortável).
Antes de começar, sugiro que façam update-grub e verifiquem a lista de sistema operativos encontrados e contem até a entrada da lista que apresenta Windows (XP/8/7/Vista etc) mas não se esqueçam de começar a contar do 0! (A primeira entrada é número 0, e a segunda será o número 1 e por ai em diante).

Código: sudo update-grub

No meu caso devolve-me 7 entradas (https://snag.gy/rJozL.jpg), contando as entradas é a 7ª a que me interessa sendo que começamos a contar por 0, é o número 6 que me interessa, portanto vou guardar para mais tarde.

Código: sudo vim /etc/default/grub

E alterem a linha GRUB_DEFAULT de para que fique como demonstrado abaixo

Código:

GRUB_DEFAULT=saved

Já agora, se não tinham o timeout (tempo de escolha de sistema operativo da lista do grub ao ligar o computador) definido para zero, sugiro que o façam alterando a linha GRUB_TIMEOUT para zero, como está abaixo

Código:

GRUB_TIMEOUT=0

Gravem agora o ficheiro de configuração do GRUB, e aproveitem e façam novamente o update-grub para efectivar as alterações efectuadas.

Implementação do Script (usando um alias)
Se já ouviram falar em alias que é uma utilidade do bash, sabem que é possivel criar um alias utilizando o terminal, mas também sabem que os alias criados pelo terminal são apenas válidos para a sessão actual, portanto nós teremos de criar um alias estático que pode ser feito no ficheiro .bash_aliases (se não tiverem, o processo para o abrir e criar é o mesmo).
Assumindo que se encontram na home folder (~).

Código:

vim .bash_aliases

E agora adicionar um paragrafo (em que INSERIR_NUMERO_AQUI é numero de entrada que falei anteriormente, no meu caso seria o 6).

Código:

alias winreboot='echo A definir Windows como o próximo sistema operativo por defeito para o próximo boot.;sleep 1;sudo grub-reboot INSERIR_NUMERO_AQUI;echo ...A reiniciar em 3 segundos!;sleep 3;sudo reboot now'

Gravar o ficheiro e actualizar o .bashrc com o comando

Código:

source .bashrc

Para utilizar o script recém criado, basta escrever winreboot no terminal.

 

retirado do fórum do site https://pplware.sapo.pt e publicado pelo utilizador Skyxer.