switch_between_linux32_em64.sh
#!/bin/sh
if [ $# -ne 1 ]
then
echo "usage: $0 32/64"
exit
fi
########### Get current os information ############
ARCH=`getconf LONG_BIT`
echo $ARCH
if [ "$1" == "$ARCH" ]
then
echo "Current OS is just you want"
exit
fi
########### OS switching ############
echo "switch from " $ARCH " to " $1 " ..."
if [ "$ARCH" == 32 ]
then
grub=/mnt/em64/grub/grub.conf
grub_new=/mnt/em64/grub/grub.conf.new
if [ ! -e $grub ]
then
`mount /dev/sda5 /mnt/em64` // dev/sda5 is the partition which hold em64 os
if [ $? -ne 0 ]
then
echo "mount error occur, please use root account"
exit 1
fi
fi
sed "s/default=2/default=0/g" $grub > $grub_new
if [ $? -ne 0 ]
then
echo "Failed to change default=2 ==> default=0"
exit 1
fi
mv $grub_new $grub
else if [ "$ARCH" == 64 ]
then
grub=/boot/grub/grub.conf
grub_new=/boot/grub/grub.conf.new
if [ ! -e $grub ]
then
echo "$grub file does not exist"
exit 1
fi
sed "s/default=0/default=2/g" $grub > $grub_new
if [ $? -ne 0 ]
then
echo "Failed to change default=0 ==> default=2"
exit 1
fi
mv $grub_new $grub
fi
fi
############### Reboot the machine by yourself ################
echo "Please reboot the machine"