1
1
Fork 0
mirror of https://github.com/pbatard/rufus.git synced 2024-08-14 23:57:05 +00:00
Commit graph

533 commits

Author SHA1 Message Date
Pete Batard
3758f84b17
[vds] improve VDS calls
* Make sure that instantiated objects are released.
* Factorize the instantiating of disk interfaces.
* Allow the provision of an offset to delete a single partition.
* Add a ListVdsVolumes() call (which is pointless since Microsoft *CRIPPLED* its VDS implementation).
2020-10-25 13:09:32 +00:00
Pete Batard
318d5ed16d
[iso] fix "ISO has not been properly scanned" error for some ISOs
* Make sure that if we skip a deep directory during scan, we count at
  least one block of data.
* Also produce a note about deep directory long scan times and improve
  the formatting of some messages.
2020-10-12 19:33:54 +01:00
Pete Batard
e6ac3782fe
[ext2fs] set a minimum ext partition size of 256 MB
* Not gonna bother with computing the effective minimum size so 256 MB will have to do.
* Closes #1576
2020-10-02 13:58:15 +01:00
Pete Batard
68a5a26956
[core] fix FAT32 not proposed for Win ISOs with <4 GB install.wim 2020-09-23 16:06:15 +02:00
Pete Batard
1bb2b3b126
[syslinux] disable MBR install for images using SysLinux 4.x with a >4 GB file
* The presence of a > 4 GB file forces the use of NTFS which is incompatible with
  SysLinux 4.x or earlier. As such, if an image uses SysLinux only, there's no
  point in enabling MBR as SysLinux won't boot.
* Required for ISOs such as securityonion-2.0.1-rc1.iso.
2020-09-15 21:02:08 +01:00
Pete Batard
b3caf638b6
[misc] miscellaneous code cleanup and fixes
* Don't use hDrive handle for longer than necessary
* Move all the popcount() function calls into missing.h
* Ensure that the thread_affinity[] array is properly sized
* Improve timeouts for conflicting process search
2020-09-09 17:00:39 +01:00
Pete Batard
3f0d574657
[misc] improve ToggleEsp() call to take an offset
* Also fix a MinGW warning
2020-08-15 14:58:55 +01:00
Pete Batard
ba406843f4
[core] work around a Windows bug where GetVolumePathNamesForVolumeName() can return the wrong drive letter
* A user is reporting that, on one of their platforms, Rufus is writing to the wrong target during the file-copy
  phase and using their existing Y: local drive instead of the drive associated to the USB, despite the fact
  that Rufus is passing the right volume name to GetVolumePathNamesForVolumeName().

* Here's the PowerShell wmic output, confirming that the volume GUID obtained by Rufus is the right one:

  DriveLetter : Y:
  DeviceId    : \\?\Volume{000349b1-17d0-69f6-c13f-f31162930600}\
  Capacity    : 118540464128
  FileSystem  : NTFS
  Label       : Y-DISK

  DriveLetter : H:
  DeviceId    : \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\
  Capacity    : 15791824896
  FileSystem  : FAT32
  Label       : ADATA16GB

* And here's the Rufus log demonstrating that GetVolumePathNamesForVolumeName() is returning the *WRONG* letter:

  Found volume \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\
  \\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\ is already mounted as Y: instead of H: - Will now use this target instead...

* The last line shows, without the shadow of a doubt, that we did feed "\\?\Volume{b150ff4a-d62b-11ea-86e3-f49634660e54}\" to
  GetVolumePathNamesForVolumeName() and that this API call was successful (returned a non zero size) but ultimately returned
  the wrong letter (Y: instead of H:)...

* Therefore, Windows is BUGGY and the use of GetVolumePathNamesForVolumeName() must be avoided.
2020-08-13 14:49:34 +01:00
Pete Batard
6f5ea5f88f
[efi] add RISC-V support
* Also fix Coverity warnings
2020-07-29 19:32:32 +01:00
Pete Batard
34b1d8a3ca
[core] enable the direct provision of install.wim/install.esd for Windows To Go
* Also remove the use of 'unattend.xml' to disable the recovery environment (use bcdedit instead)
* Also some code cleanup and refactoring
2020-07-19 22:35:30 +01:00
Pete Batard
4617f91e3b
[misc] introduce hImageOption and ComboBox_GetCurItemData() to simplify code
* Also add retry to ms-sys' write_sectors()
2020-07-17 21:51:15 +01:00
Pete Batard
09d2f2f0ab
[ui] add cheat mode (Alt +/-) to increase/decrease thread priority
* This *may* help improve write speeds if your system is starved for I/O
* Related to #968
2020-07-10 12:00:10 +01:00
Pete Batard
500172a7a3
[core] fix format error when trying to use old BIOS fixes with VHDs
* And other improvements
* Closes #1409
2020-07-03 15:24:37 +01:00
Pete Batard
0dc13e5283
[ui] fix missing labels for accessibility
* Closes #1467
* Also ensure that previous element is set when repositioning a
  control to preserve tabbing order
* Also fix x64 version being able to download x86 BETA
2020-07-02 22:55:01 +01:00
Pete Batard
2d6a73e4f4
[checksum] enable toggling of SHA512 (Alt-H)
* Also fix overflow digest test into message length
* Also switch log font to Consolas
* Also update version to rufus-next
2020-06-25 11:58:56 +01:00
Pete Batard
e011cc8201
[checksum] add SHA512 digest algorithm
* "Is it possible to learn this power?"
2020-06-24 14:08:24 +01:00
Pete Batard
c4ee840fb6
[misc] fix Coverity upload - Take 3
* It was a missing @ sign for --form file=
2020-06-19 13:10:41 +01:00
Pete Batard
517e417d44
[misc] fix Coverity upload - Take #2 2020-06-19 12:27:14 +01:00
Pete Batard
3a593211b9
[misc] fix Coverity upload
* Stupid PowerSell aliases "curl" to a non compatible script unless you explicitly use "curl.exe"
2020-06-19 11:25:50 +01:00
Pete Batard
94a2699640
[ui] perform ISO download feature check in a background thread 2020-06-13 13:17:35 +01:00
Pete Batard
e554d2b4e0
[misc] add Ctrl-SELECT option to provide additional content
* For now only .zip archives are supported
2020-06-10 21:25:33 +01:00
Pete Batard
c601aed054
[core] add option to write a small enough ISO to an ESP
* This is mostly aimed at Debian 11 netinst on the Raspberry Pi 4
* Only available for regular UEFI ISOs if GPT and FAT are selected (no MBR ESPs).
* Also fix a MinGW warning in GetUnusedDriveLetter()
2020-06-06 22:19:20 +01:00
Pete Batard
23057f6124
[core] add a cheat mode (Alt-P) to toggle GPT ESP to Basic Data
* Windows 10 or later *ONLY*
* Also don't report a GPT partition name if it's empty
2020-06-06 16:37:25 +01:00
Pete Batard
76d8adaaac
[misc] try to fix device dropdown not appearing on startup
* Also add '.usb' to the list of extensions we recognize by default.
2020-06-03 16:06:47 +01:00
Pete Batard
3b327bff83
[loc] flag "Deleting partitions" message as a potential lengthy operation
* Also use this update to factorize all "This may take a while" messages.
2020-06-03 16:03:20 +01:00
Pete Batard
77d319267f
[iso] add Rock Ridge deep directory support
* Closes #1526
2020-06-02 11:13:47 +01:00
Pete Batard
4bf69215bf
[iso] enable extra libcdio debugging with Alt-.
* Also fix 2 memory leaks
2020-05-12 14:13:44 +01:00
Pete Batard
077f143252
[core] add cheat mode to disable VHD listing (Alt-G) 2020-04-27 10:28:00 +01:00
Pete Batard
129aa64394
[misc] add alternative test mode
* Also fix some typos and unwanted messages
2020-04-12 23:45:09 +01:00
Tsarevich Dmitry
121257c584
[misc] fix PVS-Studio static analyzer warnings
* Surround macro params to ensure expected results
* Fix copy-paste errors
* Fix a potential buffer overflow in SetSectionHeaders()
* Add const modifier where relevant
* Use GetWindowLongPtr() everywhere
* Use proper sprintf format for unsigned int
* Use %s for printf-like funcs (https://www.viva64.com/en/w/v618/print/)
* Closes #1464
2020-02-28 17:08:11 +00:00
Pete Batard
b8579c04da
[misc] add arbitrary buffer allocation to GetResource()
* If duplicate is TRUE and len is non-zero, then a buffer of len size,
  padded with zeroes, is allocated for the resource.
2020-02-19 12:43:05 +00:00
Pete Batard
4ee90a9546
[ui] fix Quick Format being disabled when no device is plugged 2020-02-15 14:40:05 +00:00
Pete Batard
4ebed1eac2
[iso] report usage of UDF symbolic links
* These may dramatically increase the size required for extraction
  so users may want to have some hints about these.
* Closes #1446
2020-02-05 13:23:49 +00:00
Pete Batard
87a7228d38
[ui] improve error reporting for download issues
* This is part of #1444
2020-02-03 12:35:49 +00:00
Pete Batard
d1d5c2a7b6
[efi] enable the use of exFAT with UEFI:NTFS
* Only applies for blank UEFI:NTFS drives for now. UEFI:NTFS Windows drives are
  still set to use NTFS only (since Windows 7 doesn't support UEFI exFAT boot).
2020-01-30 13:51:19 +00:00
Pete Batard
1b02181f74
[ui] fix percent not being displayed on slow format 2019-09-21 22:39:00 +01:00
Pete Batard
bf8d888b21
[ext2fs] fix creation of persistent partitions for pre-1703 platforms
* Windows platforms prior to Windows 10 1703 cannot access any logical partition besides the
  first one (we don't even get a volume for those).
* This fix enables the use of physical + offset for ext# formatting to work around this,
  which is file since we don't actually need to mount the partition.
* Also fix ext2fs_open2() not handling normalized versions of Windows drive paths ("\\?\...")
* Also fix an issue where we would make the drive letter unavailable after formatting a
  standalone partition to ext#.
* Also ensure that we return an error if the drive we attempt to locate a partition on
  through an offset does not match the currently selected one.
* Also remove some unused calls in drive.c.
* Closes #1374
2019-09-14 23:33:46 +01:00
Pete Batard
798029237f
[iso] improve fallback for dual UDF+ISO9660 images
* Also add private filtering of LM90X USB⟷SSD devices
2019-08-28 11:00:32 +01:00
Pete Batard
0f6794a72b
[ui] improve handling of the Quick Format and Extended Label options
* Make sure they are always unchecked for pure DD images
* Make sure Quick Format is checked and disabled for ReFS or Large FAT32
* Also make sure Fixes for old BIOSes is disabled for pure DD images
2019-08-24 23:45:53 +01:00
Pete Batard
21351b9fbe
[misc] refactor the "operation in progress" detection
* Remove unused iso_op_in_progress and use a single op_in_progress that gets
  set when we disable the controls.
* Also fix an issue where Ctrl-L was being processed as Alt-L due yet another
  completely backwards Windows behaviour where the message that is meant to
  indicating whether Alt is pressed is also sometimes used to indicate that
  another key is being pressed if the dialog doesn't have keyboard focus...
2019-08-22 14:04:41 +01:00
Pete Batard
af95de8198
[ui] add experimental optional display of transfer speed and time remaining
* You can use <Alt> to switch modes during an operation that supports it (e.g. Checksum
  computation, DD image writing or zeroing, save to VHD, download, etc.
* IMPORTANT: This is *NOT* available for all operations. Especially, if you were hoping
  to get transfer speed or ETA during ISO or WIM extraction, you *WILL* be disappointed.
* Also harmonize the code in checksum.c
2019-08-20 18:06:07 +01:00
Pete Batard
17d4d6c6fe
[core] fix regression with checkboxes being cleared on START
* Regression was introduced with 3c1ef23ff3 and 2ff6da49f0.
* Because of it extended label and icon, fixes for old BIOSes and Rufus MBR were not applied.
* Closes #1348
2019-07-30 11:41:04 +01:00
Pete Batard
180e6d4364
[iso] disable ISO mode for incompatible Manjaro 2019-07-03 23:07:24 +01:00
Pete Batard
3c1ef23ff3
[ui] remove check box when old BIOS/Rufus MBR is disabled
* Also use ChangeWindowMessageFilterEx() instead of ChangeWindowMessageFilter()
2019-07-02 17:49:33 +01:00
Pete Batard
f6687e729b
[ui] fix unwanted persistence unit overlay
* Also fix a typo and make sure to quote more paths when invoking Fido.
2019-06-05 17:00:21 +01:00
Pete Batard
8b18d8ce1d
[core] add CycleDevice and VDS layout refresh
* Also fix some minor issues
2019-05-23 13:09:25 +01:00
Pete Batard
2ff6da49f0
[extfs] add standalone ext2/ext3 formatting
* Only enabled when Advanced format options are shown
* Also enable reading of extfs volume label
* Also improve GRUB lookup fallback
* Also fix possible truncation when sanitizing labels
* Also write a zeroed MBR when non-bootable is selected
2019-05-03 23:51:05 +01:00
Pete Batard
5f9e65707f
[core] partitioning improvements
* Improve report and make sure we zero leftovers from the start of a partition
* Also add VDS error codes
* Also fix Coverity warnings
2019-04-27 16:04:47 +01:00
Pete Batard
1c39a80d72
[core] partial overhaul of the partitioning and formatting facilities
* Add VDS formatting support (through an Alt-V cheat mode)
* Add partition index support
* Improve(?) Windows To Go support by following Microsoft recommended partition order
* Code refactoring & cleanup
2019-04-25 18:58:55 +01:00
Pete Batard
4b38483a68
[ext2fs] improve persistence partition creation's progress report
* Closes #691
2019-04-19 13:24:20 +01:00