If you issue drivers you should be able to see that the NTFS driver was natively loaded:Īnd if you issue map and navigate to a volume, you should find that you can access NTFS content: Run the VM (make sure it's running in 64-bit mode, else an unmodified 32-bit EFI firmware will be used!) and try to launch the embedded EFI Shell (by pressing F2 or Del until you get into the BIOS):.Copy efi64_ntfs.rom in your Virtual Machine directory.Create a new Virtual Machine, or locate an existing one.Running the modified firmware in VMWare Player Save the firmware back ( File → Save Image File) as efi64_ntfs.rom.Select Insert After and select the ntfs_圆4.ffs module we previously created. Locate the Fat module in the firmware.Launch the BIOS editing application and open the efi64.rom file you previously extracted.
Be mindful that the more recent "NE" versions of UEFITool do not allow editing of a firmware image ( issue #67), so make sure you use version 0.21.5. (UEFI BIOS Updater) 0.21.5 from here (or any UEFI BIOS editor you prefer). Simply extract this file somewhere as efi64.rom. rsrc\1042\BINRES you will find two 2MB binary resources, the second of which being the X64 UEFI firmware that is of interest to us: Extracting the VMWare UEFI firmwareĪs detailed in this blog post, if you have VMWare Player 64-bit installed, you should first navigate to C:\Program Files (x86)\VMware\VMware Workstation\圆4 and open vmware-vmx.exe in 7-zip. Note: If you want to know exactly how an ffs driver module is structure, please have a look at the readme from the FFS project.
ffs is a module that you are now able to import in your UEFI firmware. GenFfs -g "4319CBBA-0980-4245-B511-D1CEFC1FFBEA" -o ntfs_圆4.ffs -i c -i c -i ver.sec -t EFI_FV_FILETYPE_DRIVERĮither of these should result in a new ntfs_圆4.ffs module having been created in your directory. GenSec -o ver.sec -S EFI_SECTION_VERSION -n "1.0" GenSec -o c -S EFI_SECTION_USER_INTERFACE -n "Ntfs" GenSec -o c ntfs_圆4.efi -S EFI_SECTION_PE32 Or, if you want to issue the commands manually, and after having generated your own GUID, issue something like:.This will take care of everything and create a new GUID for you if you don't pass one as parameter: In the directory where you extracted the FFS files, also copy the ntfs_圆4.efi binary (a version of which can be downloaded here) and then either.7z release of FFS, which is a convenient repackaging of the EDK2's GenSec and GenFfs base tools. I also take NO RESPONSIBILITY for any damage resulting from trying to modify and reflash a modified UEFI firmware - USE THIS GUIDE AT YOUR OWN RISK!! Creating the UEFI firmware module
Note however that, if you are planning to modify an actual desktop UEFI firmware, it is possible that your firmware image is signed by the motherboard manufacturer, in which case you might not be able to reflash it. This can be useful for instance if you want to add native NTFS support to an existing UEFI firmware, so that you can boot from NTFS removable media directly.įor this example, we'll be using the NTFS 圆4 EFI driver ntfs_圆4.efi along VMWare's 圆4 UEFI firmware, which we'll then run with VMWare Player in 64-bit mode on Windows. The content of this page describes how you an add a new file system EFI driver, such as the ones produced by EfiFs, to an existing UEFI firmware image.