[Bug 963840] New: os-prober partly assigns wrong UUID
http://bugzilla.opensuse.org/show_bug.cgi?id=963840 Bug ID: 963840 Summary: os-prober partly assigns wrong UUID Classification: openSUSE Product: openSUSE Distribution Version: Leap 42.1 Hardware: x86-64 OS: openSUSE 42.1 Status: NEW Severity: Normal Priority: P5 - None Component: Other Assignee: bnc-team-screening@forge.provo.novell.com Reporter: wodenhof@daad-alumni.de QA Contact: qa-bugs@suse.de Found By: --- Blocker: --- I rsync'ed Mint Rafaela from /dev/sdb6 to /dev/sda5 (have to re-organize my disks). I edited /etc/fstab to reflect the new situation in the /dev/sda5 partition, i.e. I told it about the new "/". Then I ran leap 42.1's os-prober via grub2-mkconfig -o /boot/grub2/grub.cfg. This is an excerpt of the result: ... ### BEGIN /etc/grub.d/30_os-prober ### menuentry 'Linux Mint 17.2 Rafaela (17.2) (on /dev/sda5)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-82e41fb7-7de1-4cbb-a506-60a3f71bf09b' { insmod part_msdos insmod ext2 set root='hd0,msdos5' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 --hint='hd0,msdos5' 82e41fb7-7de1-4cbb-a506-60a3f71bf09b else search --no-floppy --fs-uuid --set=root 82e41fb7-7de1-4cbb-a506-60a3f71bf09b fi linux /boot/vmlinuz-3.13.0-24-generic root=UUID=55afef35-cf0b-43b9-b5d3-d40dd755f754 ro quiet splash $vt_handoff initrd /boot/initrd.img-3.13.0-24-generic } Note the second to last line with ...root=UUID=55afef35-cf0b-43b9-b5d3-d40dd755f754. This is not the UUID of 82e41fb7-7de1-4cbb-a506-60a3f71bf09b of /dev/sda5 but of the old /dev/sdb6. I edited /boot/grub2/grub.cfg by hand to the necessary UUID and it works. But os-prober seems to behave funny here... -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=963840
http://bugzilla.opensuse.org/show_bug.cgi?id=963840#c1
--- Comment #1 from Matthias Schünemann
http://bugzilla.opensuse.org/show_bug.cgi?id=963840
http://bugzilla.opensuse.org/show_bug.cgi?id=963840#c2
Michael Chang
http://bugzilla.opensuse.org/show_bug.cgi?id=963840
http://bugzilla.opensuse.org/show_bug.cgi?id=963840#c3
--- Comment #3 from Matthias Schünemann
You need to edit your /boot/grub2/grub.cfg in your new /dev/sda5 for the new fs uuid,
Just to make sure, I did it (running grub2-mkconfig, I mean. I had edited the grub.cfg long since, I need the system). Doesn't work. As far as I understand grub, it _can't_ work. grub2-mkconfig doesn't read it's own output from the last run, now, does it?
... Then os-prober should find correct uuid from it.
Regrettably no. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=963840
http://bugzilla.opensuse.org/show_bug.cgi?id=963840#c4
--- Comment #4 from Michael Chang
(In reply to Michael Chang from comment #2)
You need to edit your /boot/grub2/grub.cfg in your new /dev/sda5 for the new fs uuid,
Just to make sure, I did it (running grub2-mkconfig, I mean. I had edited the grub.cfg long since, I need the system).
Doesn't work. As far as I understand grub, it _can't_ work. grub2-mkconfig doesn't read it's own output from the last run, now, does it?
Sorry, but I didn't follow your question well, so my answer would not be for it (but I'll try still..). It's os-prober issue and we are not talking grub2-mkconfig. The os-prober is called to probe foreign partition and will delegate parsing grub.cfg of that partition by linux-boot-prober to get kernel command line options. In your case please check grub.cfg in /dev/sda5 (Linux Mint) did really contain the correct root=UUID=..., otherwise linux-boot-prober will just pass anything in it to your master grub.cfg (your Leap 42.1). Or you could just attach it here then we could have a look.
... Then os-prober should find correct uuid from it.
Regrettably no.
Please also attach output of ts=`date "+%Y-%m-%d %H:%M:%S"`; grub2-mkconfig; journalctl --since="$ts" --no-pager Thanks. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=963840
http://bugzilla.opensuse.org/show_bug.cgi?id=963840#c5
--- Comment #5 from Matthias Schünemann
... It's os-prober issue and we are not talking grub2-mkconfig. The os-prober is called to probe foreign partition and will delegate parsing grub.cfg of that partition by linux-boot-prober to get kernel command line options.
In your case please check grub.cfg in /dev/sda5 (Linux Mint) did really contain the correct root=UUID=..., otherwise linux-boot-prober will just pass anything in it to your master grub.cfg (your Leap 42.1).
Ahhh. Bullseye. Case resolved. I changed grub.cfg in /dev/sda5 and grub2-mkconfig / os-prober in openSUSE works as expected. BUT: What would have happened if I'd installed mint with no grub? (Currently mint's grub is residing redundantly in /dev/sda5 -- not in the MBR, but neither is required, AFAIR).
ts=`date "+%Y-%m-%d %H:%M:%S"`; grub2-mkconfig; journalctl --since="$ts" --no-pager
Not necessary any more (and the output is huge...).
Thanks.
From my part as well. Learned a lot :-).
-- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com