I carry an USB thumbdrive with me. It contains a data partition, an Ubuntu Linux installation and an EFI System Partition. It uses a hybrid MBR so I can boot from it on modern EFI-only and legacy BIOS systems. In both partition tables, the same partitions are defined. I use this utility thumbdrive as a tool and it came in handy many times.
Occasionally, I also use the data partition simply to store files. Unfortunately, I recently ran into problems regarding compatibility with newer versions Windows. On Windows 7 and older, everything works fine. On Windows 8 and Windows 10, the drive is recognized by the system, shows up properly in Windows Disk Management, but it cannot be mounted. If I try to assign a drive letter, Windows shows the error "The system cannot find the file specified".
Is Windows 8 and onwards incompatible with hybrid MBR? Is there a trick I need to do in order to make my thumbdrive work with newer versions of Windows? Is this a known issue or a problem with my particular setup?
Please note the difference to other questions here at SU: I do not desire to install Windows on a disk with hybrid MBR, I only want to mount a partition from a removable disk with hybrid MBR.
EDIT: More information about the partition scheme I use.
► Information as presented by gdisk:
GPT:
Disk /dev/sdc: 124822487 sectors, 59.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 3D561713-2A88-4C74-B924-990DF55B667B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 124822453
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 107632639 51.3 GiB 0700 Microsoft basic data
2 107632640 124411903 8.0 GiB 8300 Linux filesystem
3 124411904 124822453 200.5 MiB EF00 EFI System
MBR:
Disk size is 124822487 sectors (59.5 GiB)
MBR disk identifier: 0x00000000
MBR partitions:
Number Boot Start Sector End Sector Status Code
1 2048 107632639 primary 0x07
2 107632640 124411903 primary 0x83
3 124411904 124822453 primary 0xEF
► Screenshots illustrating the problem in Windows 8.
Sorry for german localization.
Trying to assign a drive letter with diskpart, diskpart states more information regarding the error is to be found in the system logs. Unfortunately, I cannot find a single relevant entry.
► Output of diskpart's list partition:
Partition ### Typ Größe Offset
------------- ---------------- ------- -------
Partition 1 Primär 51 GB 1024 KB
Partition 0 Primär 8 GB 51 GB
Partition 0 Primär 200 MB 59 GB
As you can see, there is something weird going on here. But how can I stop that? And why does it work with Windows 7? It looks like Windows does not treat any of the partitions as a volume.
EDIT: More information as requested.
► Output of udisks-part-id /dev/sdc:
using device_file=/dev/sdc syspath=/sys/devices/(...)/block/sdc, offset=0 ao=0 and number=0 for /dev/sdc
Entering MS-DOS parser (offset=0, size=63909113344)
MSDOS_MAGIC found
looking at part 0 (offset 1048576, size 55106863104, type 0x07)
new part entry
looking at part 1 (offset 55107911680, size 8590983168, type 0x83)
new part entry
looking at part 2 (offset 63698894848, size 210201600, type 0xef)
new part entry
looking at part 3 (offset 0, size 0, type 0x00)
new part entry
Exiting MS-DOS parser
MSDOS partition table detected
UDISKS_PARTITION_TABLE=1
UDISKS_PARTITION_TABLE_SCHEME=mbr
UDISKS_PARTITION_TABLE_COUNT=3