You are not logged in.

#1 2014-04-23 20:28:24

giok13
Member
Registered: 2014-04-23
Posts: 2

[SOLVED] Can't boot back into windows

Been a while since I had to install Arch but my previous PC died so I tried installing it on my new one. When I installed it last time, there was no EUFI and it was a simple Grub installation. When I installed it, I disabled eufi from my bios to legacy grub. I installed Arch like normal but os-probe didn't seem to work. Although it detected my OS, it did not make an entry for windows in the grub, When I re-enable EUFI from bios, it just goes straight to GRUB cmd line.

Here's the output for fdisk:

Disk /dev/sda: 946.4 GiB, 1016218828800 bytes, 1984802400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: A3D81761-F777-4399-9F81-01E346CDC93F

Device           Start          End   Size Type
/dev/sda1         2048      1988607   970M BIOS boot partition
/dev/sda2      1988608      3708927   840M Windows recovery environment
/dev/sda3      3708928      4241407   260M EFI System
/dev/sda4      4241408      4503551   128M Microsoft reserved
/dev/sda5      4503552   1123987926 533.8G Microsoft basic data
/dev/sda6   1905238016   1953523711    23G Windows recovery environment
/dev/sda7   1953525168   1984798127  14.9G unknown
/dev/sda8   1123989504   1900040191 370.1G Linux filesystem
/dev/sda9   1900040192   1905238015   2.5G Linux swap

and os-prober

$ sudo os-prober
  No volume groups found
/dev/sda3:Windows 8 (loader):Windows:chain

Arch is installed on sda8/sda9 and wndows is on sda3/4/5/6. There also seems to be a seperate "boot" drive sdb that only shows up when eufi is enabled. Can anyone help me figure out how to boot into my windows partition? thanks

edit: here's 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 ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

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 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,gpt8'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  6a6f6015-3793-4978-8c19-5abd44c63aea
else
  search --no-floppy --fs-uuid --set=root 6a6f6015-3793-4978-8c19-5abd44c63aea
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_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_archlinux ###

menuentry "Arch Linux pkg-linux kernel" --class arch-linux --class arch --class gnu-linux --class gnu --class os {
    if [ x$feature_all_video_module = xy ]; then
        insmod all_video
    fi
    set gfxpayload=keep
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid  --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  6a6f6015-3793-4978-8c19-5abd44c63aea
    else
        search --no-floppy --fs-uuid  --set=root 6a6f6015-3793-4978-8c19-5abd44c63aea
    fi
    echo 'Loading Arch Linux pkg-linux kernel ...'
    linux /boot/vmlinuz-linux root=UUID=6a6f6015-3793-4978-8c19-5abd44c63aea rw  
    echo 'Loading Arch Linux pkg-linux kernel initramfs ...'
    initrd /boot/initramfs-linux.img
}


menuentry "Arch Linux pkg-linux kernel (fallback initramfs)" --class arch-linux --class arch --class gnu-linux --class gnu --class os {
    if [ x$feature_all_video_module = xy ]; then
        insmod all_video
    fi
    set gfxpayload=keep
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
        search --no-floppy --fs-uuid  --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  6a6f6015-3793-4978-8c19-5abd44c63aea
    else
        search --no-floppy --fs-uuid  --set=root 6a6f6015-3793-4978-8c19-5abd44c63aea
    fi
    echo 'Loading Arch Linux pkg-linux kernel ...'
    linux /boot/vmlinuz-linux root=UUID=6a6f6015-3793-4978-8c19-5abd44c63aea rw  
    echo 'Loading Arch Linux pkg-linux kernel fallback initramfs ...'
    initrd /boot/initramfs-linux-fallback.img
}

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

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6a6f6015-3793-4978-8c19-5abd44c63aea' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt 
	insmod ext2
	set root='hd0,gpt8'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  6a6f6015-3793-4978-8c19-5abd44c63aea
	else
	  search --no-floppy --fs-uuid --set=root 6a6f6015-3793-4978-8c19-5abd44c63aea
	fi
	echo	'Loading Linux linux ...'
	linux	/boot/vmlinuz-linux root=UUID=6a6f6015-3793-4978-8c19-5abd44c63aea rw  
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-6a6f6015-3793-4978-8c19-5abd44c63aea' {
	menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-6a6f6015-3793-4978-8c19-5abd44c63aea' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt 
		insmod ext2
		set root='hd0,gpt8'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  6a6f6015-3793-4978-8c19-5abd44c63aea
		else
		  search --no-floppy --fs-uuid --set=root 6a6f6015-3793-4978-8c19-5abd44c63aea
		fi
		echo	'Loading Linux linux ...'
		linux	/boot/vmlinuz-linux root=UUID=6a6f6015-3793-4978-8c19-5abd44c63aea rw  
		echo	'Loading initial ramdisk ...'
		initrd	/boot/initramfs-linux.img
	}
}

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

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

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### 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 ###

### BEGIN /etc/grub.d/60_memtest86+ ###
if [ "${grub_platform}" == "pc" ]; then
    menuentry "Memory Tester (memtest86+)" --class memtest86 --class gnu --class tool {
        search --fs-uuid --no-floppy --set=root --hint-bios=hd0,gpt8 --hint-efi=hd0,gpt8 --hint-baremetal=ahci0,gpt8  6a6f6015-3793-4978-8c19-5abd44c63aea
        linux16 /boot/memtest86+/memtest.bin 
    }
fi
### END /etc/grub.d/60_memtest86+ ###

Last edited by giok13 (2014-04-24 15:20:31)

Offline

#2 2014-04-24 13:26:35

dice
Member
From: Germany
Registered: 2014-02-10
Posts: 413

Re: [SOLVED] Can't boot back into windows

As you have disabled UEFI during arch installation your grub was installed in mbr mode and not EFI.
Your Windows installation is probably installed in UEFI mode.

So when you enable UEFI grub doesn't work correctly. And in legacy mode Windows won't boot.

See here for details https://wiki.archlinux.org/index.php/UEFI


I put at button on it. Yes. I wish to press it, but I'm not sure what will happen if I do.  (Gune | Titan A.E.)

Offline

#3 2014-04-24 15:19:45

giok13
Member
Registered: 2014-04-23
Posts: 2

Re: [SOLVED] Can't boot back into windows

dice wrote:

As you have disabled UEFI during arch installation your grub was installed in mbr mode and not EFI.
Your Windows installation is probably installed in UEFI mode.

So when you enable UEFI grub doesn't work correctly. And in legacy mode Windows won't boot.

See here for details https://wiki.archlinux.org/index.php/UEFI


Yea, I figured it out last night after spending hours on it. For anyone that might be having the same problem as me: Re-installed grub with os-prober and it detected windows successfully. Added the entry into grub correctly as well. But when I tried to boot into windows, it said my bcd was corrupted. Apparently when I was trying everything, I formatted the entire /boot partition so there was no way for windows to boot. After hours of trying to figure out how to restore the partition, I went into bios and re-enabled UEFI, safe boot, fast boot. It restored the /boot partition and let me get into windows. Then disabled safe boot and fast boot, booted arch live cd and installed gummiboot.

Offline

#4 2014-09-01 09:45:21

Tofeeq
Member
Registered: 2014-09-01
Posts: 24

Re: [SOLVED] Can't boot back into windows

If your windows supports MBR only and you have used cgdisk to partition in linux it wouldn't work (should use cfdisk to preserve MBR)
to get back your windows you should convert your disk back to MBR to do that

see here complete solution

-- url redacted - Trilby --

Offline

Board footer

Powered by FluxBB