Hi,

kay <kay.d...@gmail.com> (2016-03-07):
> Package: os-prober
> Version: 1.71
> 
> Also reproducible in os-prober 1.65
> 
> https://anonscm.debian.org/cgit/d-i/os-prober.git/tree/os-probes/mounted/x86/05efi#n42..n45
> 
> Disk has regular MBR table. It has Windows 7 and Ubuntu installed on
> different partitions. Os-prober doesn't detect EFI partition on MBR
> table because "udevadm info" returns "dos" partition scheme instead of
> expected "msdos".
> 
>   $ udevadm info /dev/sda1 | grep dos
>   E: ID_PART_ENTRY_SCHEME=dos
>   E: ID_PART_TABLE_TYPE=dos
> 
>   $ fdisk -lu /dev/sda | grep -B1 -A1 ef
>      Device Boot Start End Blocks Id System
>   /dev/sda1 * 2048 616447 307200 ef EFI (FAT-12/16/32)
>   /dev/sda2 616448 128134439 63758996 7 HPFS/NTFS/exFAT
> 
> Fixing conditions below resolves the issue:
> 
> - \( "$ID_PART_ENTRY_SCHEME" != gpt -a "$ID_PART_ENTRY_SCHEME" != msdos \) -o 
> \
> + \( "$ID_PART_ENTRY_SCHEME" != gpt -a "$ID_PART_ENTRY_SCHEME" != dos \) -o \
>   \( "$ID_PART_ENTRY_SCHEME" = gpt -a "$ID_PART_ENTRY_TYPE" !=
> c12a7328-f81f-11d2-ba4b-00a0c93ec93b \) -o \
> - \( "$ID_PART_ENTRY_SCHEME" = msdos -a "$ID_PART_ENTRY_TYPE" != 0xef \) ]; 
> then
> + \( "$ID_PART_ENTRY_SCHEME" = dos -a "$ID_PART_ENTRY_TYPE" != 0xef \) ]; then
> 
> Probably this bug relates to udevinfo replacement
> (https://lists.debian.org/debian-user/2010/07/msg01134.html).
> 
> P.S. Cross-posting report in ubuntu launchpad
> https://bugs.launchpad.net/ubuntu/+source/os-prober/+bug/1553678

So I've tracked this to udev in systemd.git calling blkid functions to
get the partition type, and to libblkid/src/partitions/dos.c in
util-linux.git; it doesn't seem to have been called msdos previously,
so I think the proposed change looks good.

This needs to be backported to jessie and stretch AFAICT.

Cc-ing Steve since this involves EFI though, to have another pair of
eyes go over this.


KiBi.

Attachment: signature.asc
Description: Digital signature

Reply via email to