Ich habe ein Dual-Boot-Setup:
- Ubuntu 16.04 LTS
- Windows
reboot
Wenn ich derzeit von Ubuntu zu Windows wechseln möchte, verwende ich grub-reboot
die 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-reboot
Befehl ü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 grub
den 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, grub
wird Windows neu geladen, damit die Updates ordnungsgemäß abgeschlossen werden können.
Wenn Sie manuell neu starten und Ubuntu auswählen, wird bei grub
allen nächsten Neustarts automatisch Ubuntu geladen. Diese Funktion funktioniert genauso gut, wenn der aktuelle Kernel Fehler aufweist und Sie grub
automatisch 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 sudo
bearbeiten 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 ~/.bashrc
Datei:
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
~/.bashrc
Datei mit der neuenreboot-to-windows
Funktion. - Schließen Sie Ihre aktuelle Terminalsitzung.
- Öffnen Sie eine neue Terminalsitzung, damit die Änderungen
~/.bashrc
geladen werden können. - Sie könnten
: ~/.bashrc
es 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-reboot
funktioniert, nachbilden. Es ist nur ein Skript, das schließlich Folgendes aufruft:
grub-editenv /boot/grub/grubenv set next_entry="Windows"
Wo Windows
ist der Name Ihres Grub-Menüeintrags. Es könnte nicht so sein
Ich habe das ausgeführt. Es fügt nur next_entry=Windows
in /boot/grub/grubenv
Zeile 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.
/boot
Sie können auf eine eigene FAT32-Partition verschieben. Dies macht die Einbindung in Windows ganz einfach.next_entry=Windows
Nach 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-default
sollte 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:
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.