You are not logged in.
Successfully installed Win10 and Archlinux in UEFI/GPT mode. Didn't add Win10 in Grub's menuentry. After rebooting my pc boots Win10. Nevertheless, I'm able to boot in GRUB command menu (grub>), if I press F9 during HP logo period. From that point I don't know exactly what to do. And I have some questions:
1. Why does my Grub shows me command menu, i.e grub> instead of booting further to Arch? (since I didn't add Win10 in menuentry for now)
2. How to make Grub boot before Win10 without hitting F9 and how to make show me actual choices to boot instead of grub>?
Probably I could follow this advise from askubuntu, but I doubt it would work due to the issue mentioned in comments.
Possible useful info/output:
Location of .efi files:
(hd0,gpt2)/efi/Microsoft/Boot/bootmgfw.efi
(hd0,gpt2)/efi/grub/grubx64.efi
(hd0,gpt2)/grub/grub.cfg
Output of lsblk:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 403M 1 loop
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 450M 0 part
├─sda2 8:2 0 100M 0 part /boot
├─sda3 8:3 0 16M 0 part
├─sda4 8:4 0 67.8G 0 part
├─sda5 8:5 0 78.1G 0 part
└─sda6 8:6 0 92G 0 part /
sdb 8:16 1 14.7G 0 disk
└─sdb1 8:17 1 14.7G 0 part
sr0 11:0 1 1024M 0 rom
sdb is just my usb. EFI partition is /dev/sda2. Arch installed on /dev/sda6
Output 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 ###
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,gpt6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 504b863d-5a4c-472e-8bae-5401ff4d8912
else
search --no-floppy --fs-uuid --set=root 504b863d-5a4c-472e-8bae-5401ff4d8912
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_linux ###
### 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 ###
Output of efibootmgr -v:
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 2001,0003,3003,0002,2002,2004
Boot0000* USB Hard Drive (UEFI) - JetFlashTranscend 16GB PciRoot(0x0)/Pci(0x14,0x0)/USB(1,0)/HD(1,GPT,5929044e-c800-4a7f-8d5b-cc75d2e550ca,0x800,0x1d6f7df)RC
Boot0002* grub HD(2,GPT,760b251d-7ea1-4167-ae92-20a5d3fbf7fa,0xe1800,0x32000)/File(\EFI\grub\grubx64.efi)
Boot0003* Windows Boot Manager HD(2,GPT,760b251d-7ea1-4167-ae92-20a5d3fbf7fa,0xe1800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...M................
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot3003* Internal Hard Disk or Solid State Disk RC
Last edited by stiler1st (2017-08-08 09:57:31)
Offline
1. Why does my Grub shows me command menu, i.e grub> instead of booting further to Arch? (since I didn't add Win10 in menuentry for now)
The posted grub.cfg is empty and does not contain any menu entries at all.
Please provide the exact commands used to install the GRUB bootloader to the disk and configure the bootloader.
Please also list the commands used to mount your partitions and install the system — for example, were you (arch-)chrooted onto the system when you attempted to configure GRUB? It is easy to direct the output to the wrong location.
2. How to make Grub boot before Win10 without hitting F9 and how to make show me actual choices to boot instead of grub>?
Use `efibootmgr -o 2,3`, that should work.
If your UEFI firmware is uncooperative then try https://wiki.archlinux.org/index.php/Un … boot_order
The options in your linked thread may also work for you but I found that over-writing $ESP/EFI/Microsoft/Boot/bootmgfw.efi would cause my Windows 10 system to fail to upgrade properly (this was for the pre-release version, it may have changed since then).
Jin, Jîyan, Azadî
Offline
Please provide the exact commands used to install the GRUB bootloader to the disk and configure the bootloader.
Well, I can't remember properly, but something like this:
# pacman -S grub efibootmgr
# mount /dev/sda2 /boot
# grub-install --target=x86_64 --efi-directory=/boot --bootloader-id=grub
# grub-mkconfig -o /boot/grub/grub.cfg
# pacman -S intel-ucode
# grub-mkconfig -o /boot/grub/grub.cfg
There's a chance I made something different, but not sure about it.
Please also list the commands used to mount your partitions......
Mounted and arch-chrooted with following:
# mount /dev/sda6 /mnt
# mount /dev/sda2 /mnt/boot
# arch-chroot /mnt
and install the system - ....
Installed with (if that what you mean):
# pacstrap /mnt base
But that was before I arch-chrooted just as guide says...
for example, were you (arch-)chrooted onto the system when you attempted to configure GRUB? It is easy to direct the output to the wrong location.
Well, can't remember ;( It's more likely that I was, why would I exit it...
2. How to make Grub boot before Win10 without hitting F9 and how to make show me actual choices to boot instead of grub>?
Use `efibootmgr -o 2,3`, that should work.
I tried. It seems that it changes BootOrder as I observe it using `efibootmgr -v`, but after rebooting my pc reboots a 2-3 times (at least it seems so) and then it boots Win10 again ;(
If your UEFI firmware is uncooperative then try https://wiki.archlinux.org/index.php/Un … boot_order
The only left thing that I didn't try from there is:
# bcdedit /set "{bootmgr}" path "\EFI\path\to\app.efi"
Can you please tell me how should I proceed from there, when I'll (probably) get in grub> menu? i.e. add ArchLinux and Win10 to menuentries.
Also, I noticed that my BIOS driver is from 2016 and a new one from 2017 is available. Should I try to update it or it's better to stick to the variant above with bcdedit? Will updating bios driver corrupt something in my arch or grub installations? Is it safe thing to do? Thanks.
Offline
Well, I can't remember properly, but something like this:
# pacman -S grub efibootmgr # mount /dev/sda2 /boot # grub-install --target=x86_64 --efi-directory=/boot --bootloader-id=grub ...
If this is the order that you did things, then there's a problem.
The boot partition needs to be mounted before the initial pacstrap command, as well as before installing the grub package.
Offline
Use `efibootmgr -o 2,3`, that should work.
If your UEFI firmware is uncooperative then try https://wiki.archlinux.org/index.php/Un … boot_order
Nothing from this worked ;( Windows still boots before grub (but I've managed grub to show options for arch and win10).
Offline
Nothing from this worked
Don't do that.
https://bbs.archlinux.org/viewtopic.php?id=57855
If you have a working GRUB configuration then see my reply in this post for the correct `bcdedit` incantation:
Jin, Jîyan, Azadî
Offline
If you have a working GRUB configuration then see my reply in this post for the correct `bcdedit` incantation:
https://bbs.archlinux.org/viewtopic.php … 8#p1728628
Executed command like this (didn't help, still gets overwritten on a startup):
bcdedit /set {bootmgr} path \EFI\grub\grubx64.efi
Btw, my grubx64.efi file is located at \efi\grub\grubx64.efi, I guess that lower/upper case letters change nothing?
Last edited by stiler1st (2017-08-07 20:45:37)
Offline
Btw, my grubx64.efi file is located at \efi\grub\grubx64.efi, I guess that lower/upper case letters change nothing?
It's a FAT32 filesystem, case is irrelevant.
Offline
Executed command like this (didn't help, still gets overwritten on a startup)
Did you issue the command with Administrator privileges?
Please post the full output of `bcdedit` (no arguments) after running the command again.
The command does not alter the NVRAM entries, it just chainloads bootmgfw.efi to grubx64.efi
Jin, Jîyan, Azadî
Offline
Did you issue the command with Administrator privileges?
Yes.
Please post the full output of `bcdedit` (no arguments) after running the command again.
After executing this command (before reboot):
http://imgur.com/RTV1P7l
P.S. sorry for image, text formatting of this output goes crazy ;(
Last edited by stiler1st (2017-08-08 09:49:46)
Offline
Oh dear, your motherboard firmware really doesn't work at all (bootmgfw.efi isn't even in the UEFI standard).
I think the only option left is to copy grubx64.efi to bootmgfw.efi and place the original Windows file in a different location (but still on the EFI system partition) then create a custom GRUB entry (using /etc/grub.d/40_custom) to chainload that:
menuentry 'Windows...' {
set root=(hd0,2)
chainloader /new/path/to/bootmgfw.efi
}
It would be useful if you could report back if this cause problems with Windows updates in future.
text formatting of this output goes crazy
Probably best to replace the image with a link.
Jin, Jîyan, Azadî
Offline
I think the only option left is to copy grubx64.efi to bootmgfw.efi and place the original Windows file in a different location (but still on the EFI system partition) then create a custom GRUB entry (using /etc/grub.d/40_custom) to chainload that:
menuentry 'Windows...' { set root=(hd0,2) chainloader /new/path/to/bootmgfw.efi }
It worked.
It would be useful if you could report back if this cause problems with Windows updates in future.
I will, thanks.
Btw, should I be aware about any extra consequences of this hack? Like, can updating of grub, kernel, bios, drivers, etc. break something due to this hack? Because, if it causes extra pain like blocking Windows10 updating then I'll probably switch back to "press F9 before startup" model ;) Anyway, I'll report if something of this happens. Thank you.
Offline
should I be aware about any extra consequences of this hack? Like, can updating of grub, kernel, bios, drivers, etc. break something due to this hack?
Well, updating your BIOS firmware can't really make things any worse and it may actually cause your motherboard to start following the UEFI specification and load BOOTX64.EFI automatically.
Updating GRUB or the kernel should not affect your booting process.
I used the same hack myself for a while and the only problem was the Windows stopped being able to update itself properly — it would go through the (hours-long) rigmarole of finding, downloading and installing the updates but it would then report that the update had failed after rebooting. This was the pre-release version though, perhaps Windows is more robust now.
Last edited by Head_on_a_Stick (2017-08-08 20:04:15)
Jin, Jîyan, Azadî
Offline
perhaps Windows is more robust now.
Last edited by ewaller (2017-08-08 20:30:06)
Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
The shortest way to ruin a country is to give power to demagogues.— Dionysius of Halicarnassus
---
How to Ask Questions the Smart Way
Offline