Carregando diferentes distribuição Linux cada vez que o computador inicia automaticamente?

14

Eu tenho duas distribuições Linux (OpenSuSE, Ubuntu) instaladas em duas partições diferentes. Cada vez que eu inicio minha máquina, o GRUB é carregado, permitindo que eu selecione uma das duas distribuições.

Eu não quero que o GRUB apareça, então limito o tempo limite para zero em /boot/grub/menu.lst, o que provavelmente fará com que minha máquina carregue o OpenSuSE toda vez que eu iniciar meu PC porque é a primeira opção no menu.lst.

É possível que a segunda vez que eu reinicie o meu PC, o Ubuntu seja carregado automaticamente? Na terceira vez que eu reiniciar de novo, o OpenSuSE pode ser inicializado na quarta vez que eu reiniciar, o Ubuntu pode carregar e assim por diante?

Em outras palavras, como posso fazer minha máquina inicializar o próximo sistema operacional no menu.lst, da próxima vez que ele for reiniciado?

    
por Undefined 20.11.2009 / 14:26

4 respostas

9

Eu alcancei a funcionalidade que procurava usando a opção 'savedefault' do GRUB. Eu costumava definir seu valor para o outro sistema operacional no final da entrada de cada sistema operacional no menu.lst.

Muito obrigado a todos que tentaram ajudar. :)

    
por 01.02.2011 / 10:55
11

Coloque algo nos scripts de inicialização para reescrever menu.lst .

Então o Ubuntu escreve uma versão do menu.lst que carrega o OpenSuSE, e o OpenSuSE escreve uma versão que carrega o Ubuntu.

Uma maneira relativamente segura de fazer isso seria ter 3 arquivos, menu.lst , menu.lst.ubuntu e menu.lst.SuSE e fazer os scripts:

cp menu.lst.ubuntu menu.lst

no SuSE e:

cp menu.lst.SuSE menu.lst

no Ubuntu.

    
por 20.11.2009 / 14:29
3

Lilo pode fazer isso.

Mas você pode considerar um script simples em cada sistema operacional que define o outro sistema operacional como padrão do grub. Por exemplo, o script a seguir modificaria uma configuração default 1 como default 0 :

echo -e "g/default 1/d\ni\ndefault 0\n.\nw" | ed /boot/grub/menu.lst

(ed é muito parecido com Vi. Execute apenas o primeiro comando para ver o que está fazendo.)

No outro sistema operacional, você pode executar a contraparte:

echo -e "g/default 0/d\ni\ndefault 1\n.\nw" | ed /boot/grub/menu.lst
    
por 20.11.2009 / 14:40
2

Qual é a sua razão / objetivo para fazer isso?

Já considerou apenas executar duas máquinas virtuais diferentes? Se as VMs puderem ser consideradas, existem várias maneiras diferentes de realizar isso a partir da própria máquina host, sem interferir nos convidados.

    
por 28.12.2010 / 15:13