From 3f432fcc8a4f74f195b0798630100a1f632287dc Mon Sep 17 00:00:00 2001 From: Thorsten Date: Mon, 16 Dec 2024 15:57:32 +0100 Subject: [PATCH] Initial commit --- boot-to-windows.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 boot-to-windows.sh diff --git a/boot-to-windows.sh b/boot-to-windows.sh new file mode 100644 index 0000000..7b6a420 --- /dev/null +++ b/boot-to-windows.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +# Ermitteln, ob grub oder grub2 verwendet wird +if [[ -d "/boot/grub2" ]]; then + GRUB_DIR="/boot/grub2" +elif [[ -d "/boot/grub" ]]; then + GRUB_DIR="/boot/grub" +else + echo "Weder grub noch grub2-Konfigurationsordner gefunden!" + exit 1 +fi + +# Suche die GRUB-Konfigurationsdatei +GRUB_CFG="$GRUB_DIR/grub.cfg" +if [[ ! -f "$GRUB_CFG" ]]; then + echo "GRUB-Konfigurationsdatei nicht gefunden!" + exit 1 +fi + +# Suche den GRUB-Eintrag für Windows dynamisch +WINDOWS_ENTRY=$(grep -i "Windows Boot Manager" "$GRUB_CFG" | head -n 1 | awk -F\' '{print $2}') + +# Überprüfen, ob der Eintrag gefunden wurde +if [[ -z "$WINDOWS_ENTRY" ]]; then + echo "Windows Boot Manager nicht gefunden!" + exit 1 +fi + +# Setze den nächsten Boot-Eintrag +echo "Gefundener Windows-Eintrag: $WINDOWS_ENTRY" +grub-reboot "$WINDOWS_ENTRY" +echo "GRUB wird beim nächsten Neustart in die Windows-Partition booten." + +# Benutzerabfrage, ob direkt neugestartet werden soll +read -p "Soll das System jetzt direkt nach Windows neu starten? [Enter für Ja, andere Eingabe für Nein] " user_input + +if [[ -z "$user_input" ]]; then + echo "Das System wird neu gestartet..." + reboot +else + echo "Neustart abgebrochen. GRUB bleibt für den nächsten Start auf Windows eingestellt." +fi