I have found an EFI loader that can boot WinXP in EFI mode but works only in VMware Workstation (tested on VM8) or Oracle VM VirtualBox (tested on 5.2.18). The system does not load on the X220. This is how the ntbtlog.txt file looks when booting in EFI mode:
Spoiler
Service Pack 2 9 24 2018 08:32:42.109 Loaded driver \SystemRoot\system32\ntoskrnl.exe Loaded driver \SystemRoot\system32\hal.dll Loaded driver \SystemRoot\system32\kdcom.dll Loaded driver \SystemRoot\system32\BOOTVID.dll Loaded driver \SystemRoot\System32\Drivers\sptd.sys Loaded driver \SystemRoot\System32\Drivers\WMILIB.SYS Loaded driver \SystemRoot\System32\Drivers\SCSIPORT.SYS Loaded driver \SystemRoot\system32\DRIVERS\ACPI.sys Loaded driver \SystemRoot\system32\DRIVERS\pci.sys Loaded driver \SystemRoot\system32\DRIVERS\isapnp.sys Loaded driver \SystemRoot\system32\DRIVERS\compbatt.sys Loaded driver \SystemRoot\system32\DRIVERS\BATTC.SYS Loaded driver \SystemRoot\system32\DRIVERS\pciide.sys Loaded driver \SystemRoot\system32\DRIVERS\PCIIDEX.SYS Loaded driver \SystemRoot\System32\Drivers\MountMgr.sys Loaded driver \SystemRoot\system32\DRIVERS\ftdisk.sys Loaded driver \SystemRoot\system32\DRIVERS\volsnap.sys Loaded driver \SystemRoot\system32\DRIVERS\ACPIEC.sys Loaded driver \SystemRoot\system32\DRIVERS\OPRGHDLR.SYS Loaded driver \SystemRoot\System32\Drivers\PartMgr.sys Loaded driver \SystemRoot\system32\DRIVERS\vmci.sys Loaded driver \SystemRoot\system32\drivers\vsock.sys Loaded driver \SystemRoot\system32\DRIVERS\atapi.sys Loaded driver \SystemRoot\system32\DRIVERS\wvblk64.sys Loaded driver \SystemRoot\system32\DRIVERS\disk.sys Loaded driver \SystemRoot\system32\DRIVERS\CLASSPNP.SYS Loaded driver \SystemRoot\system32\DRIVERS\fltMgr.sys Loaded driver \SystemRoot\System32\Drivers\KSecDD.sys Loaded driver \SystemRoot\System32\Drivers\Ntfs.sys Loaded driver \SystemRoot\System32\Drivers\NDIS.sys Loaded driver \SystemRoot\system32\DRIVERS\stm_tpm.sys Loaded driver \SystemRoot\System32\Drivers\Mup.sys Loaded driver \SystemRoot\system32\DRIVERS\crcdisk.sys Loaded driver \SystemRoot\system32\DRIVERS\intelppm.sys Loaded driver \SystemRoot\system32\DRIVERS\igxpmp64.sys Loaded driver \SystemRoot\system32\DRIVERS\HECIx64.sys Loaded driver \SystemRoot\system32\DRIVERS\serial.sys Loaded driver \SystemRoot\system32\DRIVERS\serenum.sys Loaded driver \SystemRoot\system32\DRIVERS\e1c51x64.sys Loaded driver \SystemRoot\system32\DRIVERS\usbehci.sys Loaded driver \SystemRoot\system32\DRIVERS\HDAudBus.sys Loaded driver \SystemRoot\system32\DRIVERS\risdxc64.sys Loaded driver \SystemRoot\system32\DRIVERS\i8042prt.sys Loaded driver \SystemRoot\System32\Drivers\wdf01000.sys Loaded driver \SystemRoot\system32\DRIVERS\SynTP.sys Loaded driver \SystemRoot\system32\DRIVERS\kbdclass.sys Loaded driver \SystemRoot\system32\DRIVERS\mouclass.sys Loaded driver \SystemRoot\system32\DRIVERS\CmBatt.sys Loaded driver \SystemRoot\system32\DRIVERS\ibmpmdrv.sys Loaded driver \SystemRoot\system32\DRIVERS\Smb_driver_Intel.sys Loaded driver \SystemRoot\System32\Drivers\als3jvp5.SYS Loaded driver \SystemRoot\system32\DRIVERS\wmiacpi.sys Loaded driver \SystemRoot\system32\DRIVERS\audstub.sys Loaded driver \SystemRoot\system32\drivers\ksthunk.sys Loaded driver \SystemRoot\system32\DRIVERS\rasl2tp.sys Loaded driver \SystemRoot\system32\DRIVERS\ndistapi.sys Loaded driver \SystemRoot\system32\DRIVERS\ndiswan.sys Loaded driver \SystemRoot\system32\DRIVERS\raspppoe.sys Loaded driver \SystemRoot\system32\DRIVERS\raspptp.sys Loaded driver \SystemRoot\system32\DRIVERS\msgpc.sys Loaded driver \SystemRoot\system32\DRIVERS\psched.sys Loaded driver \SystemRoot\system32\DRIVERS\ptilink.sys Loaded driver \SystemRoot\system32\DRIVERS\raspti.sys Loaded driver \SystemRoot\system32\DRIVERS\rdpdr.sys Loaded driver \SystemRoot\system32\DRIVERS\termdd.sys Loaded driver \SystemRoot\system32\DRIVERS\swenum.sys Loaded driver \SystemRoot\system32\DRIVERS\update.sys Loaded driver \SystemRoot\system32\DRIVERS\mssmbios.sys Loaded driver \SystemRoot\system32\DRIVERS\ew_jubusenum.sys Loaded driver \SystemRoot\system32\DRIVERS\vmnetadapter.sys Loaded driver \SystemRoot\system32\DRIVERS\cdrom.sys Loaded driver \SystemRoot\system32\DRIVERS\redbook.sys Loaded driver \SystemRoot\System32\Drivers\NDProxy.SYS Did not load driver \SystemRoot\System32\Drivers\NDProxy.SYS Loaded driver \SystemRoot\system32\DRIVERS\usbhub.sys Loaded driver \SystemRoot\system32\drivers\CHDRT64.sys Loaded driver \SystemRoot\system32\DRIVERS\IntcDAud.sys Did not load driver \SystemRoot\System32\Drivers\Fdc.SYS Did not load driver \SystemRoot\System32\Drivers\Flpydisk.SYS Did not load driver \SystemRoot\SysWow64\Drivers\i2omgmt.SYS Did not load driver \SystemRoot\SysWow64\Drivers\Changer.SYS Loaded driver \SystemRoot\System32\Drivers\Fs_Rec.SYS Loaded driver \SystemRoot\System32\Drivers\Null.SYS Loaded driver \SystemRoot\System32\Drivers\Beep.SYS Did not load driver \SystemRoot\system32\DRIVERS\kbdhid.sys Loaded driver \SystemRoot\System32\drivers\vga.sys Loaded driver \SystemRoot\System32\Drivers\mnmdd.SYS Loaded driver \SystemRoot\System32\DRIVERS\RDPCDD.sys Loaded driver \SystemRoot\System32\Drivers\Msfs.SYS Loaded driver \SystemRoot\System32\Drivers\Npfs.SYS Loaded driver \SystemRoot\system32\DRIVERS\rasacd.sys Loaded driver \SystemRoot\system32\DRIVERS\ipsec.sys Loaded driver \SystemRoot\system32\DRIVERS\tcpip.sys Loaded driver \SystemRoot\system32\DRIVERS\netbt.sys Loaded driver \SystemRoot\System32\drivers\ws2ifsl.sys Loaded driver \SystemRoot\System32\drivers\afd.sys Loaded driver \SystemRoot\system32\DRIVERS\netbios.sys Loaded driver \SystemRoot\system32\DRIVERS\wanarp.sys Loaded driver \SystemRoot\system32\DRIVERS\rdbss.sys Loaded driver \SystemRoot\system32\DRIVERS\mrxsmb.sys Did not load driver \SystemRoot\system32\DRIVERS\imapi.sys Loaded driver \SystemRoot\System32\Drivers\Fips.SYS Loaded driver \SystemRoot\System32\Drivers\tcusb.sys Loaded driver \SystemRoot\System32\Drivers\Fastfat.SYS
EFI loader (files) are from Longhorn Server 2008 x64 6001.16497. And here is the post in which the problem is described:
The main question: Why does WinXP x64 boot in a virtual machine in EFI mode and why does not it boot on a real X220 machine in EFI mode?