#!/bin/bash # Ermitteln, ob grub oder grub2 verwendet wird if [[ -d "/boot/grub2" ]]; then GRUB_DIR="/boot/grub2" GRUB_CFG="/boot/grub2/grub.cfg" # Setze den richtigen Pfad zu grub.cfg GRUB_VERSION="grub2" # Setze die Version auf grub2 elif [[ -d "/boot/grub" ]]; then GRUB_DIR="/boot/grub" GRUB_CFG="/boot/grub/grub.cfg" # Setze den richtigen Pfad zu grub.cfg GRUB_VERSION="grub" # Setze die Version auf grub else echo "Weder grub noch grub2-Konfigurationsordner gefunden!" exit 1 fi # Überprüfen, ob die GRUB-Konfigurationsdatei existiert if [[ ! -f "$GRUB_CFG" ]]; then echo "GRUB-Konfigurationsdatei nicht gefunden!" exit 1 fi # Suche nach dem Windows Boot Manager Eintrag und bereinige den Eintrag WINDOWS_ENTRY=$(grep -i "menuentry 'Windows Boot Manager" "$GRUB_CFG" | head -n 1 | sed "s/^menuentry '//" | sed "s/'$//" | cut -d"'" -f1) # Überprüfen, ob der Eintrag gefunden wurde if [[ -z "$WINDOWS_ENTRY" ]]; then echo "Windows Boot Manager nicht gefunden!" exit 1 fi # Gebe den gefundenen Eintrag aus echo "Gefundener Windows-Eintrag: $WINDOWS_ENTRY" # Erste Abfrage: Soll beim nächsten Start nach Windows gebootet werden? while true; do read -p "Soll beim nächsten Start nach Windows gebootet werden? [Y/N] " user_input user_input=${user_input:-Y} # Wenn leer (Enter), dann "Y" als Default-Wert if [[ "$user_input" =~ ^[Yy]$ ]]; then if [[ "$GRUB_VERSION" == "grub" ]]; then # Für GRUB (grub1) verwenden wir grub-reboot sudo grub-reboot "$WINDOWS_ENTRY" echo "GRUB wird beim nächsten Neustart in die Windows-Partition booten." elif [[ "$GRUB_VERSION" == "grub2" ]]; then # Für GRUB2 verwenden wir grub2-set-default sudo grub2-set-default "$WINDOWS_ENTRY" echo "GRUB2 wird beim nächsten Neustart in die Windows-Partition booten." fi break elif [[ "$user_input" =~ ^[Nn]$ ]]; then echo "Abgebrochen. Script wird beendet." exit 0 else echo "Ungültige Eingabe. Bitte Y oder N eingeben." fi done # Zweite Abfrage: Sofort nach Windows booten oder nur den GRUB Eintrag setzen? while true; do read -p "Jetzt sofort nach Windows booten? [Y/N] " user_input user_input=${user_input:-Y} # Wenn leer (Enter), dann "Y" als Default-Wert if [[ "$user_input" =~ ^[Yy]$ ]]; then echo "Das System wird jetzt nach Windows neu gestartet..." sudo reboot break elif [[ "$user_input" =~ ^[Nn]$ ]]; then echo "Nur den GRUB Eintrag gesetzt. Script wird beendet." exit 0 else echo "Ungültige Eingabe. Bitte Y oder N eingeben." fi done