The space required depends on the boot method used and what other operating systems are installed.
GRUB installs its first and second stage bootloader only, which is fairly small, and then uses its own file system drivers to load the kernel and initrd through the EFI interface for block device access. You get away with a few megabytes for that.
The systemd bootloader and Windows copy both their kernel and an initial ramdisk containing drivers into the ESP, which requires a bit of space -- how much exactly depends on the drivers included in the initial ramdisk.
Windows selects only the bare minimum drivers, analogous to selecting MODULES=dep
in initramfs.conf, so they get away with a few megabytes, but fail to boot if the hardware changes too much (e.g. when you move the harddisk from an internal SATA port to an add-on card).
Ubuntu, to my knowledge, defaults to MODULES=most
, so it copies a few megabytes of drivers into the initramfs. This is robust, but requires additional space.
Ubuntu typically keeps the last two kernel versions installed, so there needs to be enough space for two versions of the initramfs, plus one extra during upgrades (where the new one is copied to the ESP before the old one is deleted).
So:
If you use GRUB only and do not plan to (ever) switch, you get away with 10 MB.
If you dual-boot into Windows and use GRUB, Windows's default of 100 MB is good.
If you plan to use systemd-boot, leave enough space for at least three copies of the initramfs, which is around 30-40 MB at this time and will likely grow in future releases. 200 MB should be safe, typical installations use 500 MB because with modern harddisk sizes, it doesn't matter.