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

162 commits

Author SHA1 Message Date
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
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
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
c8078b0119
[misc] fix Coverity warnings
* Also re-instate the _coverity.cmd script and try to fix AppVeyor Coverity uploads
2020-06-19 10:53:40 +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
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
56e87429d7
[misc] fix MinGW/gcc 10.x multiple definition errors 2020-05-18 21:25:44 +01:00
Derek Foreman
8a59238022
[core] don't leak logical handle from GetDriveLabel()
* Closes #1525
2020-04-28 17:47:26 +01:00
Pete Batard
70fb34549b
[misc] fix a VS2019 analysis warning
* Also fix minor whitespace issues.
2020-04-11 15:02:08 +01:00
Pete Batard
2442aaf76f
[dev] improve FIXED vs REMOVABLE detection for drives with unmounted partitions
* And add an exception for a reported flash drive
* Also fix a couple warnings in msapi_utf8.h and net.c
2020-04-10 13:16:57 +01:00
Pete Batard
e0bc2e5ffd
[core] fix reporting of unpartitioned drives
* Also add an extra note to the protective GPT MBR
2020-02-20 11:58:03 +00:00
Pete Batard
88be86d3d4
[core] improve reporting of partition types
* Add GPT partition types and improve MBR partition type handling
2020-02-06 18:23:19 +00: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
4c816a519e
[misc] update license URLs and align ms-sys's write_data buffer to 4K
* Also remove some obsolete TODOs
2019-09-06 11:32:37 +01:00
Pete Batard
94e2015edf
[core] use offset rather than index to identify a partition
* Also fix potential bcdboot invocation failure by introducing a new AltGetLogicalName() call.
* Also use the AltMount calls for ext# formatting
2019-08-18 14:13:09 +01:00
Pete Batard
936bd9beb0
[core] revert to having the ESP as the last partition
* This is to avoid Microsoft's appalling refresh of the partition layout,
  which can result in partitions not being assigned a volume GUID.
* Mostly reverts a change that was applied in 1c39a80d72.
* Also add some more enum output and bail if we can't get a logical drive.
* Closes #1351
2019-08-13 09:14:13 +01:00
Pete Batard
f95aa94c57
[core] prevent the enumeration of Windows 10 19H1 sandbox VHDs
* The new 19H1 Windows Sandbox feature relies on VHDs labelled 'PortableBaseLayer' → Don't list those
2019-07-15 12:35:22 +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
5ae6e4f494
[ext2fs] improve error reporting
* Also clean up VDS error messages
2019-05-02 15:41:42 +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
Pete Batard
0ad3f8c1d3
[ext2fs] integrate ext3 formatting into UI operations
* Add display of persistence controls on relevant images
* Add progress on ext3 formatting and improve error reporting
* Also improve MountVolume() and fix some Coverity warnings
2019-04-16 20:44:13 +01:00
Pete Batard
ccf0f1bf3c
[ext2fs] add journal support for ext3 formatting
* Also clean up code, handle errors and fix issues
2019-04-15 17:04:39 +01:00
Pete Batard
9610e3a63b
[misc] refactor some global variables' names so we can reinstate -Wshadow
* Also remove no longer used _coverity.cmd and update .gitignore
2019-04-13 15:29:27 +01:00
Pete Batard
cda716c1ff
[ext2fs] initial ext2fs support 2019-04-12 21:32:40 +01:00
Pete Batard
06b33f94e4
[core] alter the drive letter we use when Windows has already remounted it
* Our code should be flexible enough to do just that and this will also
  alleviate requiring end users to retry an operation.
2019-04-08 16:29:17 +01:00
Pete Batard
f98c243eb8
[iso] fix crash when opening Windows ISOs
* Closes #1268
* Issue was introduced in 521034da99 and has
  to do with VS2017's handling of static strings in RELEASE mode.
  Fix is to use a static char array instead.
* Also fix MinGw build warnings and increase process search timeout
2019-01-31 13:50:03 +00:00
Pete Batard
befe2606cf
[misc] use %S to print wchar_t strings where possible
* Also fix some Coverity warnings
2019-01-03 12:29:28 +00:00
Pete Batard
c0526b3e8b
[core] invoke VDS to delete all partitions before format/write 2018-11-28 10:50:00 +00:00
Pete Batard
04a5793ee7
[misc] use compilation flag to undefine NDEBUG for assert 2018-11-21 17:45:18 +00:00
Pete Batard
15806de646
[ui] display a notice about Secure Boot when UEFI:NTFS is applied 2018-11-20 12:33:12 +00:00
Pete Batard
790b188b3d [ui] fix disabling of Quick Format checkbox
* Closes #1211
* Also fix MBR analysis report displayed each time the user changes boot selection
2018-10-03 19:14:40 +02:00
Pete Batard
71578459d7 [loc] fix spaces before full stops
* Also: "Asserts, it's not just for debug any more!"
2018-07-31 20:47:24 +01:00
Pete Batard
7c142fadbc [net] improve handling of invalid signatures
* Also make bPromptOnError an actual parameter to the download function calls
* Also prefer the use of assert() to custom assertion messages
2018-06-30 22:45:15 +01:00
Pete Batard
faebe1040f v3.1 (build 1320)
* Also update GitHub issue template for 3.0 UI
* Also increase size of the ESP to 300MB, for Windows To Go drives using GPT (See #979)
2018-06-19 12:00:28 +01:00
Pete Batard
4a8c5be9c5 [misc] fix coverity warnings in drive.c
* Also apply minor fixes to rufus.loc and _set_git_hooks.sh
2018-05-15 10:23:45 +01:00
Pete Batard
39cb35e20c [core] improve UEFI:NTFS detection
* Check the label for MBR partitions to avoid false positives (such as with Debian live)
2018-05-08 15:25:53 +01:00
Pete Batard
9545123711 [core] eliminate querying of floppy drives during enumeration 2018-04-02 14:57:39 +01:00
Pete Batard
1dbbe69a4b [ui] improve partition scheme default selection
* Also rename our variable to PartitionStyle/ps for clarity
2018-03-26 19:06:55 +01:00
Pete Batard
a44518355f [ui] UI redesign
* Better guide the user through the flow of operations
* Also follow a concept design by Fahad Al-Riyami
* Closes #117
2018-03-22 23:14:21 +00:00
Pete Batard
903ac993f2 [misc] remove no longer needed XP workarounds 2017-11-13 14:30:25 +00:00
Pete Batard
c22b378f9a [misc] display image and disk size in the log
* Also fix 2 Coverity warnings
* Also remove unneeded LFs in drive.c
2017-09-08 15:38:30 +01:00
Pete Batard
4a213c3ba0 [core] allow the use of A: and B: as drive letters and fix in-use detection for Z:
* Closes #1016
* Also expand support for Arch Linux derivatives Syslinux config files
2017-09-06 14:00:31 +01:00
Pete Batard
c82842ce2a [core] add Super Floppy Disk support 2017-08-12 15:12:00 +01:00
Pete Batard
90dc847e24 [misc] add static_strcat & static_strcpy and use static_ calls wherever possible
* Also set Rufus next to 2.17 and fix a warning
2017-08-10 19:43:52 +01:00
Pete Batard
4617ba786d [process] add a timeout for the process search
* The process search appears to be blocking on some platform, and we
  also don't want users to have to wait too long on format startup
* Also update the update check for Windows XP SSL errors
2017-07-20 17:43:38 +01:00
Pete Batard
bed889718e [core] attempt to continue if the only conflicting handles we found are for read-only
* Also clean-up the process code and update for rufus-next
2017-07-13 21:53:44 +01:00