diff --git a/res/uefi/readme.txt b/res/uefi/readme.txt index e2e05479..c31d3b35 100644 --- a/res/uefi/readme.txt +++ b/res/uefi/readme.txt @@ -1,14 +1,16 @@ This directory contains a flat image of the FAT UEFI:NTFS partition added by -Rufus for NTFS UEFI boot support. See https://github.com/pbatard/uefi-ntfs. +Rufus for NTFS and exFAT UEFI boot support. + +See https://github.com/pbatard/uefi-ntfs for more details. This image, which you can mount as FAT filesystem or open in 7-zip, contains the following data: -o The NTFS UEFI drivers from EfiFs (https://github.com/pbatard/efifs). - These are the \EFI\Rufus\ntfs_[ia32|x64|arm|aa64].efi files, which were +o The NTFS and exFAT UEFI drivers from EfiFs (https://github.com/pbatard/efifs). + These are the \EFI\Rufus\[exfat|ntfs]_[ia32|x64|arm|aa64].efi files, which were compiled unmodified from the EfiFs source (@d19363a5), using Visual Studio 2017 Community Edition (v15.8.7) using the gnu-efi submodule rather than EDK2. -o The UEFI:NTFS binaries (https://github.com/pbatard/uefi-ntfs), which were also - compiled using Visual Studio 2017 Community Edition. +o The UEFI:NTFS binaries (https://github.com/pbatard/uefi-ntfs), which were + compiled using Visual Studio 2019 Community Edition. These are the \EFI\Boot\boot[ia32|x64|arm|aa64].efi files. The FAT partition was created on Debian GNU/Linux using the following commands diff --git a/res/uefi/uefi-ntfs.img b/res/uefi/uefi-ntfs.img index 047f8738..fd526a26 100644 Binary files a/res/uefi/uefi-ntfs.img and b/res/uefi/uefi-ntfs.img differ diff --git a/src/format.c b/src/format.c index d37c9841..fd860bfc 100644 --- a/src/format.c +++ b/src/format.c @@ -2,7 +2,7 @@ * Rufus: The Reliable USB Formatting Utility * Formatting function calls * Copyright © 2007-2009 Tom Thornhill/Ridgecrop - * Copyright © 2011-2019 Pete Batard + * Copyright © 2011-2020 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -2502,8 +2502,9 @@ DWORD WINAPI FormatThread(void* param) // According to Microsoft, every GPT disk (we RUN Windows from) must have an MSR due to not having hidden sectors // http://msdn.microsoft.com/en-us/library/windows/hardware/dn640535.aspx#gpt_faq_what_disk_require_msr extra_partitions = XP_ESP | XP_MSR; - else if ( (fs_type == FS_NTFS) && ((boot_type == BT_UEFI_NTFS) || - ((boot_type == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && ((target_type == TT_UEFI) || (windows_to_go) || (allow_dual_uefi_bios)))) ) + else if ( ((fs_type == FS_NTFS) || (fs_type == FS_EXFAT)) && + ((boot_type == BT_UEFI_NTFS) || ((boot_type == BT_IMAGE) && IS_EFI_BOOTABLE(img_report) && + ((target_type == TT_UEFI) || (windows_to_go) || (allow_dual_uefi_bios)))) ) extra_partitions = XP_UEFI_NTFS; else if ((boot_type == BT_IMAGE) && !write_as_image && HAS_PERSISTENCE(img_report) && persistence_size) extra_partitions = XP_CASPER; diff --git a/src/rufus.c b/src/rufus.c index 4e000b3c..f36de72a 100755 --- a/src/rufus.c +++ b/src/rufus.c @@ -1,6 +1,6 @@ /* * Rufus: The Reliable USB Formatting Utility - * Copyright © 2011-2019 Pete Batard + * Copyright © 2011-2020 Pete Batard * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -183,6 +183,7 @@ static void SetAllowedFileSystems(void) break; case BT_UEFI_NTFS: allowed_filesystem[FS_NTFS] = TRUE; + allowed_filesystem[FS_EXFAT] = TRUE; break; } @@ -1508,7 +1509,7 @@ static DWORD WINAPI BootCheckThread(LPVOID param) uefi_target: if (boot_type == BT_UEFI_NTFS) { fs_type = (int)ComboBox_GetItemData(hFileSystem, ComboBox_GetCurSel(hFileSystem)); - if (fs_type != FS_NTFS) { + if (fs_type != FS_NTFS && fs_type != FS_EXFAT) { MessageBoxExU(hMainDialog, lmprintf(MSG_097, "UEFI:NTFS"), lmprintf(MSG_092), MB_OK|MB_ICONERROR|MB_IS_RTL, selected_langid); goto out; } diff --git a/src/rufus.rc b/src/rufus.rc index 56dc24ea..4ecf9080 100644 --- a/src/rufus.rc +++ b/src/rufus.rc @@ -33,7 +33,7 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL IDD_DIALOG DIALOGEX 12, 12, 232, 326 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES -CAPTION "Rufus 3.9.1594" +CAPTION "Rufus 3.9.1595" FONT 9, "Segoe UI Symbol", 400, 0, 0x0 BEGIN LTEXT "Drive Properties",IDS_DRIVE_PROPERTIES_TXT,8,6,53,12,NOT WS_GROUP @@ -394,8 +394,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 3,9,1594,0 - PRODUCTVERSION 3,9,1594,0 + FILEVERSION 3,9,1595,0 + PRODUCTVERSION 3,9,1595,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -413,13 +413,13 @@ BEGIN VALUE "Comments", "https://rufus.ie" VALUE "CompanyName", "Akeo Consulting" VALUE "FileDescription", "Rufus" - VALUE "FileVersion", "3.9.1594" + VALUE "FileVersion", "3.9.1595" VALUE "InternalName", "Rufus" VALUE "LegalCopyright", "© 2011-2019 Pete Batard (GPL v3)" VALUE "LegalTrademarks", "https://www.gnu.org/licenses/gpl-3.0.html" VALUE "OriginalFilename", "rufus-3.9.exe" VALUE "ProductName", "Rufus" - VALUE "ProductVersion", "3.9.1594" + VALUE "ProductVersion", "3.9.1595" END END BLOCK "VarFileInfo"