Am einfachsten geht das mit Grub

Am einfachsten geht das mit Grub

Ich habe ein Dual-Boot-Setup:

  1. Ubuntu 16.04 LTS
  2. Windows

rebootWenn ich derzeit von Ubuntu zu Windows wechseln möchte, verwende ich grub-rebootdie entsprechende Nummer als Argument. Das funktioniert gut.

Manchmal muss Windows jedoch neu gestartet werden, damit ein bestimmtes Programm installiert oder aktualisiert werden kann, und ich muss den richtigen Grub-Bootmenüeintrag manuell auswählen. Gibt es eine ähnliche Möglichkeit (über die Windows-Benutzeroberfläche), Grub mitzuteilen, welcher Eintrag gebootet werden soll?

Ich nehme an, der grub-rebootBefehl übergibt das Argument an eine Datei, die wiederum von Grub gelesen wird reboot.

Bearbeiten (bezüglich meiner ausgewählten Antwort): Ich versuche gerade, das ext4-Laufwerk zu mounten, das /boot enthält, und die Bearbeitung per Skript zu erledigen. Das wird wahrscheinlich eine ganze Weile dauern, da ich das in meiner Freizeit neben meinem nicht-technischen Job mache, der 40 Stunden pro Woche dauert. ^^

Antwort1

Am einfachsten geht das mit Grub

Die Steuerung von Windows aus ist umständlich grub. Um von Windows aus auf Ubuntu zuzugreifen, ist eine Drittanbieteranwendung und etwas Hacking erforderlich. Aus dem oberen Teil dieses Beitrags geht jedoch hervor:So ändern Sie die Reihenfolge meiner Dual-Boot-Distributionen, können Sie grubden automatischen Neustart bis zur letzten Menüoption einrichten. Wenn Sie also Windows zum ersten Mal starten und es um 2 Uhr morgens aufwacht, um Updates auszuführen, grubwird Windows neu geladen, damit die Updates ordnungsgemäß abgeschlossen werden können.

Wenn Sie manuell neu starten und Ubuntu auswählen, wird bei gruballen nächsten Neustarts automatisch Ubuntu geladen. Diese Funktion funktioniert genauso gut, wenn der aktuelle Kernel Fehler aufweist und Sie grubautomatisch in eine ältere, von Ihnen ausgewählte Kernelversion neu starten möchten.

So bringen Sie Grub dazu, die letzte Boot-Auswahl zu wiederholen

Das ist ziemlich unkompliziert. Mit den entsprechenden Befugnissen können Sie Folgendes sudobearbeiten und ändern:/etc/default/grub

#GRUB_DEFAULT=0 # Rather than option #1, we'll always default to last boot choice.
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Die erste Zeile kommentieren Sie aus und fügen direkt darunter die nächsten beiden Zeilen ein.

Speichern Sie die Datei und geben Sie im Terminal ein:

sudo update-grub

Ubuntu-Befehlszeile zum Neustart in Windows

Derzeit verwenden Sie so etwas:

sudo grub-reboot x # Where x is Windows zero-based grub menu number
sudo reboot now

Von diesem modifizierten Stack ExchangeAntwortSie können die Grub-Standardeinstellung verwenden, um Windows neu zu starten. Kopieren Sie diesen Code in Ihre ~/.bashrcDatei:

function reboot-to-windows {
    WINDOWS_TITLE=`grep -i "^menuentry 'Windows" /boot/grub/grub.cfg|head -n 1|cut -d"'" -f2`
    sudo grub-set-default "$WINDOWS_TITLE"
    sudo reboot
}
  • Speichern Sie die ~/.bashrcDatei mit der neuen reboot-to-windowsFunktion.
  • Schließen Sie Ihre aktuelle Terminalsitzung.
  • Öffnen Sie eine neue Terminalsitzung, damit die Änderungen ~/.bashrcgeladen werden können.
  • Sie könnten : ~/.bashrces in die bestehende Terminalsitzung neu laden, manche Leute raten jedoch davon ab.

Um Windows über die Befehlszeile neu zu starten, verwenden Sie:

reboot-to-windows

Wenn Windows automatisch neu gestartet wird, wenn Sie nicht hinsehen, wird Windows neu gestartet. Dadurch können automatische Windows-Updates normal über mehrere Neustartzyklen hinweg verarbeitet werden, die Windows manchmal verwendet.

Antwort2

Sie können das, was grub-rebootfunktioniert, nachbilden. Es ist nur ein Skript, das schließlich Folgendes aufruft:

grub-editenv /boot/grub/grubenv set next_entry="Windows"

Wo Windowsist der Name Ihres Grub-Menüeintrags. Es könnte nicht so sein

Ich habe das ausgeführt. Es fügt nur next_entry=Windowsin /boot/grub/grubenvZeile 2 ein. Wenn es sich also nur um eine Datei in einem Dateisystem handelt,Sie können genau dasselbe in Windows tun. Es ist ein Windows-Problem, das gelöst werden muss, aber hier ist die allgemeine Übersicht:

  • Mounten Sie die Festplatte, auf der sich der Boot-Prozess befindet. Dies ist wahrscheinlich der schwierigste Teil, da es sich wahrscheinlich um ext4 handelt.Daskönnte helfen, aber es ist nicht undenkbar, dass Sie zum Bearbeiten Linux unter Windows benötigen.

    Wie Muru betont, muss es nicht so schwer sein./bootSie können auf eine eigene FAT32-Partition verschieben. Dies macht die Einbindung in Windows ganz einfach.

  • next_entry=WindowsNach dem Kommentar und vor den Hashes in die Datei einfügen (oder was auch immer).

  • Aushängen.
  • Neustart.

Skripten, dieunter Windowsliegt weit außerhalb meiner Komfortzone und ist nicht wirklich das, was wir hier tun. Aber das sollte alles sein, was Sie tun müssen.

Antwort3

grub-set-defaultsollte dasselbe bewirken wie grub-reboot, aber die Einstellung dauerhaft machen. Dies ist nicht genau die Windows-Benutzeroberfläche, wie Sie gefragt haben, aber vielleicht funktioniert es für Sie.

Antwort4

Sie haben nicht gesagt, welche Windows-Version Sie verwenden oder ob Sie UEFI verwenden.

Wenn Sie einen richtigen UEFI-Boot verwenden (und keinen Legacy-Boot), ist es möglich, vorübergehend zum Windows UEFI-Booteintrag zu booten. Unter Linux kann dies mit Tools wie erfolgen efibootmgr. Unter Windows verwende ich persönlichEinfaches UEFI. Es ist kostenlos für den persönlichen Gebrauch mit GUI, aber nicht für den Einsatz in Unternehmen oder mit CLI. Ich kann nicht für seine Sicherheit bürgen. Es scheint auch etwas langsam zu sein, aber es scheint zu funktionieren

In meinem eigenen Setup, das Arch Linux (Kernel-EFI-Shim, ohne GRUB) und Windows 10 verwendet, sieht es so aus, nachdem ich auf dem Startbildschirm „EFI-Boot-Option verwalten“ ausgewählt habe:

Abbildung mit der Option zum einmaligen Booten

Wenn Sie UEFI-Boot verwenden, sollten Sie etwas Ähnliches für Windows sehen, plus einen einzelnen Eintrag für Ubuntu (das GRUB lädt) und einige andere gerätespezifische Optionen. Die einmalige Boot-Option kann dann verwendet werden, um den Bootvorgang einmal mit dem UEFI-Boot-Eintrag für Windows und danach wieder mit GRUB einzustellen. Nachdem Sie dies eingestellt haben, starten Sie wie gewohnt neu.

verwandte Informationen