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

1860 commits

Author SHA1 Message Date
Mattiwatti
4c5adf092e
[iso] use NtCreateFile() to create files with preallocated sizes
* Implement CreatePreallocatedFile() which uses NtCreateFile() to create files with preallocated sizes.
  This is used during ISO extraction to improve performance.
* Remove now-unused preallocate_filesize which was called after CreateFileU().
* Closes #1445
2020-02-14 23:39:57 +00:00
Derek Foreman
493d818cea
[core] fix MBR/GPT sectors being zeroed more than once
* ClearMBRGPT() attempts to write WRITE_RETRIES times, even if all those times succeed.
* Instead, skip the remaining retries on success.
* Also improve code readability.
* Closes #1454
2020-02-14 02:59:14 +00:00
Pete Batard
70419d31e9
[ui] report timeout errors for logical drive access
* Also update ChangeLog
2020-02-12 17:49:29 +00:00
Pete Batard
65523bbdf9
[misc] fix 32-bit arithmetic overflow operation warnings
* Also disable C28251 annotation warning
2020-02-12 17:23:23 +00:00
Pete Batard
67d324f82b
[extfs] fix inodes not being initialized above 4 GB
* So, as it happens, when assigning the product of two 32-bit variables into a 64-bit one,
  compilers default to being *DUMB* and, against all reasonable expectations, do not perform
  that multiplication as a 64-bit operation (even when the code is compiled as x64). Wow,
  that's really great decision making by compiler designers if I ever saw some... Whoever
  decided that C developers would much rather want truncation and 32-bit overflows, instead
  of the expected *LOGICAL* behaviour of conducting arithmetic operations as 64-bit when the
  result will be assigned to a 64-bit variable, need to be condemned to a lifetime of trying
  to help elderly folks trying to conduct simple computing tasks as a punishment...
  Anyhoo, nt_write_blk()'s offset.QuadPart = block * channel->block_size + nt_data->offset
  was overflowing 32-bit as soon as block * channel->block_size went over the 4 GB mark,
  with the disastrous results one can expect. Considering that this is code we practically
  lifted verbatim from e2fsprogs, I guess e2fsprogs' NT I/O manager was never properly
  tested with anything larger than a 4 GB. Awesome!
* We fix the above by doing what unix_io.c does and setting the 32-bit read/write_blk()
  calls to be wrappers around their 64-bit counterpart (since, once you deal with a 64-bit
  block variable, the computation is conducted as 64-bit).
* Also remove a bunch of stuff we don't need from config.h
* Closes #1396
2020-02-12 16:27:32 +00:00
Pete Batard
9edd7492db
[ext2fs] improve formatting speed
* Fix use of EXT2_BLOCK_SIZE() instead of EXT2_INODE_SIZE() during inode
  initialization, that made us zero way many more blocks than was needed.
* Also disable sparse_super feature and improve block setup.
* Also explicitly use IS_POWER_OF_2 macro where required.
2020-02-11 19:22:22 +00:00
Pete Batard
35af4cbacb
[misc] move Large FAT32 and ext formatting to their own source
* Also add randomization to test images
2020-02-10 13:04:50 +00:00
David Stumph
3c9acb0d3c
[misc] use $(srcdir) in Makefiles
* Picked from #1449
2020-02-10 12:08:04 +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
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
50d119ba0b
[cmp] update Bled to latest
* This should increase the write speed when writing compressed images...
2020-02-04 12:09:47 +00:00
User
177c85c4fe
[loc] update Polish translation 2020-02-04 11:21:17 +00:00
Pete Batard
4fdb3088b8
[syslinux] update Syslinux to 6.04-pre1
* Most distros (Debian, Ubuntu) have moved to using Sylinus 6.04 even
  as it has NOT officially been released, so we want our fallback to
  work against this too.
* pre1 since the Syslinux folks advise against using pre2 or later...
* Closes #1444
2020-02-03 13:03:05 +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
b8b22ee890
[misc] update copyright year to 2020 2020-01-30 13:57:33 +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
Mr-Update
e522ef6c55
[loc] update German translation
* Closes #1426
2020-01-12 23:15:37 +00:00
Joseph mendoza
8672feeb0a
[efi] leave .efi files in efi/boot/ uncompressed on NTFS
* While compressed EFI bootloaders are not an issue for UEFI:NTFS, some UEFI firmwares
  embed an NTFS driver that doesn't support NTFS compression.
  To address that, also uncompress the EFI bootloaders on NTFS.
* Closes #1424
2020-01-11 12:33:52 +00:00
Pete Batard
5dce5fb56a
[loc] update spelling of Persian to پارسی
Closes #1420
2019-12-27 18:22:25 +01:00
Pete Batard
4f0335a4a4
[cmp] fix writing of compressed streams that don't end on sector boundary
* Closes #1422
2019-12-27 00:41:53 +01:00
Pete Batard
c1613ab7fc
[cmp] upgrade Bled to latest 2019-12-27 00:21:22 +01:00
Pete Batard
72cfb89154
[misc] fix dos_locale.c warning
* Also fix _detect-amend.sh script since Windows 1909 broke wmic for me
2019-11-25 17:39:56 +00:00
ichikuma7
df60eabd5f
[misc] Readme improvements
* Closes #1412
2019-11-19 20:31:11 +00:00
Pete Batard
fa8be68c54
[misc] display Windows Update Build Revision (UBR) when available
Yet another link in the long chain of Microsoft making it UNFATHOMABLY DIFFICULT
to figure out what version of Windows an application is actually running on...
2019-11-14 22:43:24 +00:00
Pete Batard
80a2bce5b3
[misc] mention that ext and persistence support should still be viewed as EXPERIMENTAL
* This is in relation to #1396
* Also fix a small typo
2019-11-09 13:38:30 +00:00
Pete Batard
7ec7331200
[net] fix a small memory leak in the update check
* A 257-byte signature buffer was not being freed if check for BETAs was enabled.
2019-10-24 13:05:07 +01:00
Pete Batard
8719412667
[iso] leave bootmgr and bootmgr.efi uncompressed on compressed NTFS
* When using compressed NTFS, having a compressed bootmgr prevents BIOS boot, so we
  now call `compress -u` where needed to leave the relevant bootmgr files uncompressed.
* Closes #1381
* Also fix a minor warning in ext2fs
2019-10-22 17:17:07 +01:00
TotalCaesar659
91e4f9ade3
[misc] update FreeDOS URL to HTTPS
* Closes #1383
2019-10-16 23:32:00 +01:00
Pete Batard
1b02181f74
[ui] fix percent not being displayed on slow format 2019-09-21 22:39:00 +01:00
Pete Batard
996d4254b3
[misc] fix a typo and set rufus-next to 3.9 2019-09-17 18:49:49 +02:00
Pete Batard
2c1ee95dfb
v3.8 (build 1580)
* This is a bugfix release to address #1374 and #1375
2019-09-16 19:37:09 +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
0a24940c85
[iso] fix detection of 'txt.cfg' as a main Syslinux config file
* While we need to detect that 'txt.cfg' is a Syslinux config file, so that
  we can alter it for persistence, it should never be used as a main config
  file, such as the one we link to when we create /syslinux.cfg.
* Closes #1375
2019-09-12 13:18:29 +01:00
Pete Batard
9bd6c31dea
[internal] add automatic copy of ARM and appx binaries to root dir
* Also update some application URLs and set rufus-next to 3.8
2019-09-11 13:45:09 +01:00
Pete Batard
b91a46ea83
v3.7 (build 1576) 2019-09-09 11:58:32 +01:00
Pete Batard
38ba8d366c
[ui] use GNU wget's algorithms for rate/ETA display 2019-09-07 12:12:28 +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
ImgBotApp
e3970ba707
[imgbot] optimize images
* Closes #1371
* /res/icons/rufus-512.png -- 145.04kb -> 142.63kb (1.67%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2019-08-29 18:09:29 +01:00
Pete Batard
b251930608
[iso] fix case sensitive comparison when preventing 'ldlinux.sys' overwrite
* Because we install our own ldlinux.sys, we must ensure that if the ISO contains
  an ldlinux.sys in the root directory, this file is not copied over. However, our
  comparison for the 'ldlinux.sys' string was case sensitive which means that some
  ISOs such as R-Drive Image boot ISO, that use 'LDLINUX.SYS' were trying write over
  our file, resulting in a file extraction failure.
* This patch ensures that the string comparison for 'ldlinux.sys' is case insensitive.
* Also add 512px sized icon (upscaled using waifu2x)
2019-08-29 18:03:18 +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
94b28390b6
[internal] update ChangeLog for BETA 2019-08-26 12:43:12 +01:00
Pete Batard
398baf23d8
[ui] fix WIM image application progress
* Use UpdateProgressWithInfo() always
* Remove cubic progress and use an estimated overhead instead
2019-08-25 14:09:28 +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
e11113f802
[ui] fix stale progress bar during standalone ext2/ext3 format
* Also rename the FormatXXX function calls
2019-08-23 16:58:36 +01:00
Pete Batard
ccbf632a7c
[internal] fix AppVeyor MinGW builds 2019-08-22 20:14:52 +01:00
Pete Batard
62dad2ef2f
[misc] update to Visual Studio 2019 2019-08-22 16:41:12 +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
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
1fa0aaf325
[iso] relax isolinux cfg file detection for persistence and force DD mode for Pop_OS 2019-08-15 21:14:30 +01:00