Fai in modo che grub mantenga il suo avvio predefinito con gli aggiornamenti del kernel


11

Doppio avvio della mia macchina e desidero che si avvii per impostazione predefinita per l'avvio in Windows in modo che ogni volta che riavvio la macchina in remoto da casa mia sarà in grado di tornare a Windows (anziché Ubuntu).

Il problema è che ogni volta che Ubuntu aggiorna il kernel, devo ripristinare l'elemento di avvio predefinito di grub su Windows. Questo perché il caricatore del menu di grub utilizza posizioni, ad esempio 6, per l'avvio del sistema operativo predefinito. E quando Ubuntu installa un nuovo kernel, questo ordine cambia.

Sto cercando un modo per configurare grub per ricordare la sua voce di avvio predefinita sotto gli aggiornamenti del kernel.

Risposte:


9

Grub 1 (Ubuntu 9.04 e precedenti)

Trovo che il modo più semplice per farlo sia spostare la voce di avvio di Windows sopra le voci di Ubuntu in /boot/grub/menu.lst. Per impostazione predefinita, il file di configurazione di Grub è strutturato in questo modo:

  1. opzioni di base
  2. configurazione del kernel auto-magic debian (incluse utility come memtest86 + di default)
  3. altri sistemi operativi rilevati

La sezione 2 è delimitata da queste righe nel file di configurazione:

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

Le voci per i sistemi operativi rilevati automaticamente (ad es. Windows) vengono inserite dopo questa sezione. Quando si installa un nuovo kernel, la sezione 2 è l'unica sezione che viene modificata. Quindi, spostando il sistema operativo rilevato automaticamente da qualche parte prima che la BEGINriga lo posizioni dove il numero della voce non cambierà quando viene installato un nuovo kernel.


Grub 2 (Ubuntu 9.10 e versioni successive)

Con Grub2, l'intero file di configurazione viene creato di nuovo ogni volta che update-grubviene eseguito, quindi la modifica /boot/grub/grub.cfgnon sarà una correzione permanente. La modalità di generazione del file viene gestita dai file /etc/default/grube dagli script /etc/grub.d/*. Quindi modifichiamo la configurazione modificando i file che controllano le singole sezioni del file di configurazione, quindi eseguiamo update-grubnuovamente.

Il mio /etc/grub.dinclude questi file:

  • 00_header
  • 05_debian_theme
  • 10_hurd
  • 10_linux
  • 20_memtest86 +
  • 21_memtest86
  • 30_os-prober
  • 40_custom

Questi sono ShellScripts che vengono eseguiti al fine di generare il file di configurazione. La voce di avvio di Windows viene generata da 30_os-prober, che viene eseguita dopo la generazione delle voci di avvio di Linux 10_linux. Quindi, rinominalo 30_os-proberin qualcosa di meno di 10 e rieseguiupdate-grub

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

Ora la tua voce di Windows dovrebbe essere la prima voce e puoi impostarla come voce di avvio predefinita ( GRUB_DEFAULT=) in /etc/default/grub.


2

Segui le istruzioni sul mio blog qui per utilizzare il bootloader di Windows pulito per il tuo lavoro. Lo uso ora e quando avvio il PC, ho due opzioni:

Windows Vista Ubuntu 10.04

Non c'è altro disordine. Puoi impostare anche molte opzioni diverse per questo. Se non premo nulla per 5 secondi, Windows si avvia.

In bocca al lupo.


quel collegamento è quasi morto
tshepang l'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.