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

917 commits

Author SHA1 Message Date
Dimitri Papadopoulos
d840083a32
[misc] fix typos found by codespell
* 3rd party software was left out.
* Most changes are in code comments, but one user-visible string has also been fixed.
* Closes #1817
2021-11-16 18:53:52 +00:00
marcellogianola
5030c1520d
[loc] fix typos in Italian translation
* Closes #1813
2021-11-16 18:48:48 +00:00
Mihai-Octavian STRĂUȚ
1de1c2a94a
[loc] update Romanian translation to latest 2021-11-13 11:41:31 +00:00
Pete Batard
ca4e009ffc
[appstore] revert to using a script to build AppStore bundle
* Having two separate Visual Studio solution files, while more convenient, was a major
  pain in the ass and it also required us to update versioning in the .appxmanifest for
  each commit.
* Also, this new AppStore build process enables us to use the GitHub Actions executables
  to further foster the complete transparency of our build process.
2021-10-27 09:47:27 +01:00
Pete Batard
d5dc8ee5e7
v3.17 (Build 1845)
* Also update README.md
2021-10-23 15:40:06 +01:00
Pete Batard
a519e3b03b
[misc] fix console hogger not being deleted on exit
* Also update hash DB and readme for latest Grub4DOS
2021-10-23 15:14:46 +01:00
marcellogianola
c516c1e38b
[loc] update Italian translation
* Fix typo and upper case to lower case
* Closes #1800
2021-10-23 13:10:44 +01:00
Pete Batard
b39e2f8615
[misc] improve GetLibraryHandle() fallback
* This is a follow up to 1c2884ceba where the error code returned by Windows 7 platforms
  that don't have KB2533623 is expected to be ERROR_INVALID_PARAMETER rather than ERROR_PROC_NOT_FOUND.
* Also update the Windows 11 'Extended' installation mode translations.
2021-10-23 13:08:13 +01:00
Pete Batard
b30e3b387a
[efi] update UEFI:NTFS to latest
* Also remove Secure Boot notice since (outside of 32-bit ARM and exFAT)
  our bootloaders and NTFS drivers are now Secure Boot signed.
2021-10-23 02:49:15 +01:00
Pete Batard
05382d8c7d
[core] ReFS improvements
* Allow 4K/64K cluster size selection
* Only enable ReFS on relevant platforms
* Also recognize a few more Windows editions
2021-10-21 02:02:17 +01:00
Pete Batard
32b083e535
[misc] improve path display for Sylinux/GRUB resources 2021-10-21 01:59:03 +01:00
Pete Batard
1c2884ceba
[misc] fallback to using LoadLibrary() when LoadLibraryEx() fails or doesn't apply
* Per 2a3e82fa96, it looks like some Windows 7 system have trouble with
  LoadLibraryEx() if they don't have KB2533623 installed (which fixes a MAJOR Windows
  vulnerability. Some people sure want to leave their system open to hackers...).
* Work around this by adding a fallback to LoadLibrary() in GetLibraryHandle()
* Also switch to using GetLibraryHandle() in dos.c and using LoadLibrary() in sections
  where we have the full path (since these calls are not vulnerable).
2021-10-18 13:15:41 +01:00
Pete Batard
d8a2c29a67
[core] fix MBR cleanup regression
* Commit 9dc045a701 introduced a regression on account that we didn't set the
  file pointer to 0 before clearing the disk.
* This leads to the MBR not being properly cleared, with the result that Windows may in turn
  produce errors when trying to repartition the disk.
* Fix this by making sure we do invoke SetFilePointerEx() before calling WriteFileWithRetry().
* Also set rufus-next to 3.17
* Also fix a MinGW warning
2021-10-17 13:35:31 +01:00
Pete Batard
0b618f3de7
[misc] misc improvements and fixes
* Remove BypassRAMCheck from Extended Windows 11 installation since the minimum
  RAM requirements for Windows 11 are 4 GB and not 8 GB as pointed out in #1791.
* Display Windows edition code when we can't resolve it.
* VS2019 wants us to have PackageOptionalProjectsInIdeBuilds enabled? So be it.
2021-10-15 13:13:36 +01:00
Pete Batard
8a09b9b9fc
v3.16 (build 1836)
* Also update French translation to latest
2021-10-13 12:22:04 +01:00
Pete Batard
56a99e6394
[misc] use application dir for storage in portable mode
* Also improve path reporting in the log.
* Also fix MinGW warnings
2021-10-11 20:11:06 +01:00
Pete Batard
9cd7adaaaa
[iso] finalize workaround for Red Hat 8 derivatives
* See #1777
2021-10-11 17:55:46 +01:00
Pete Batard
957ec183c9
[ui] improve progress report when disabling Windows 11 installation restrictions
* Also fix Image Options content being lost when switching language.
2021-10-09 16:18:45 +01:00
Pete Batard
b043db33e6
[core] add option to bypass TPM 2.0/Secure Boot/RAM requirements for Windows 11 ISOs
* If 'Extended Windows 11 Installation' mode is selected, the system registry hive of
  'sources\boot.wim' is patched to add the Setup\LabConfig registry keys that bypass
  the TPM 2.0/Secure Boot/8GB+ RAM Windows 11 system requirements.
2021-10-08 19:24:10 +01:00
Pete Batard
a10b8e8c54
[iso] add Windows ISO version report
* Use sources/compatresources.dll, when available, to try to detect the Windows ISO version and build.
* Also report what facility we use for formatting.
2021-10-08 19:24:07 +01:00
Pete Batard
e6a967c5c9
[misc] update Changelog for 3.16_BETA 2021-10-04 14:29:38 +02:00
Pete Batard
ce8aaa99f7
[core] add VDS detection and print a notice if VDS is unavailable 2021-10-04 14:29:09 +02:00
Pete Batard
c09ede16b3
[iso] add kernel options update for Red Hat derivatives
* Since version 8.2, and rhinstaller/anaconda@a766101954,
  Red Hat derivatives have changed their CD-ROM detection policy which leads to
  the installation source not being found when writing the media in ISO mode.
* Replace 'inst.stage2' by 'inst.repo' in the kernel options.
* Closes #1777 (See also rhinstaller/anaconda#rhinstaller/anaconda#3529).
* Note that this reverts part of 9c8fa40995.
2021-10-03 16:04:34 +02:00
Pete Batard
83ea7103e3
[ci] set VS2019 to produce ALPHA or BETA off release 2021-09-28 20:00:59 +01:00
Pete Batard
df8058b4f3
[core] add workaround for Windows 11's locking issue
* Windows 11 appears to be a lot more proactive in locking system partitions (ESPs, MSRs)
  than previous versions of Windows were, resulting in format or access errors.
* Try to work around these by disabling exclusive drive locking as needed.
2021-09-28 16:17:35 +01:00
Pete Batard
fba24170e1
[ci] set MinGW to produce ALPHA or BETA off release
* Also avoid tagged release duplication
2021-09-28 16:03:36 +01:00
Pete Batard
aba6c7d996
[misc] small Windows versioning improvement
* Actually define a WINDOWS_11 version and use it when Windows 11 is detected.
* Also some comment cleanup.
2021-09-28 15:39:51 +01:00
Pete Batard
d203c91403
[core] report Windows edition
* Also use build number to detect Windows Server 2019 and Windows 11
  since Microsoft are COMPLETE ASSES about their version reporting.
* Also fix a compilation warning.
2021-09-26 16:20:46 +01:00
Pete Batard
2761c72187
[parser] fix unwanted removal of lines that don't match a token
* In replace_in_token_data() when looking for lines starting with a specific
  token but finding lines containing a larger version of the token (e.g. looking
  for 'linux' but finding 'linux16') we would forget to output the non matching
  line as we rejected it.
* This produced issues such as the one described at:
  https://ubuntuforums.org/showthread.php?t=2465291&page=10&p=14052629#post14052629
* Fix this by ensuring that we always output the lines that we reject.
2021-09-20 16:11:47 +01:00
Pete Batard
deee38d4e5
[misc] fix log potentially not being saved on exit
* Also ensures that if the user deleted the directory we don't recreate it for the log.
* Also fix typos and Coverity warnings.
2021-09-19 21:01:45 +01:00
Pete Batard
9dc045a701
[core] speed up the clearing of MBR/GPT sectors
* write_sector() should really only be used when writing single sectors as it
  is way to slow for anything else => Switch to using WriteFileWithRetry().
* Also revert an unwarranted change from f0047986e7.
2021-09-19 14:29:30 +01:00
Pete Batard
f0047986e7
[dev] add support for intel NUC card readers
* Also make sure that cards larger than 200 GB are not listed by default.
2021-09-09 22:20:57 +02:00
Pete Batard
366ce99712
[misc] fix Coverity and CodeQL warnings
* Also make sure to build Release for static analysis.
2021-09-07 23:39:04 +01:00
Pete Batard
a787fb34b3
[iso] fix loader/entries/*.conf labels for Arch derivatives...
* ...that didn't get the memo about using UPPERCASE 11-chars max ISO labels.
* There's a reason why Arch labels its ISOs 'ARCH_YYYYMM', people!
* Anyway, EndeavourOS should now work in ISO mode when booted from UEFI.
2021-09-07 01:07:37 +01:00
Pete Batard
8e2a9797cd
[ci] clean up CI yml scripts 2021-09-07 01:01:56 +01:00
Pete Batard
f4be099f08
[ci] add codeQL static analysis 2021-09-04 01:20:12 +01:00
Pete Batard
405fc6bfae
[misc] report UEFI Shell download feature in README
* See pbatard/Fido@2ee5f896d3 along with https://github.com/pbatard/UEFI-Shell.
* Also set rufus-next to 3.16.
2021-08-25 15:24:56 +02:00
Pete Batard
02aa03078b
v3.15 (build 1812) 2021-08-03 11:33:07 +01:00
Pete Batard
8538ce0590
[misc] fix some Coverity warnings 2021-08-02 13:22:49 +01:00
Pete Batard
436584fcc0
[appstore] revert AppStore version detection to rufus.app presence check
* This basically reverts the changes from 9dfa31db03.
2021-08-01 21:50:11 +01:00
Pete Batard
723b6c98a2
[grub] add workaround for openSUSE Live ISOs
* In their great wisdom, the openSUSE maintainers added a 'set linux=linux'
  line to their grub.cfg, which means that their kernel option token is no
  longer 'linux' but '$linux'... and we have to add a workaround for that.
2021-07-29 22:37:09 +01:00
Pete Batard
94a2789296
[ci] add SHA-256 display and VirusTotal upload 2021-07-29 14:42:08 +01:00
Pete Batard
9da4a49ab8
[misc] switch to GitHub actions for CI 2021-07-29 01:10:53 +01:00
Pete Batard
7afa7348cf
[misc] update ChangeLog for BETA 2021-07-28 16:51:32 +01:00
Pete Batard
41a9436649
[core] automatically save log to %LocalAppData%\Rufus\rufus.log on exit 2021-07-28 16:37:45 +01:00
Pete Batard
8ceb0045fa
[grub] update embedded GRUB to 2.06
* Also enable NTFS and ext# as GRUB2 compatible file systems.
2021-07-27 18:10:29 +01:00
Pete Batard
6ed7524c1b
[ui] fix download status message remaining indefinitely
* Closes #1727
2021-07-26 17:19:45 +01:00
Pete Batard
0475f4796a
[cmp] fix some Coverity warnings 2021-07-26 16:57:48 +01:00
Pete Batard
57af9e7106
[misc] set rufus-next to 3.15
* Also update DB for GRUB 2.06 binary and fix a line break when writing images
2021-06-22 19:08:34 +01:00
longpanda
49eefa2e03
[cmp] add support for Ventoy Sparse Image (.vtsi) 2021-06-22 19:08:33 +01:00
Pete Batard
4f97cdfdc3
[ui] increase projected size to prevent persistence overflow
* If users set the persistent size to max, we may run into a situation
  where projected size (which is always a rough estimation) is too low.
* When persistence is in use, we increase the projected size by 10%, to
  ensure that the above scenario cannot happen.
* Also work around potential issues with Windows APIs when the application
  is launched from the root of a drive.
2021-06-10 17:18:40 +01:00
Pete Batard
9d7e96e293
[core] move downloads from <app_location>\rufus_files\ to %LOCALAPPDATA%\Rufus\
* While this is intended to solve the issue of saving GRUB/Syslinux files for the
  App Store version, we apply this change globally, as it allows the user to move
  the Rufus executable around while preserving access to existing downloads.
* Closes #1744
2021-05-31 16:54:11 +01:00
Pete Batard
aeae66e971
[efi] prevent a drive letter to be assigned to the UEFI:NTFS partition
* Closes pbatard/uefi-ntfs#25
* Also make the UEFI:NTFS partition read-only for release version
2021-05-29 13:59:59 +01:00
Pete Batard
702a60630f
[appstore] update supported languages 2021-05-28 22:02:19 +01:00
Pete Batard
3db3bf527f
[appstore] add French to app listing 2021-05-27 16:49:46 +01:00
Pete Batard
f26fd2fbe3
[fido] add additional Authenticode validation before running the script
* This basically means that the script is validate *TWICE*, using two
  completely independent signatures, before it is allowed to run, which
  should add another mitigation layer against TOCTOU (which we already
  friggin' mitigated against anyway) and other potential vectors of
  attack.
* Also remove -DisableFirstRunCustomize option and the associated cookie
  prompt monitoring, which the latest version of Fido no longer requires.
* Also update WDK version for signtool and flesh out PKI error messages.
2021-05-27 00:19:25 +01:00
Pete Batard
3083324a0e
[internal] switch to using workflows to lock old issues
* GitHub's Lock bot has been replaced with a new lock action -> Use this.
2021-05-26 13:07:26 +01:00
Pete Batard
3bb83709da
[core] avoid the creation of 'System Volume Information' for ESPs written in DD mode
* Trying to mount accessible partitions after writing an image may lead to the
  creation of the infamous 'System Volume Information' folder on ESPs, which in
  turn leads to checksum errors for Ubuntu's boot/grub/efi.img (that maps to the
  Ubuntu ESP). So comment out that code.
* Also fix a missing CRLFs in the log after displaying write progress.
2021-05-18 15:18:28 +01:00
Oree111
03ef8aa024
[loc] fix a typo in Polish translation
* Closes #1730
2021-05-09 13:20:16 +01:00
Pete Batard
e22955aa2b
[core] fix fast-zeroing assertion 2021-05-04 21:04:30 +01:00
Sasa Vujanic
7e114ad55a
[loc] updated Croatian translation 2021-05-03 11:50:48 +01:00
Pete Batard
1c470a5ec2
v3.14 (build 1788) 2021-04-30 13:36:17 +01:00
Sasa Vujanic
2b5329037b
[loc] update Croatian translation to latest 2021-04-30 13:28:44 +01:00
Gintaras Venslovas
73f26d74b9
[loc] update Lithuanian translation to latest 2021-04-30 00:11:11 +01:00
anni deer
410f6e8170
[loc] update Danish translation to latest 2021-04-29 16:15:47 +01:00
Matej Horvat
e49ef606ab
[loc] update Slovenian translation to latest 2021-04-29 11:49:47 +01:00
Tiryoh
5553c8f2fd
[loc] update Japanese translation to latest 2021-04-27 21:28:06 +01:00
Костянтин Сергійович
3fdfa478ed
[loc] update Ukrainian translation to latest 2021-04-25 12:32:47 +01:00
Pete Batard
2bcb68efd8
[misc] update ChangeLog for BETA
* Since Ubuntu 21.04 forces a new release...
* Also update DB for latest GRUB "2.04" and fix a minor loc capitalization issue
2021-04-23 22:25:56 +01:00
Pete Batard
9c8fa40995
[ui] add forced DD mode exceptions for Red Hat based distros
* Anaconda broke ISO compatibility, most likely with the following commit:
  84529204fe
* However, Ret Hat, and its followers, have drunk the "DD only" kool aid, and
  appear to be blissfully unaware of the very real drawbacks that enforcing a
  "DD only" mode for ISOHybrid can actually place on distro users.
* Rather than spend another wasted effort trying get people, who appear to be
  impervious to even remotely consider the idea that DD imaging can have flaws,
  to look into the possibility that Red Hat might indeed have introduced a
  regression, and given the downright hostility I have been subjected to from
  trying to state this *very verifiable* fact, we'll just force DD mode for the
  affected Red Hat and derivatives, whilst trusting that users will be smart
  enough to compare their more limited installation experience against the ones
  from other distros (such as Arch, Debian or Ubuntu, which, unlike Red Hat and
  co., appear to fully understand that the whole ISOHybrid vs DD mode situation
  is not all black and white), and see for themselves which distros do actually
  place *their* interests first, rather than just the interests of the distro
  maintainers...
2021-04-23 17:04:55 +01:00
Pete Batard
16c0e8e2a2
[misc] UFD vs HDD detection improvements 2021-04-23 12:03:43 +01:00
Pete Batard
252759eb91
[grub] add yet another frigging patch to GRUB "2.04"
* GRUB 2.0 maintainer think they're doing a fine job, even when there are
  CRITICAL SECURITY FIXES that should warrant an immediate out of bound
  release, and instead consider that waiting MONTHS or YEARS to release
  anything is not a big deal at all.
* Ergo, distros, such as Ubuntu, start to pick whatever security patches
  they see fit, since they can simply not RELY on the upstream project to
  produce security releases in a timely manner. One such patch is:
  https://lists.gnu.org/archive/html/grub-devel/2021-03/msg00012.html
* But since there is no new GRUB release per se, they still call their GRUB
  version, onto which they applied patches that have come into existence
  more than 2 years after the actual 2.04 release, "GRUB 2.04".
* Obviously, since GRUB 2.04 + literally hundreds of cherry picked patches
  does deviate a lot from the last release, THINGS BREAK IN SPECTACULAR
  FASHION, such as the recently released Ubuntu 21.04 failing to boot with
  the error: grub_register_command_lockdown not found.
* Oh, and of course, regardless of all the above, if you ask anyone, they'll
  tell you that there's nothing fundamentally wrong with the GRUB release
  process (even if they should long have released 2.05, 2.05-1 and 2.05-2,
  were their maintainer ready to acknowledge that delaying releases DOES
  CREATES MAJOR ISSUES DOWSTREAM, as many people REPEATEDLY pointed to them
  on the GRUB mailing list) or with the Ubuntu GRUB versioning process (that
  really shouldn't be calling their version of GRUB "grub-2.04" but instead
  something like "grub-2.04_ubuntu"). Oh no siree! Instead, the problem must
  all be with Rufus and its maintainer, who should either spend their lives
  pre-emptively figuring which breaking patch every other distro applied out
  there, or limit media creation to DD mode, like any "sensible" person
  would do, since DD mode is the ultimate panacea (Narrator: "It wasn't").
* So, once again, a massive thanks to all the people who have been involved
  in the current GRUB 2.0 shit show, whose DIRECT result is to make end
  users' lives miserable, while GRUB maintainers are hell bent on continuing
  to pretend that everything's just peachy and are busy patting themselves
  on the back on account that "Fedora recently dropped more than 100 of the
  custom patches they had to apply to their GRUB fork" (sic). Nothing to see
  here, it's just GRUB maintainer's Jedi business as usual. Besides, who the
  hell cares about Windows users trying to transition to Linux in a friendly
  manner anyway. I mean, as long as something doesn't affect existing Linux
  users, it isn't a REAL problem, right?...
2021-04-23 12:01:23 +01:00
Pete Batard
8f0d248a56
[misc] add regexp engine
* From https://github.com/kokke/tiny-regex-c
2021-04-22 22:43:20 +01:00
Pete Batard
a0904cad35
[core] switch to async I/O for image writing
* Combined with the increase in buffer size from previous commits, this
  should help us get close to a device's maximum write speed.
* Also add async write support to winio.h
* Also increase the buffer size for bad blocks check operations
2021-04-22 01:01:56 +01:00
Pete Batard
80eca5739d
[core] split zeroing and dd write operations
* This is in preparation for async reads
* Also move open/close image operations to WriteDrive()
* Also increase DD buffer size to 32 MB to improve performance
2021-04-21 22:58:41 +01:00
Pete Batard
d77a825ffd
[misc] don't overdo CoUninitialize calls
* 2e1833e91e introduced issues with VDS since, despite what
  Microsoft's documentation says, balancing CoInitialize with CoUninitialize
  leads to VDS not properly relinquishing disk access.
2021-04-14 18:13:36 +01:00
Suttirak Mattayawerakiat
c9a0fcd0bf
[loc] update Thai translation to latest 2021-04-13 17:36:18 +01:00
Jakub Zieciak
5abdce4b3c
[loc] update Polish translation to latest 2021-04-11 21:33:48 +01:00
Jakub Zieciak
a370a8ddc6
[loc] update Norwegian translation to latest 2021-04-11 21:32:30 +01:00
Pete Batard
2e1833e91e
[misc] improve CoInitialize calls
* Balance with CoUninitialize and add COINIT_DISABLE_OLE1DDE
* Also add /BREPRO linker flag for reproducible VS2019 release builds
2021-04-09 12:36:30 +01:00
Pete Batard
2a3e82fa96
[misc] switch to using LoadLibraryEx everywhere
* This allows us to further mitigate DLL side loading by enforcing
  LOAD_LIBRARY_SEARCH_SYSTEM32 / LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR.
2021-04-09 11:31:52 +01:00
Pete Batard
c9e71de898
[ui] disable drag and drop during drive creation
* Closes #1672
* Also fix Rufus MBR not being selected when switching partition scheme to MBR
* Also fix users being prompted twice for ISO → ESP
2021-04-08 17:29:13 +01:00
MaKK
f2ca5a3121
[loc] update Spanish translation to latest 2021-04-07 21:06:19 +01:00
Martin Kubánik
19326d151a
[loc] update Slovak translation 2021-04-07 10:43:33 +01:00
Riku Brander
6e6d3227a3
[loc] update Finnish translation to latest 2021-04-06 13:06:17 +01:00
Dinis Medeiros
9f1b37b77a
[loc] update Portuguese (Portugal) translation to latest 2021-04-03 20:43:32 +01:00
Chocobo1
629ae34fbd
[loc] update Chinese (Traditional) translation to latest
* Closes #1712
2021-04-03 20:38:37 +01:00
Jiawei Wang
574114d0ee
[loc] update Chinese (Simplified) translation 2021-04-03 20:38:34 +01:00
Thilo Langbein
2b87f89325
[loc] update German translation to latest 2021-04-02 22:07:56 +01:00
Miloš
4edb99e462
[loc] update Serbian translation to latest 2021-04-02 22:04:55 +01:00
Itiel
0e65eab27f
[loc] update Hebrew translation to latest 2021-04-02 17:01:32 +01:00
Aldis Tutins
06e6a3cbee
[loc] update Latvian translation to latest 2021-04-02 12:42:04 +01:00
Roberto Boriotti
6ae66d1adf
[loc] update Italian translation to latest 2021-04-02 12:39:19 +01:00
Thomas De Rocker
bba6684928
[loc] update Dutch translation to latest 2021-04-02 12:13:43 +01:00
Uk-Jin Jang
4f5246c7a9
[loc] update Korean translation to latest 2021-04-02 11:53:52 +01:00
Arif Budiman
0ae9c617f4
[loc] update Indonesian translation to latest 2021-04-02 11:30:56 +01:00
Sopor
286480e50a
[loc] update Swedish translation to latest 2021-04-01 23:32:59 +01:00
Mehmetali Kuran
be7f9d815e
[loc] update Turkish translation to latest
* Also fix a translation ChangeLog.txt typo
2021-04-01 23:29:31 +01:00
Pete Batard
fbd6521789
[loc] fix incorrect use of KB instead of byte in Russian translation 2021-03-31 19:11:43 +01:00
Pete Batard
5803d7ad8a
[loc] update French translation
* Also fix MinGW warning
2021-03-31 16:38:09 +01:00