if [ -d /sys/firmware/efi ]; then echo "Setting Boot Manager for the next boot." echo "delete all sysclone boot list" str_bootnums=`efibootmgr | grep 'syscloneLinux' | awk '{print $1}' | sed 's/boot//i' | sed 's/*//'` for str_num in $str_bootnums do efibootmgr -b $str_num -B -q done if [ -f "/boot/efi/EFI/redhat/grub.efi" ];then efibootmgr -c -l \\EFI\\redhat\\grub.efi -L syscloneLinux elif [ -f "/boot/efi/efi/SuSE/elilo.efi" ];then efibootmgr -c -l \\efi\\SuSE\\elilo.efi -L syscloneLinux else echo "Can not find the boot loader." exit 1 fi else echo "run grub-install to configure the MBR." if [ -e /etc/mtab ];then mv /etc/mtab /etc/mtab.bak fi grep -v rootfs /proc/mounts > /etc/mtab boot_device='' if [ -f "/etc/systemconfig/systemconfig.conf" ];then boot_device=`cat /etc/systemconfig/systemconfig.conf | grep BOOTDEV | awk '{print $3}'` else str_temp=`mount | awk '{print $1","$3}'` for line in $str_temp do mp=`echo $line | awk -F, '{print $2}'` if [ "$mp" = "/" ];then boot_device=`echo $line | awk -F, '{print $1}' | sed -e 's/[0-9]*$//'` break fi done fi if [ -n "$boot_device" ];then echo "the boot device is $boot_device" else echo "Can not find the boot device, return error" exit 1 fi #for sles10, should run grub-install with parameters echo "grub-install --no-floppy --recheck $boot_device" grub-install --no-floppy --recheck $boot_device if [ $? -ne 0 ];then #sles11, run grub install directly grub-install fi if [ -e /etc/mtab.bak ];then mv -f /etc/mtab.bak /etc/mtab else rm -f /etc/mtab fi fi