43 lines
1.2 KiB
Bash
43 lines
1.2 KiB
Bash
#!/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
|