UEFI Boot a NTFS Drive
Solution 1:
From the Wikipedia article on UEFI:
The UEFI specification explicitly requires support for FAT32 for system partitions, and FAT12/FAT16 for removable media; specific implementations may support other file systems.
Personally I've yet to encounter any motherboard manufacturer who has implemented NTFS boot support in their UEFI modules.
Update: As mentioned in the comments below, two years after I posted the above there are now at least a few motherboards available with UEFI NTFS modules.
Solution 2:
The latest version of Rufus allows seamless UEFI boot from an NTFS partition.
If you select a Windows installation ISO, set the partition scheme to GPT partition scheme for UEFI computers
and also set the file system to NTFS
, Rufus will add everything required to allow booting NTFS partition from an UEFI system.
Outside of using Windows installation media, you can also create a "blank" NTFS bootable UEFI drive when running Rufus in advanced mode (enabled by clicking the while triangle near Format Options
) by selecting UEFI:NTFS
as the boot option. In this case, you will just have to copy an /efi/boot/bootx64.efi
or /efi/boot/bootia32.efi
on the NTFS partition for your system to boot from NTFS.
The way it works is by adding a small (256KB) FAT partition at the end of the drive that contains am EFI executable that loads a Free Software (GPLv3) NTFS EFI driver and hands over the boot to the regular EFI bootloader on NTFS partition. This allows the installation of Windows media that contain an install.wim
larger than 4GB and other stuff...
For more on this see the UEFI:NTFS project on github.
[Disclaimer: I am the author of Rufus and UEFI:NTFS]
Solution 3:
First, what reads the install.wim
file you mention? If it's read after the Windows kernel has taken control of the system, it shouldn't be necessary to put the file on the EFI System Partition (ESP), which must be FAT. Once the Windows kernel has loaded (and loaded its filesystem drivers, if they're in separate files), Windows should be able to read NTFS volumes just fine. My suspicion is that this is how it works; however, I don't know enough about the Windows installer to suggest how to point it to install.wim
on a specific partition.
OTOH, if install.wim
must be read while the EFI is still running, there may be a way to do it. The Clover EFI Tools package (available from this forum thread) includes an NTFS driver for EFI; however, I don't know the provenance of that driver, so I'm providing this pointer only reluctantly. To use it, you'd need to either load it manually from an EFI shell or use rEFInd to launch it automatically. I can't offer any specific advice on how to partition your disk or get the Windows installer to launch and recognize the files on the NTFS volume.
It's conceivable you could get it to work with another filesystem, too. rEFInd includes drivers for ReiserFS, ext2fs, ext3fs, and HFS+, all of which support over-4GiB files. The trouble, of course, is that Windows doesn't support these filesystems, so once Windows takes over, it would lose access to those files. Creating two partitions -- one with a Linux or OS X filesystem and one with NTFS -- and putting identical files on them might be a workaround.