Gentoo Archives: gentoo-user

From: Tom H <tomh0665@×××××.com>
To: Gentoo User <gentoo-user@l.g.o>
Subject: Re: [gentoo-user] Grub2 boot problem
Date: Tue, 13 Feb 2018 12:56:26
Message-Id: CAOdo=SzkrfGMYPBpq2R89FNEeQiydMty+OfD=U0YtHyuqWPMYA@mail.gmail.com
In Reply to: Re: [gentoo-user] Grub2 boot problem by Magnus Johansson
On Mon, Feb 12, 2018 at 6:16 PM, Magnus Johansson <gentoo@×××.se> wrote:


>> [ I assume that "46488b259685a3b9c52b7449d592dc80" is the UUID that's >> displayed as "UUID" or "Array UUID" when you use "mdadm -D ..." or >> "mdadm -E ..." respectively ] > > Almost, mdadm says 46488b25:9685a3b9:c52b7449:d592dc80
OK; grub's mduuid has the separators removed (I assume that it makes its life simpler).
>> Does "set" in the grub shell display >> "prefix=(mduuid/46488b259685a3b9c52b7449d592dc80)/grub" and >> "root=(mduuid/46488b259685a3b9c52b7449d592dc80)"? > > Yes, I messed up the prefix=-line when retyping it.
:)
>> Does "grub-probe -t drive -d /dev/md0" output "(mduuid/...)" or >> "(md/0)" or "(md0)"? > > It ouputs "(mduuid/46488b259685a3b9c52b7449d592dc80)"
I was hoping that it wouldn't and that we could then point to a problem or a bug. I'm stumped. It's been a while since I've had to troubleshoot grub but, AFAIR, the fact that you are at the grub shell rather than the grub rescue shell means that core.img is loaded and "prefix" and "root" are set and recognized. So it's pretty weird that you have to set "root=(md/0)" in order to boot (although, if you run "ls", "(md/0)" will be listed so it's not an alien value). You could check what modules are loaded with "lsmod" (if you need to page through the list, run "set pager=1" first). I can't see how "mdraid1x" (and other disk-related modules like "biosdisk" and "diskfilter") wouldn't be listed given your "grub-install ... | grep ..." output and you're being at the grub shell. I don't know whether your "grub.cfg" is read before you reach the grub shell but you could try to edit it, delete the "search ... --set=root ..." lines, and change the "set root=(mduuid/46488b259685a3b9c52b7449d592dc80)" to "set root=(md/0)", both in the 00_header section. It would go against the general move to using UUIDs but...