fix(scripts): Fedora/RHEL usan /boot/grub2/grub.cfg, no el wrapper EFI
Desde Fedora 34 / RHEL 9, /boot/efi/EFI/<distro>/grub.cfg es un wrapper
que sourcea /boot/grub2/grub.cfg — y grub2-mkconfig se niega a
sobreescribirlo ("will overwrite the GRUB wrapper. Please run [...] on
/boot/grub2/grub.cfg instead"). Mi loop de detección lo encontraba
primero y fallaba. Apuntamos directo al canónico.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -171,23 +171,12 @@ if command -v update-grub >/dev/null 2>&1; then
|
||||
echo " ejecutando update-grub (Debian/Ubuntu)"
|
||||
update-grub
|
||||
elif command -v grub2-mkconfig >/dev/null 2>&1; then
|
||||
# Fedora / RHEL: buscar el grub.cfg activo. UEFI primero — su path es
|
||||
# el que arranca realmente; el de BIOS suele ser un symlink al UEFI.
|
||||
GRUB_CFG=""
|
||||
for cand in /boot/efi/EFI/fedora/grub.cfg \
|
||||
/boot/efi/EFI/redhat/grub.cfg \
|
||||
/boot/efi/EFI/centos/grub.cfg \
|
||||
/boot/efi/EFI/almalinux/grub.cfg \
|
||||
/boot/efi/EFI/rocky/grub.cfg \
|
||||
/boot/grub2/grub.cfg; do
|
||||
if [ -f "$cand" ] || [ -L "$cand" ]; then GRUB_CFG="$cand"; break; fi
|
||||
done
|
||||
if [ -z "$GRUB_CFG" ]; then
|
||||
GRUB_CFG="/boot/grub2/grub.cfg"
|
||||
echo " no detecté grub.cfg existente — usando $GRUB_CFG por default"
|
||||
fi
|
||||
echo " ejecutando grub2-mkconfig -o $GRUB_CFG (Fedora/RHEL)"
|
||||
grub2-mkconfig -o "$GRUB_CFG"
|
||||
# Fedora / RHEL desde ~2021 unificaron en /boot/grub2/grub.cfg para
|
||||
# BIOS y UEFI; el /boot/efi/EFI/<distro>/grub.cfg pasó a ser un wrapper
|
||||
# que sourcea aquél y NO debe regenerarse — grub2-mkconfig protesta y
|
||||
# se niega a sobreescribirlo. Apuntamos directo al canónico.
|
||||
echo " ejecutando grub2-mkconfig -o /boot/grub2/grub.cfg (Fedora/RHEL)"
|
||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
elif command -v grub-mkconfig >/dev/null 2>&1; then
|
||||
echo " ejecutando grub-mkconfig (Arch/otros)"
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
|
||||
@@ -39,16 +39,7 @@ fi
|
||||
if command -v update-grub >/dev/null 2>&1; then
|
||||
update-grub
|
||||
elif command -v grub2-mkconfig >/dev/null 2>&1; then
|
||||
GRUB_CFG=""
|
||||
for cand in /boot/efi/EFI/fedora/grub.cfg \
|
||||
/boot/efi/EFI/redhat/grub.cfg \
|
||||
/boot/efi/EFI/centos/grub.cfg \
|
||||
/boot/efi/EFI/almalinux/grub.cfg \
|
||||
/boot/efi/EFI/rocky/grub.cfg \
|
||||
/boot/grub2/grub.cfg; do
|
||||
if [ -f "$cand" ] || [ -L "$cand" ]; then GRUB_CFG="$cand"; break; fi
|
||||
done
|
||||
grub2-mkconfig -o "${GRUB_CFG:-/boot/grub2/grub.cfg}"
|
||||
grub2-mkconfig -o /boot/grub2/grub.cfg
|
||||
elif command -v grub-mkconfig >/dev/null 2>&1; then
|
||||
grub-mkconfig -o /boot/grub/grub.cfg
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user