Subject: (chain-loader) declaration will write invalid string on grub.cfg if "+1" is specified instead of an EFI file path.

From: William <[email-masked]>
Date: Wed, 6 Mar 2024 18:16:47 +0100

The current (chain-loader) declaration seems to only work properly when
booting in EFI mode[1], as that way you have to specify a file path to
chainload an operating system that's not compatible with GRUB such as
Windows, but this solution will not work properly when using "+1" for
the old MBR/msdos partition table that required bootstrapping, not a
filesystem path, as explained in GRUB's documentation[2].

I've asked about this issue on the guix-help mail list and someone
pointed out where the problem is on the source file[3], it's only a
matter of submitting a patch to fix it so it parses properly when the
(chain-loader) declaration has "+1" for bootstrapping instead of a path.

[1]: https://guix.gnu.org/manual/en/guix.html#chain-loader
[2]: https://www.gnu.org/software/grub/manual/grub/grub.html#chainloader
[3]: https://lists.gnu.org/archive/html/help-guix/2024-03/msg00032.html