[Bug 1926925] Re: os-prober doesn't detect EFI boot partitions on mdraid devices in dual boot

Brian Murray 1926925 at bugs.launchpad.net
Thu May 13 15:30:56 UTC 2021


** Tags removed: rls-ff-incoming
** Tags added: rls-ff-notfixing

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to os-prober in Ubuntu.
https://bugs.launchpad.net/bugs/1926925

Title:
  os-prober doesn't detect EFI boot partitions on mdraid devices in dual
  boot

Status in os-prober package in Ubuntu:
  New

Bug description:
  Ubuntu Version: 
  Description:    Ubuntu 20.04.2 LTS
  Release:        20.04

  Package Version:
  os-prober:
    Installed: 1.74ubuntu2
    Candidate: 1.74ubuntu2
    Version table:
   *** 1.74ubuntu2 500
          500 http://us.archive.ubuntu.com/ubuntu focal/main amd64 Packages
          100 /var/lib/dpkg/status

  
  Given the following setup:
  Given a configuration with boot partition on non bios raid drive, and Another OS with its own boot partition (such as Windows) on bios raid drive. User is desiring to chainload the other os from grub.

  What should happen:
  OS Prober detects Other OS's boot partition (such as windows) and forward the correct EFI file to grub during configuration. Grub now knows about the other OS and will show up in menu to be chainloaded.

  What happens:
  os-prober skips the mounted boot partition on the bios raid device because it gets caught by the "Is this a virtual device" check on line 32 of /usr/lib/os-probes/mounted/05efi. Grub is not configured for the other OS with a boot partition on bios raid. Grub doesn't know about the other os requiring manual configuration to add EFI files to grub.

  
  Summary:
  Due to the restrictive conditional in /usr/lib/os-probes/mounted/05efi line 32 any mdraid device such as an intel soft raid are not processed by os-prober for other OS's that support boot partitions on bios raid (such as windows). This means in dual boot scenarios where grub is not installed on the bios raid but is used to chainload an os on the bios raid, the Other OS won't be detected or present without manual configuration. As mdadm has supported assembling most bios raids for some time and is loadable as a grub module, os-prober should support probing for other OS's in this situation. While this is an edge case, it is a very easy to believe to be supported edge case and should require minimal modification to fix as intel bios raids have an easily grep-able identifier in the udevadm info output. As far as I can tell mdadm will always use the container 'MD_CONTAINER=/dev/md/imsm*' where star is the identifier number (eg. 0) which should be easily detectable and allow detection of it as a "regular" drive and not virtual. I've attached a patch for another easy way it can be done by just grepping for /dev/md*p* that could allow for different types of raids but potentially have other draw backs on very edge case setups.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/os-prober/+bug/1926925/+subscriptions



More information about the foundations-bugs mailing list