Sorry, forgot to post update to the list. I verified this is the case of prefix being wrong, I put grub.cfg in /boot/grub2 and now it auto boots.
But: 1) Why does a simple "normal" make it find grub.cfg on the EFI partition? 2) Why did grub2-install set prefix wrong? 3) How do I change just the $prefix? On 7 Jul 2017 19:46, "Pascal Hambourg" <[email protected]> wrote: > Le 07/07/2017 à 14:02, Gordan Bobic a écrit : > >> For completeness, here is the environment as reported at the prompt before >> I manually have to invoke the normal mode: >> > ... > >> grub> ls >> (hd0) (hd0,gpt9) (hd0,gpt2) (hd0,gpt1) >> >> grub> lsmod >> Name Ref Count Dependencies >> minicmd 1 >> ls 1 normal,extmod >> normal 3 gettext,boot,extcmd,bufio,crypto,terminal,net >> > > AFAICS, GRUB is already running in normal mode. > Otherwise, it would print the rescue prompt "grub rescue>" instead of the > normal prompt "grub>", and "set" would not print as much information. > > It looks GRUB just does not load the config file. > Instead of typing "normal", you could type "configfile $prefix/grub.cfg" > to load the config file. > > grub> set >> > ... > >> prefix=(hd0,gpt1)/ROOT@/boot/grub2 >> > ... > >> gpt2 is the EFI partition, gpt9 is a reserved partition with nothing on >> it, >> gpt1 is a ZFS root pool (but all grub requirements are on the EFI FAT >> partition gpt2). >> > > Are you sure ? It appears that $prefix points to a directory gpt1 to look > for grub.cfg and other GRUB files. > > _______________________________________________ > Help-grub mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/help-grub > _______________________________________________ Help-grub mailing list [email protected] https://lists.gnu.org/mailman/listinfo/help-grub
