mirror of
https://github.com/Snigdha-OS/snigdhaos-system-config.git
synced 2025-09-21 12:04:57 +02:00
49 lines
1.6 KiB
Bash
Executable File
49 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Check if bootctl is available
|
|
if ! command -v bootctl &>/dev/null; then
|
|
echo "Error: bootctl command not found. Unable to determine the current bootloader."
|
|
exit 1
|
|
fi
|
|
|
|
# Get the current bootloader from bootctl status
|
|
bootloader=$(bootctl status 2>/dev/null | grep -i 'Product' | awk '{print $2}')
|
|
|
|
# Provide feedback on the detected bootloader
|
|
if [[ -z "$bootloader" ]]; then
|
|
echo "Error: Unable to detect the bootloader using bootctl. Please check the system configuration."
|
|
exit 1
|
|
fi
|
|
|
|
echo "The system is using $bootloader as the bootloader."
|
|
|
|
# Check if the bootloader is GRUB and proceed with installation if necessary
|
|
if [[ "$bootloader" == "GRUB" ]]; then
|
|
echo "GRUB bootloader detected. Installing or reconfiguring GRUB..."
|
|
|
|
# Ensure grub-install exists and is executable
|
|
if ! command -v grub-install &>/dev/null; then
|
|
echo "Error: grub-install command not found. Please install GRUB."
|
|
exit 1
|
|
fi
|
|
|
|
# Execute the grub-install command with necessary parameters
|
|
sudo grub-install --target=x86_64-efi \
|
|
--efi-directory=/boot/efi \
|
|
--bootloader-id=snigdhaos \
|
|
--disable-shim-lock \
|
|
--removable
|
|
|
|
# Check the result of the grub-install command
|
|
if [[ $? -eq 0 ]]; then
|
|
echo "GRUB installation successful."
|
|
else
|
|
echo "Error: GRUB installation failed. Please check the logs for more details."
|
|
exit 1
|
|
fi
|
|
else
|
|
echo "The system is not using GRUB as the bootloader. No action will be taken."
|
|
fi
|
|
|
|
exit 0
|