Faça o grub manter sua inicialização padrão em atualizações do kernel

11

Inicializo duas vezes minha máquina e quero que ela seja inicializada no Windows, para que, sempre que eu reiniciar a máquina remotamente da minha casa, ela possa voltar ao Windows (em vez do Ubuntu).

O problema é que toda vez que o Ubuntu atualiza o kernel, tenho que redefinir o item de inicialização padrão do grub para o Windows. Isso ocorre porque o carregador de menus do grub usa as posições, por exemplo, 6, para o sistema operacional inicializar. E quando o Ubuntu instala um novo kernel, muda essa ordem.

Eu estou procurando uma maneira de configurar o grub para lembrar seu item de inicialização padrão nas atualizações do kernel.

reprogramador
fonte

Respostas:

9

Grub 1 (Ubuntu 9.04 e versões anteriores)

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 desta maneira:

  1. opções básicas
  2. configuração automática do kernel debian auto-magic (incluindo utilitários como memtest86 + por padrão)
  3. outros SOs detectados

A seção 2 é demarcada por estas linhas no arquivo de configuração:

### BEGIN AUTOMAGIC KERNELS LIST
(lots of stuff here)
### END DEBIAN AUTOMAGIC KERNELS LIST

As entradas para sistemas operacionais detectados automaticamente (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. Portanto, mover o sistema operacional detectado automaticamente para algum lugar antes da BEGINlinha o colocará onde o número da entrada não será alterado quando um novo kernel for instalado.


Grub 2 (Ubuntu 9.10 e posterior)

Com o Grub2, o arquivo de configuração inteiro é criado novamente a qualquer momento update-grub, portanto a edição /boot/grub/grub.cfgnão será uma correção permanente. Como esse arquivo é gerado é tratado pelos arquivos /etc/default/grube pelos scripts /etc/grub.d/*. Portanto, modificamos a configuração modificando os arquivos que controlam seções individuais do arquivo de configuração e, em seguida, executando update-grubnovamente.

My /etc/grub.dinclui estes 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 em ordem para gerar o arquivo de configuração. A entrada de inicialização do Windows é gerada por 30_os-prober, que é executada após a geração das entradas de inicialização do linux 10_linux. Então, apenas renomeie 30_os-proberpara algo menor que 10 e execute novamenteupdate-grub

mv /etc/grub.d/30_os-prober /etc/grub.d/09_os-prober
update-grub

Agora sua entrada do Windows deve ser a primeira e você pode configurá-la como a entrada de inicialização padrão ( GRUB_DEFAULT=) em /etc/default/grub.

charlatão quixote
fonte
2

Siga as instruções no meu blog aqui para usar o gerenciador de inicialização limpo do Windows para o seu trabalho. Eu o uso agora e, quando inicio o PC, tenho duas opções:

Windows Vista Ubuntu 10.04

Não há outra confusão. Você também pode definir muitas opções diferentes. Se eu não pressionar nada por 5 segundos, o Windows será inicializado.

Boa sorte.

Antrikshy
fonte
esse link está quase morto
tshepang