PDA

View Full Version : Problems with Windows Recovery and grub after dual-boot install with Ubuntu 12.04



shoryuken
December 27th, 2012, 12:01 AM
Hi,

As per YannBuntu suggestion in another thread I'm starting this new thread.

I'm having problems after installing Ubuntu 12.10 on a new Laptop running Windows 8 where I can no longer get into Windows Recovery.

Some background first:
I got a new Asus S46CA Ultrabook with Windows 8 preinstalled. I've been running Ubuntu 12.10 on my old laptop dual boot with Windows 7, but I did some reading before deciding to install Unbntu side by side with Windows 8. Based on my reading I made my install disk with ubuntu-secure-remix-12.10-64bit.iso

Then I did the following:
1) Disable Quickstart feature in Windows 8
2) Went into BIOS and disabled SecureBoot and Fast-start
3) Booted into Live CD and installed using Other Option
4) Resized 2 partitions to get 3 new partitions:
a) 30 Gig for /
b) 30 Gig for /home
c) 6 Gig for SWAP
5) Completed the installation and rebooted
6) Computer booted straight into Windows 8 (didn't give any options to chose)
7) I rebooted into BIOS and in the options for boot sequence there was an option to boot into the Ubuntu which I selected.
8) After reboot I got Grub with:
Ubuntu
Advance Options for Ubuntu
Windows Recovery Environment (loader) (on /dev/sda2)
Windows 8 (loader) (on /dev/sda4)
9) The 2 Windows options fail each time giving:
error: impossible find command'drivemap';
error: invalid EFI file path;
press any key to continue*


10) Did some reading and learned about Boot Repair ((boot-sav-extra_3.197~ppa10~quantal_all.deb)and ran root repair using the Live USB. I used the recommended settings and here is the result: http://paste.ubuntu.com/1466219/

11) I rebooted and now I got grub with the following options:
Ubuntu
Advance Options for Ubuntu
Windows UEFI loader
Windows Boot UEFI bootx64.efi.bkp
Windows Recovery Environment (loader) (on /dev/sda2)
Windows 8 (loader) (on /dev/sda4)

The last 2 options still give me the same error as before (see point 9 above).

The other 2 Windows options (with UEFI) both lauch the windows recovery screen but automatically load into Windows 8 and not the recovery itself.

And in case it might be of use, here is the content of grub.cfg



#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="0"

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
else
search --no-floppy --fs-uuid --set=root ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
fi
font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
set timeout=10
else
set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
set gfxpayload="${1}"
if [ "${1}" = "keep" ]; then
set vt_handoff=vt.handoff=7
else
set vt_handoff=
fi
}
if [ "${recordfail}" != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-ca6b5778-6ce5-4b46-b511-24d70cdb1ebd' {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
else
search --no-floppy --fs-uuid --set=root ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
fi
linux /boot/vmlinuz-3.5.0-17-generic root=UUID=ca6b5778-6ce5-4b46-b511-24d70cdb1ebd ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.5.0-17-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-ca6b5778-6ce5-4b46-b511-24d70cdb1ebd' {
menuentry 'Ubuntu, with Linux 3.5.0-17-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.0-17-generic-advanced-ca6b5778-6ce5-4b46-b511-24d70cdb1ebd' {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
else
search --no-floppy --fs-uuid --set=root ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
fi
echo 'Loading Linux 3.5.0-17-generic ...'
linux /boot/vmlinuz-3.5.0-17-generic root=UUID=ca6b5778-6ce5-4b46-b511-24d70cdb1ebd ro quiet splash $vt_handoff
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.5.0-17-generic
}
menuentry 'Ubuntu, with Linux 3.5.0-17-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.5.0-17-generic-recovery-ca6b5778-6ce5-4b46-b511-24d70cdb1ebd' {
recordfail
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt5'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5 ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
else
search --no-floppy --fs-uuid --set=root ca6b5778-6ce5-4b46-b511-24d70cdb1ebd
fi
echo 'Loading Linux 3.5.0-17-generic ...'
linux /boot/vmlinuz-3.5.0-17-generic root=UUID=ca6b5778-6ce5-4b46-b511-24d70cdb1ebd ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.5.0-17-generic
}
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/25_custom ###

menuentry "Windows UEFI loader" {
search --fs-uuid --no-floppy --set=root 02F6-23A5
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi.bkp
}

menuentry "Windows Boot UEFI bootx64.efi.bkp" {
search --fs-uuid --no-floppy --set=root 02F6-23A5
chainloader (${root})/EFI/Boot/bootx64.efi.bkp
}
### END /etc/grub.d/25_custom ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows Recovery Environment (loader) (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-1072DD5B72DD45DE' {
insmod part_gpt
insmod ntfs
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 1072DD5B72DD45DE
else
search --no-floppy --fs-uuid --set=root 1072DD5B72DD45DE
fi
drivemap -s (hd0) ${root}
chainloader +1
}
menuentry 'Windows 8 (loader) (on /dev/sda4)' --class windows --class os $menuentry_id_option 'osprober-chain-B6C4E84CC4E81103' {
insmod part_gpt
insmod ntfs
set root='hd0,gpt4'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 B6C4E84CC4E81103
else
search --no-floppy --fs-uuid --set=root B6C4E84CC4E81103
fi
drivemap -s (hd0) ${root}
chainloader +1
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###


Attached you will find screen captures of the various partitions on sda and sdb

on sda:
partition 5 is /
partition 7 is /home
partition 8 is /SWAP

partition 2 is Recovery
partition 9 is Restore

Any help is greatly appreciated

Thanks and cheers

Shoryuken

oldfred
December 27th, 2012, 12:20 AM
That the last two Windows entries do not work is normal until a grub bug is fixed. Boot-Repair added a correct entry above the bad entries.

grub2's os-prober creates wrong style (BIOS) chain boot entry
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1024383
Type of entry that does not work:
'Windows ...) (on /dev/sdXY)'


If you boot Windows directly from UEFI/BIOS does it also boot a recovery. It may be because you have Intel SRT and that uses some sort of RAID to use SSD.

Intel Smart Response Technology
http://www.intel.com/p/en_US/support/highlights/chpsts/imsm
Some general info in post #3
http://ubuntuforums.org/showthread.php?t=2071242


Some info on re-instating details in post #9
http://ubuntuforums.org/showthread.php?t=2038121
http://ubuntuforums.org/showthread.php?t=2070491


Disable the RAID, for me it was using the Intel rapid management thingy and telling it to disable the acceleration or the use of the SSD. If you have a different system, just disable the RAID system then install Ubuntu. Once installed you can then re-enable it.



You will need to use the dmraid command prior to running the Ubuntu Installer so that it will be able to see the partitions on the drive because otherwise with the raid metadata in place it will see the drive as part of a raid set and ignore its partitions.



While different brands the Intel I think works the same.
ubuntu 12.10 & Windows 8 oem Sony T & Intel SRT
http://ubuntuforums.org/showthread.php?t=2090605
Intel SRT - Dell XPS
http://ubuntuforums.org/showthread.php?t=2038121


Some info on re-instating details in post #9
http://ubuntuforums.org/showthread.php?t=2038121
http://ubuntuforums.org/showthread.php?t=2070491

shoryuken
December 27th, 2012, 01:49 AM
Thanks oldfred,

When I want to boot from BIOS into Windows I only get 1 option and that goes to Windows Recovery splash screen aswell but boots directly/automatically into Windows 8.
I ran the rmdraid command (as per the links provided) in Live USB and it didn't detect active Raid on either sda or sdb. Also when booted with Live USB I can see both drives (sda and sdb) and all partitions are automatically mounted.

I am re-installing Ubuntu right now to see if anything new happens. Will report back once completed. Should I remove the two last Windows entries in Grub?

Thanks again,

Shoryuken

shoryuken
December 27th, 2012, 02:42 AM
So after the reinstall I ran Boot Repair:
After Fresh reinstall of Ubuntu and before running Boot-Repair
http://paste.ubuntu.com/1468595/

After running Boot-Repair with recommended settings
http://paste.ubuntu.com/1468602/

One thing I found interesting is that I ran OS-Uninstaller in Live USB and it detected 3 operating systems (as I would like to see in Grub) (please see attached image):
Windows Recovery Environment (boot) (sda2)
Windows 8 (sda4)
Ubuntu-Secure-Remix 12.10 30nov2012 (sda5)

I read all the posts and I am really not sure what to do next.

I was reading some info on http://www.rodsbooks.com/efi-bootloaders/principles.html and noticed the following:


Most, and perhaps all, modern EFI-based computers include a BIOS compatibility mode that enables them to boot using BIOS boot loaders. This feature is officially known as the Compatibility Support Module (CSM). At the moment (late 2012), this mode is a simpler and more reliable way to boot Linux than is EFI mode, although users are increasingly using EFI mode because many Windows 7 PCs sold since mid-2011 and the vast majority of Windows 8 computers boot in EFI mode by default.


In my BIOS CSM is disabled. Based on the above info, if I turn on CSM then Windows won't boot, is that correct?

oldfred
December 27th, 2012, 04:09 AM
You will not be able to boot Windows unless using UEFI. WIth some hassle you might be able to go into UEFI/BIOS and boot a BIOS install and then go back reconfigure back to UEFI and boot an efi install.

Ubuntu is one of the first to boot UEFI with secure boot using the newest grub2 version 2.00. Several other distributions now have UEFI boot but not full Secure boot capability. Older installs would then need the CSM or BIOS mode.

Many have been able just to install 12.10 64 bit version with no more hassle than BIOS, but often different issues. It really depends on what system you have.
http://web.dodds.net/~vorlon/wiki/blog/SecureBoot_in_Ubuntu_12.10/

(http://web.dodds.net/~vorlon/wiki/blog/SecureBoot_in_Ubuntu_12.10/)

shoryuken
December 27th, 2012, 04:33 AM
So that confirms that at least I'm understanding a little bit of what is going on :)

I'm starting to thing that perhaps what I thought was Windows recovery splash screen is actually the normal splash screen (please see attached image - mind you my background colour is a light blue similar to the colour found in the recovery screen). Before installing Ubuntu and running boot-repair, I was getting an ASUS splash screen and only when I hit F8 I would see the attached splash screen.
EDIT2: I was wrong about the back ground page. My boot screen for windos looks exactly as the attached image.

Now I've found this article:
http://askubuntu.com/questions/230878/dual-boot-windows-8-and-ubuntu-with-windows-8-boot-manager

Do you think it would be ok to use EasyBCD 2.2 or do I risk seriously messing up my system?

EDIT1: Nevermind about EasyBCD.... Following some more reading, it seems that EasyBCD is dangerous for UEFI (http://neosmart.net/forums/showthread.php?t=9342).


Thanks

Shoryuken

oldfred
December 27th, 2012, 05:11 AM
I do not have Windows 8, so I do not know what screens you actually get.

But Windows 8 is always hibernated for faster booting. Best to have a separate NTFS data partition and never write into the Windows system partition.

WARNING for Windows 8 Dual-Booters
http://ubuntuforums.org/showthread.php?t=1953674
It defaults shutdown to a hybrid hibernation/off state for fast boot
http://www.kapilarya.com/how-to-enable-disable-fast-start-up-in-windows-8
But then files may be corrupted similar to Windows 7 Hibernation:
http://ubuntu-with-wubi.blogspot.ca/2012/09/windows-8-fast-start-and-hybrid-sleep.html
http://superuser.com/questions/144720/missing-files-when-windows-7-returns-from-hibernate-w-dual-boot

shoryuken
December 27th, 2012, 05:52 AM
I do not have Windows 8, so I do not know what screens you actually get.

But Windows 8 is always hibernated for faster booting. Best to have a separate NTFS data partition and never write into the Windows system partition.

WARNING for Windows 8 Dual-Booters
http://ubuntuforums.org/showthread.php?t=1953674
It defaults shutdown to a hybrid hibernation/off state for fast boot
http://www.kapilarya.com/how-to-enable-disable-fast-start-up-in-windows-8
But then files may be corrupted similar to Windows 7 Hibernation:
http://ubuntu-with-wubi.blogspot.ca/2012/09/windows-8-fast-start-and-hybrid-sleep.html
http://superuser.com/questions/144720/missing-files-when-windows-7-returns-from-hibernate-w-dual-boot
Sorry my mistake on the colour of the splash screen.

I'm also keeping my data on a separate partition from the OS, so hopefully it will be protected from Windows shutdown behaviour.

I'm going to start visiting some windows forums to see if there are possible solution with the recovery, I'm also going to download the Intel software for the RAID setup to see if that is of any help. Will report back if I can resolve anything.

In the mean time, should I just delete the last 2 entries in Grub?

Thanks again for all the quick responses and the helpful links and hints.

Cheers

Shoryuken

shoryuken
December 27th, 2012, 03:15 PM
I've switched the title to SOLVED because I've come to realise that the issue was not the setup but rather it was me.

In order to get into Windows Recovery, I had to hit F9 before GRUB appeared. My mistake was to wait for GRUB to appear, select one of the 2 working Windows options (Windows UEFI loader or Windows Boot UEFI bootx64.efi.bkp) and by that time I was past the possibility to get into Windows recovery system.

Late last night after more reading I thought about trying to hit F8 or F9 before GRUB to see what happens and it worked. Thanks oldfred for your help and your patience and thanks to the developer of Boot-Repair (YannBuntu).

Now I'm off to figuring out the difference between Windows UEFI loader and Windows Boot UEFI bootx64.efi.bkp :)

Cheers

Shoryuken

oldfred
December 27th, 2012, 03:44 PM
Glad you figured that out. I did not know that would work.

Yann has posted what Boot-Repair does. He is backing up and renaming files to get systems to work. His uninstall system will rename back to old names if totally uninstalling.
How Boot-Repair works with UEFI systems - post 687 Dec 15, 2012
http://ubuntuforums.org/showthread.php?t=1769482&page=69