| #!/bin/bash | |
| set -o errexit | |
| set -o pipefail | |
| dir=$(mktemp -d) | |
| # Cleanup trap to unmount and remove temp dir on exit or failure | |
| trap "umount \"$dir\" 2>/dev/null || true; rm -rf \"$dir\"" EXIT | |
| mount /dev/disk/by-label/EFI-SYSTEM "$dir" | |
| grub="$dir/efi/boot/grub.cfg" | |
| if ! grep -q "defaultA=0" "$grub" || ! grep -q "defaultB=1" "$grub"; then | |
| sed -i -e "/^defaultA=/s:=.*:=0:" -e "/^defaultB=/s:=.*:=1:" -e "s/module.sig_enforce=1//" "$grub" | |
| sync | |
| umount "$dir" | |
| exit 10 | |
| fi | |
| umount "$dir" | |
| exit 0 |