You are not logged in.

#1 2014-08-01 23:36:38

nulld
Member
From: @newton: #
Registered: 2014-08-01
Posts: 2

Enabling UEFI after the installation [EDIT 1]

Hi!
It's day no. 2 setting up Archlinux and I found out I don't see Windows in my GRUB2.
Figured it might be because I installed the BIOS version (?) and Windows uses UEFI bootloader,
so I went on to install grub to EFI system partition. The problem was, I didn't install archlinux with UEFI (my mistake, I thought it would work)
and now I don't have /sys/firmware/efi/efivars. So no problem I booted up the USB installer again now with UEFI chrooted and installed grub2 on the EFI system partition.
No errors, but after reboot, it still loaded old GRUB. It even gives me multiple boot choices in boot screen (F12 before grub):
ubuntu (some left over), arch, windows (doesn't work, boots grub anyway), and disks (SSD and HDD) (boots grub anyway I think)..

Any tips, workarounds, etc. how to make windows bootable appreciated (doesn't have to be with uefi)..
Thanks!

EDIT 1:

I cleaned up the MBR GRUBs on both disks and ubuntu EFI bootloader (at first I thought I might be able to save boot.cfg, but realised it was actually on ubuntu root partition which is now formated sad )...

I found out that there is a bug in os-prober and it doesn't recognise /dev/sdb2 correctly as EFI system partition.
Script in /usr/lib/os-probes/mounted/05efi uses

udevadm info -q property -n "$partition"

to extract ID_PART_ENTRY_TYPE and SCHEME but udevadm info doesn't return these values. Not sure how to fix it..

But I was able to boot Windows from EFI shell! smile But it would be nice to have it in grub..

Last edited by nulld (2014-08-02 12:31:00)

Offline

#2 2014-08-02 13:55:43

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 8,776
Website

Re: Enabling UEFI after the installation [EDIT 1]

Hello nulld, welcome to Arch smile
What commands are you using to install GRUB?
What is your partition & disk structure? You say the ESP is on sdb2?
Do you have Windows on sda & Arch on sdb?
Presuming you are sharing the Windows-generated EFI system partition with Arch (and also mounting /boot to this partition), it is probably simplest to try using gummiboot (I find the setup much easier).


Jin, Jîyan, Azadî

Offline

#3 2014-08-02 14:13:04

nulld
Member
From: @newton: #
Registered: 2014-08-01
Posts: 2

Re: Enabling UEFI after the installation [EDIT 1]

Thanks,
I fixed os-prober! I replaced the code with

	partName="${partition##*/}"
	diskName="${partName%%[0-9]*}"
	# eval "$(udevinfo -q property -n "$partition" | grep -E '^ID_PART_ENTRY_(TYPE|SCHEME)=')"
	eval "$(udevadm test "/block/$diskName/$partName" 2>&1 | grep -E '^ID_PART_ENTRY_(TYPE|SCHEME)=')"

And now the vars get properly set, and os-prober recognises Windows 8. But grub-mkconfig fails anyway see:

I used

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug

and it correctly created /boot/efi/EFI/grub directory etc. /boot/efi is /dev/sdb2 the EFI system partition. Yes it's shared with windows.
Then

# grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initramfs image: /boot/initramfs-linux-fallback.img
  No volume groups found
Found /dev/sdb2@/EFI/Running in /boot/efi/EFI on /dev/sdb2@/EFI/Running^in^/boot/efi/EFI
/dev/sdb2@/EFI/Running in /boot/efi/EFI is not yet supported by grub-mkconfig.
/usr/bin/grub-probe: error: cannot find a GRUB drive for WINDOWS^8^FOUND.  Check your device.map.

And that fails now..

I will  try some other bootloader, but have no time today left, so tomorrow. Thanks anyway! smile

Offline

Board footer

Powered by FluxBB