# detect existing Grub2 installation
GRUB2="no"
-if [ -e /boot/grub/grub.cfg ]; then
+if [ \( -e /boot/grub/grub.cfg \) -o \( -e /boot/grub/core.img \) ]; then
echo "CN: Detected GRUB2 installation, will try to use it."
GRUB2="yes"
if [ -e /boot/grub/menu.lst ]; then
fi
else
# Grub2 part
+ touch /boot/grub/grub.cfg
update-grub >/dev/null 2>&1 || true
fi
echo -n " grub2"
fi
else
# Grub2 part
- grub-mkdevicemap -n
+ grub-mkdevicemap --no-floppy
+ grub-install --no-floppy --grub-setup=/bin/true "$(grub-probe -t drive /boot/grub)" >/dev/null 2>&1
fi
echo -n " grub3"
fi
else
# Grub2 part
- install_device='(hd0)'
+ install_device="(hd0)"
fi
echo -n " grub4"
fi
echo -n " grub7"
+# install to other boot sectors if needed (better safe than sorry)
+if [ "x$GRUB2" = "xyes" ]; then
+ # Grub2 part
+ db_get grub-pc/install_devices
+ for i in `echo $RET | sed -e 's/,/ /g'`; do
+ real_device="$(readlink -f "$i")"
+ if [ -e "$real_device" ]; then
+ grub-install --force --no-floppy $real_device \
+ >/dev/null 2>&1 || true
+ fi
+ done
+fi
+echo -n " grub8"
+
# disable lilo
if [ -e /etc/lilo.conf ]; then
mv -f /etc/lilo.conf /etc/lilo.conf.old