Make grub behält seinen Standard-Boot unter den Kernel-Updates bei

11

Ich führe einen Dual-Boot-Vorgang für meinen Computer durch und möchte, dass standardmäßig Windows gestartet wird, damit der Computer bei jedem Neustart von zu Hause aus wieder unter Windows ausgeführt werden kann (anstelle von Ubuntu).

Das Problem ist, dass ich jedes Mal, wenn Ubuntu den Kernel aktualisiert, das Standard-Boot-Item von grub auf Windows zurücksetzen muss. Dies liegt daran, dass der Grub-Menü-Loader die Positionen 6 verwendet, um das Standard-Betriebssystem zu starten. Und wenn Ubuntu einen neuen Kernel installiert, ändert sich diese Reihenfolge.

Ich suche nach einer Möglichkeit, grub so zu konfigurieren, dass es sich an das Standard-Startelement unter Kernel-Updates erinnert.

Neuprogrammierer
quelle

Antworten:

9

Grub 1 (Ubuntu 9.04 und früher)

Ich finde den einfachsten Weg, dies zu tun, indem ich den Windows-Starteintrag über die Ubuntu-Einträge in verschiebe /boot/grub/menu.lst. Standardmäßig ist die Grub-Konfigurationsdatei folgendermaßen aufgebaut:

  1. Grundoptionen
  2. debian auto-magic kernel config (inklusive dienstprogramme wie memtest86 + standardmäßig)
  3. andere erkannte Betriebssysteme

Abschnitt 2 wird in der Konfigurationsdatei durch folgende Zeilen abgegrenzt:

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

Einträge für automatisch erkannte Betriebssysteme (z. B. Windows) werden nach diesem Abschnitt platziert. Wenn Sie einen neuen Kernel installieren, wird nur Abschnitt 2 geändert. Wenn Sie das automatisch erkannte Betriebssystem also vor die BEGINZeile verschieben, wird die Eintragsnummer nicht geändert, wenn ein neuer Kernel installiert wird.


Grub 2 (Ubuntu 9.10 und höher)

Mit Grub2 wird die gesamte Konfigurationsdatei jedes Mal neu erstellt update-grub, sodass die Bearbeitung /boot/grub/grub.cfgkeine dauerhafte Korrektur darstellt. Wie diese Datei generiert wird, wird von den Dateien /etc/default/grubund den Skripten in verwaltet /etc/grub.d/*. Daher ändern wir die Konfiguration, indem wir die Dateien ändern, die einzelne Abschnitte der Konfigurationsdatei steuern, und dann update-gruberneut ausführen .

Meine /etc/grub.denthält diese Dateien:

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

Dies sind Shellscripts, die ausgeführt werden , um die Konfigurationsdatei zu generieren. Der Windows-Starteintrag wird von generiert 30_os-prober, der ausgeführt wird, nachdem die Linux-Starteinträge in generiert wurden 10_linux. Benennen Sie es einfach 30_os-proberin weniger als 10 um und führen Sie es erneut ausupdate-grub

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

Jetzt sollte Ihr Windows-Eintrag der erste sein, und Sie können diesen als Standard-Starteintrag ( GRUB_DEFAULT=) in festlegen /etc/default/grub.

Quacksalber
quelle
2

Folgen Sie den Anweisungen auf meinem Blog hier , um den sauberen Windows - Bootloader für Ihre Arbeit zu nutzen. Ich benutze es jetzt und wenn ich den PC starte, habe ich zwei Möglichkeiten:

Windows Vista Ubuntu 10.04

Es gibt kein anderes Durcheinander. Sie können auch viele verschiedene Optionen dafür einstellen. Wenn ich 5 Sekunden lang keine Taste drücke, wird Windows gestartet.

Viel Glück.

Antrikshy
quelle
Diese