Why does Windows 10 use a separate 100MB partition for UEFI since with UEFI it can read in the filesystem in C:\Windows\System32\winload.efi?
UEFI doesn't support NTFS. The spec calls for FAT family support. Vendors could add NTFS support, but:
- It's not really necessary, because FAT32 is completely sufficient and much less complex
- Unless all vendors agreed to add NTFS support, it wouldn't be a universally usable configuration anyway.
EFI System Partition isn't tied to any particular OS. If you're multibooting, you can store multiple bootloaders on a single partition.
In addition to gronostaj's answer there's another feature that require a separate partition: full disk encryption, aka BitLocker in Microsoft world.
From Microsoft documentation:
BitLocker Drive Encryption Partitioning Requirements
BitLocker must use a system partition that is separate from the Windows partition. The system partition:
- Must be configured as the active partition.
- Must not be encrypted or used to store user files.
- Must have at least 100 megabytes (MB) of space.
- Must have at least 50 MB of free space.
- May be shared with a recovery partition.
The unencrypted partition contains the info needed to read the encrypted partition, and the UEFI can't access this encrypted partition.