Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Hi Everyone,
I am having an issue with an Asus UL20A notebook. I got this notebook 2 years ago and it came with Windows 7 Home premium installed and a hidden partition for recovery. It did not come with any factory restore DVD or a DVD drive.
After installing Ubuntu in Windows 7 using Wubi, I can no longer access the factory restore option when I boot my laptop up and when I press F9 continuously. The F9 key should allow for accessing a menu to restore to factory settings. I need to reformat my machine due to a bad virus I had gotten in my Windows 7 setup.
Is there anything I can do at this point? It seems like my ubuntu installation removed that F9 capability.
One option is to use AI recovery to create a bunch of DVD disks but I prefer not to. I would like to restore with the F9 option. If I can't do that, I will download a copy of the Windows 7 Home Premium ISO and use my activation key that came with my machine and a USB boot program like BartPE. Also, if I can't use the F9 option to restore in the future, I might as well format the recovery partition and use that space for my c:
Any suggestions would be greatly appreciated. Thanks.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Might not be anything you can do at this point.
But don't take my word for it.
I'm no expert.
Is the recovery partition still there?
Or did you delete it when you installed ubuntu?
If its still there, then there may be a way to fix it.
Otherwise, for all practical intents and purposes, its gone.
You can reformat using your product ID, but you need to make sure the windows disk you obtain matches up with the key.
Getting Windows 7 Home Premium is not enough to ensure your key will work.
There are at least 4 different versions of Windows 7 Home Premium.
Retail 32bit
Retail 64bit
OEM 64bit
OEM 32bit
Your key is probably for (Windows7 Home Premium 32bit OEM)
So your key will only work if you get that disk.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Wubi can't do that. You need to go into the BIOS and change it to bypass quick/express boot (I forget the exact details), but it bypasses the bit where you hit F9 or whatever the restore key is.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Thanks, in Bios I made sure that Quick Boot was disabled. That seems to be the only setting in the BIOS section that would be relevant.
I press F9 and nothing really happens, it goes to the Windows Boot Manager menu and I see the two options, the first being Windows Home Premium and the second one being Ubuntu.
I have not formatted the recovery partition or modified it. It is still intact and hidden.
I'm hoping there is a manual fix for having the F9 factory restore enabled but it doesn't seem likely.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Is there any chance you replaced the boot loader? i.e. ran a boot-repair, or installed the normal windows bootloader? Some OEM computers have a custom bootloader that traps the F9 key and does something special.
Make sure you're hitting F9 when the bios splash is shown. Also you could try to see if grub picked up the recovery partition and boot it that way.
If all that fails you may have to get a restore disk from the manufacturer, but that'll likely cost something.
If you decide to reinstall Windows from scratch make sure you have a separate drivers CD from Asus or you'll likely have problems getting all your hardware working.
Edit: searching the web shows many people have problems with Asus and F9 recovery. Here's a post that seems to have a lot of information and the user finally got it working. Might have some hints for things you haven't tried: http://vip.asus.com/forum/view.aspx?...Language=en-us
e.g. it mentions quiet boot as well as boot booster should be disabled.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Hey bcbc. Thanks so much for the advice. I have tried hitting F9 in many different times, starting from the second I turn power on. I'm pretty sure the OEM bootloader is no longer in existence, either from when I installed Ubuntu or perhaps when I used BCDedit long ago to fix a Wubldr issue when I tried to select Ubuntu from the boot menu. I'm not sure how to check if grub picked up the recovery partition? From the Ubuntu menu I see a couple options, three of them are ubuntu and one of them says ubuntu recovery mode. The factore restore dvd costs $50. I think its lame to have to buy something they should have provided. They did however provide the drivers CD. I will check the link you pasted. Thanks so much for your help!
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Neither installing wubi or running bcdedit can affect your bootloader. The only way to do that would be to install a bootloader such as grub, windows, lilo. i.e. running "grub-install", "fixboot /mbr", or "lilo".
The current version of wubi-installed Ubuntu suppresses windows entries in grub. So that's why you don't see anything there. You could edit /etc/grub.d/30_os-prober to remove this - comment the line shown in bold:
Code:
case ${LONGNAME} in
Windows*)
if [ -z "$wubi" ]; then
if [ -x /usr/share/lupin-support/grub-mkimage ] && \
/usr/share/lupin-support/grub-mkimage --test; then
wubi=yes
else
wubi=no
fi
fi
if [ "$wubi" = yes ]; then
echo "Skipping ${LONGNAME} on Wubi system" >&2
# continue
fi
To edit use this command:
Code:
cd /etc/grub.d
sudo cp 30_os-prober 30_os-proberBACKUP
gksu gedit 30_os-prober
sudo update-grub
Make sure there are no errors - otherwise restore the backup:
Code:
sudo cp 30_os-proberBACKUP 30_os-prober
sudo update-grub
To check look for the entry in grub.cfg:
Code:
less /boot/grub/grub.cfg
You'll see something like:
Code:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda2)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
search --no-floppy --fs-uuid --set=root CAB28E67B28E5839
chainloader +1
}
Hopefully you'll see two entries (one for recovery). However, it depends whether grub recognizes your recovery partition as bootable.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Hi bcbc,
Thanks again!
When I ran the gksu gedit 30_os-prober command I see the following in the gedit window.. I'm not sure what I need to edit?
#! /bin/sh
set -e
# grub-mkconfig helper script.
# Copyright (C) 2006,2007,2008,2009 Free Software Foundation, Inc.
#
# GRUB is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GRUB is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
. ${libdir}/grub/grub-mkconfig_lib
found_other_os=
make_timeout () {
if [ "x${found_other_os}" = "x" ] ; then
if [ "x${1}" != "x" ] ; then
if [ "x${GRUB_HIDDEN_TIMEOUT_QUIET}" = "xtrue" ] ; then
verbose=
else
verbose=" --verbose"
fi
if [ "x${1}" = "x0" ] ; then
cat <<EOF
if [ "x\${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
fi
EOF
else
cat << EOF
if [ "x\${timeout}" != "x-1" ]; then
if sleep$verbose --interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
set timeout=0
fi
fi
EOF
fi
fi
fi
}
adjust_timeout () {
if [ "x$GRUB_BUTTON_CMOS_ADDRESS" != "x" ]; then
cat <<EOF
if cmostest $GRUB_BUTTON_CMOS_ADDRESS ; then
EOF
make_timeout "${GRUB_HIDDEN_TIMEOUT_BUTTON}" "${GRUB_TIMEOUT_BUTTON}"
echo else
make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
echo fi
else
make_timeout "${GRUB_HIDDEN_TIMEOUT}" "${GRUB_TIMEOUT}"
fi
}
if [ "x${GRUB_DISABLE_OS_PROBER}" = "xtrue" ]; then
adjust_timeout
exit 0
fi
if [ -z "`which os-prober 2> /dev/null`" -o -z "`which linux-boot-prober 2> /dev/null`" ] ; then
# missing os-prober and/or linux-boot-prober
adjust_timeout
exit 0
fi
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
if [ -z "${OSPROBED}" ] ; then
# empty os-prober output, nothing doing
adjust_timeout
exit 0
fi
osx_entry() {
cat << EOF
menuentry "${LONGNAME} (${2}-bit) (on ${DEVICE})" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
cat << EOF
load_video
set do_resume=0
if [ /var/vm/sleepimage -nt10 / ]; then
if xnu_resume /var/vm/sleepimage; then
set do_resume=1
fi
fi
if [ \$do_resume = 0 ]; then
xnu_uuid ${OSXUUID} uuid
if [ -f /Extra/DSDT.aml ]; then
acpi -e /Extra/DSDT.aml
fi
$1 /mach_kernel boot-uuid=\${uuid} rd=*uuid
if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
xnu_mkext /System/Library/Extensions.mkext
else
xnu_kextdir /System/Library/Extensions
fi
if [ -f /Extra/Extensions.mkext ]; then
xnu_mkext /Extra/Extensions.mkext
fi
if [ -d /Extra/Extensions ]; then
xnu_kextdir /Extra/Extensions
fi
if [ -f /Extra/devprop.bin ]; then
xnu_devprop_load /Extra/devprop.bin
fi
if [ -f /Extra/splash.jpg ]; then
insmod jpeg
xnu_splash /Extra/splash.jpg
fi
if [ -f /Extra/splash.png ]; then
insmod png
xnu_splash /Extra/splash.png
fi
if [ -f /Extra/splash.tga ]; then
insmod tga
xnu_splash /Extra/splash.tga
fi
fi
}
EOF
}
for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"
if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi
echo "Found ${LONGNAME} on ${DEVICE}" >&2
found_other_os=1
case ${BOOT} in
chain)
cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
case ${LONGNAME} in
Windows\ Vista*|Windows\ 7*)
;;
*)
cat << EOF
drivemap -s (hd0) \${root}
EOF
;;
esac
cat <<EOF
chainloader +1
}
EOF
;;
linux)
LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
prepare_boot_cache=
for LINUX in ${LINUXPROBED} ; do
LROOT="`echo ${LINUX} | cut -d ':' -f 1`"
LBOOT="`echo ${LINUX} | cut -d ':' -f 2`"
LLABEL="`echo ${LINUX} | cut -d ':' -f 3 | tr '^' ' '`"
LKERNEL="`echo ${LINUX} | cut -d ':' -f 4`"
LINITRD="`echo ${LINUX} | cut -d ':' -f 5`"
LPARAMS="`echo ${LINUX} | cut -d ':' -f 6- | tr '^' ' '`"
if [ -z "${LLABEL}" ] ; then
LLABEL="${LONGNAME}"
fi
if [ "${LROOT}" != "${LBOOT}" ]; then
LKERNEL="${LKERNEL#/boot}"
LINITRD="${LINITRD#/boot}"
fi
cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" {
EOF
save_default_entry | sed -e "s/^/\t/"
if [ -z "${prepare_boot_cache}" ]; then
prepare_boot_cache="$(prepare_grub_to_access_devic e ${LBOOT} | sed -e "s/^/\t/")"
fi
printf '%s\n' "${prepare_boot_cache}"
cat << EOF
linux ${LKERNEL} ${LPARAMS}
EOF
if [ -n "${LINITRD}" ] ; then
cat << EOF
initrd ${LINITRD}
EOF
fi
cat << EOF
}
EOF
done
;;
macosx)
OSXUUID="`grub-probe --target=fs_uuid --device ${DEVICE} 2> /dev/null`"
osx_entry xnu_kernel 32
osx_entry xnu_kernel64 64
;;
hurd)
cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" {
EOF
save_default_entry | sed -e "s/^/\t/"
prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
grub_device="`${grub_probe} --device ${DEVICE} --target=drive`"
mach_device="`echo "${grub_device}" | tr -d '()' | tr , s`"
grub_fs="`${grub_probe} --device ${DEVICE} --target=fs`"
case "${grub_fs}" in
*fs) hurd_fs="${grub_fs}" ;;
*) hurd_fs="${grub_fs}fs" ;;
esac
cat << EOF
multiboot /boot/gnumach.gz root=device:${mach_device}
module /hurd/${hurd_fs}.static ${hurd_fs} --readonly \\
--multiboot-command-line='\${kernel-command-line}' \\
--host-priv-port='\${host-port}' \\
--device-master-port='\${device-port}' \\
--exec-server-task='\${exec-task}' -T typed '\${root}' \\
'\$(task-create)' '\$(task-resume)'
module /lib/ld.so.1 exec /hurd/exec '\$(exec-task=task-create)'
}
EOF
;;
*)
echo " ${LONGNAME} is not yet supported by grub-mkconfig." >&2
;;
esac
done
adjust_timeout
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
When I run Disk Management in Windows 7 I see the following:
RECOVERY
14.65 GB NTFS
Healthy (System, Active, Primary Partition)
OS (C: )
58.22 GB NTFS
Healthy (Boot, Page File, Crash Dump, Pimary Partition)
DATA (D: )
160.02 GB NTFS
Healthy (Logical Drive)
Are the above settings correct for each drive?
Thanks.
Re: Asus UL20A problem with F9 Factory Restore after Ubuntu installation
Quote:
Originally Posted by
dsurfer21
Hi bcbc,
Thanks again!
When I ran the gksu gedit 30_os-prober command I see the following in the gedit window.. I'm not sure what I need to edit?
Sorry I should have checked before - you're not running 11.10 I guess.
So whatever you see in the grub menu is it. Do you see the recovery partition? What happens if you boot it? (PS backup before doing that)