On Mon, Feb 12, 2018 at 6:16 PM, Magnus Johansson <gen...@rnd.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...

Reply via email to