* Downloadable content will now be indicating, in the log, whether it can be trusted with ✓ (validated) or ✗ (caution)
* Of course this validation only applies for files we know of, i.e. the downloadable content that existed at the time the DB was
created. So, if Syslinux 8.x gets released tomorrow and we put it on our server, you'll get an ✗ regardless of its integrity.
* Closes#758
* The root of the issue is that Windows IOCTL_DISK_CREATE_DISK does not properly
zero all of the MBR/GPT/PBR structure with PARTITION_STYLE_RAW (which is what
diskpart uses to clean a disk), and leaves plenty of partition artefacts behind.
* This means that, when an image with complex partitioning has been applied, such
as Chromium/ChromeOS, you may end up with a drive that can not be repartitioned
or reformatted in Windows (and this is completely independent of whether Rufus
was used to perform these operations - For instance you will get the same issue
if you use Win32DiskImager and diskpart + clean).
* The only option left for users then is to reset/repartition their drives in Linux
or some other OS, as Windows' VDS becomes incapacitated to handle the drive, as
the problem persists independently of reset/re-plug/Windows platform being used.
* To work around this, we ensure that we zero the MBR/GPT/PBR sectors BEFORE calling
IOCTL_DISK_CREATE_DISK.
* Also move zeroing of the drive before partition reset.
* Closes#759
* Ridgecropt's GetFATSizeSectors() computation was incorrect
and resulted in data sectors being "wasted" (unaddressable)
* See: http://www.syslinux.org/archives/2016-February/024850.html
* Also revert the minfatsize check of Syslinux, since it no longer fails.
* Also fix the VID:PID population of USB card readers
* Also improve enumeration debugging
* Also add an unofficial cheat mode to list non USB *REMOVABLE* drives
* Closes#693
* MSG_002 doesn't display in RTL
* Update Policy dialog loses RTL setting after the first paragraph
* Some text displayed in native Windows message boxes is not using RTL
(even as the Message Box itself will display the rest of the UI elements as RTL)
* Detect if the relevant language pack is installed and use MessageBoxEx to
display native message box buttons using the selected language.
* All theses issues are part of #621
* Also remove trailing whitespaces
* In some circumstances, this *might* help with the infamous #312 issue, though
I will still recommend to figure out which application is keeping a lock instead
of trying to cheat...
* Also update Bled to latest, as well as build scripts
* Note: Considering that Visual Studio 2015 is both freely and legally
available for anyone who wants to use it to compile Rufus, starting
with this commit, I will NOT be supporting any other version of Visual
Studio but 2015.
* Microsoft removed the diskcopy.dll that contained the MS-DOS floppy image
Not a big loss, since we have FreeDOS... ;)
* Closes#545
* Also apply a long overdue refactoring for boot and target types
* Also update the README to add an icon
* This creates issue due to dism incompatibilities between Windows versions
and some users are puzzled why they don't see their internal disks.
* Also make the bcdboot call more robust by using the system one if the USB one fails
* Also fix small issues in RunCommand() and MountVolume()
* Closes#468
* Also prevent drives with UEFI:NTFS from being listed as multi-partitions
* Also add a label for the UEFI:NTFS FAT partition
* Also fix internal chver script
* Also fix Grub4DOS and Grub2.0 versioning issues
* Also ensures that operation gets canceled on missing download
* Also fix German translation and remove trailing whitespaces in .loc file
* Also fix inverted display status for VMWare disk detection
* MinGW's gcc 4.9.2 seems to implement a broken "%lld" format 64 bit integer is
followed by more variables and the app executes on XP => use PRI macros
* Also fix partition ID being ignored when using Rufus MBR
* Also fix some global vars shadowing and add other improvements
* Add Windows To Go tooltips
* Set UEFI:TOGO partition type to EFI System Partition
* Improve apply-image progress report
* Fix MBR analysis for 4k disks
* Do not select Rufus MBR for Windows To Go
* Ignore partitions we don't care about
* Fix issues with AltMountVolume()
* Try to support 4k drives when setting up MS EFI partition
* Zero the start of the MSR partition to prevent leftover detection
* Fix unwanted use of MBR hidden sectors and redundant CloseHandle()
* Fix addon of BIOS compatibility extra partition
* Print apply image progress to info box
* Add apply support to WIM image handling
* Requires Windows 8 or later (Windows 7+ for WIM API support but Windows 8+ for ISO mount)
* Also fix an issue for Windows 7 x64 EFI mode
* This allows no-sweat UEFI support of Windows installation ISOs
that contain a >4GB file for instance
* This is done through UEFI:TOGO (https://github.com/pbatard/uefi-togo)
and the efifs NTFS driver (http://efi.akeo.ie)
* Closes#414
* This will also be part of our implementation of #126
* Greatly improves the display of non western character sets, such as CJK.
* Note: Since I'm no longer willing to go the extra mile for XP, the way we
handle the non availability of the Segoe font there is by doing the lazy
thing and duplicating all our UI resources, in a similar way as what we do
for RTL, and setting them with the old "MS Shell Dlg".
* Also update some Syslinux V5 refs to Syslinux V6.
* Closes#308
* Having AutoMount disabled when a Fixed drive is being used can
result in a failure during formatting (issue #386).
* Also set explicit FILE_ATTRIBUTE_NORMAL flag an normalize CreateFile usage
* Closes#386
* Fix missing DD-Image option when no drive is present
* Prevent formatting of a drive when using an image residing on same drive
* Fix ignored bootable checkbox when using a DD-Image
* Fix wrong title for error messages (due to too many concurrent loc messages)
* Add logic to mount/remount a DD image if it contains a partition we can handle
* Clear GPT structures before copying DD image in case it doesn't overwrites them
* Add a call to refresh the drive layout after copying a DD image
* Move the unlocking of logical drive further down. This may help with the
infamous "device in use by another process" error.
* It looks like some disks may report a sector size of zero
* Hopefully, this will address #352 (but some report about the
detected sector size from people observing the crash would be nice)
* Closes#310
* Alt-I can now be used to disable ISO support. This is meant to be
used for dual ISO/DD images so that DD (disk image) mode will be used
* Also issue a message in the log to indicate whether slow or quick format is used
* Also change the cheat mode keys for force update and proper unit to C and U
* ReFS only applies for drives that are larger than 512MB
* Also fix error handling and messages in format.c
* Also add Alt-Q cheat mode for proper size units, and improve human readable size output
* Listing an unpartitioned could result in all controls besides
drive selection dropdown being blank
* The bad blocks report was not displaying the right values
* Also update version to Rufus next
* Try IOCTL_DISK_GET_DRIVE_GEOMETRY_EX if IOCTL_DISK_GET_DRIVE_GEOMETRY fails in Large Fat32 code
* Report actual IOCTL errors
* Use a larger buffer for geometry
* Also add (guessed) FCC_DEVICE_NOT_READY handling to FormatEx
* Also try to ignore autorun.inf issues from idiotic antivirus solutions, when writing ISOs
* Also remove the columns in the English labels (improves high DPI display)
* Also update additional ISO related messages to make them more generic
* Also fix an issue with hotplug due to WM_DEVICECHANGE being filtered out
* Also improve AnalyzeMBR() and prevent failure on WriteMBR
* Also fix a couple issues with ISO and Syslinux handling
* Also remove "smart" uncheck of disabled checkboxes - not worth it
* Only as a cheat mode (Alt-N)
* Also fixes inconsistent MBR partition numbering
* Also update a comment in vhd.c about callback progress (thanks to Erwan)
* This addresses the issue reported in #274:
Unable to access kernel32 DLL: [0x0000007F] The specified procedure could not be found.
* Problem was introduced in 897becd290 which was added for #189.
* This ensures that an MBR/UEFI UFD can only ever be booted in EFI mode
* Also fix an issue where the same drive was not properly detected ("U:" vs "U:\")
* Also update ReactOS copyright and fix a warning from Cppcheck in parser.c
* Attempt to remount the drive in case of failure (Closes#270)
* Minor fixes to localization
* Fix errors not being properly reported in DownloadFile()
* Also update ChangeLog.txt for beta
* A new "ReactOS" is now available under "Create a bootable disk" when running in advanced mode.
* Using this option will install the ReactOS bootblocks (MBR & FAT PBR) _only_.
You can then copy freeldr.sys and freeldr.ini to make the drive bootable.
* Also move Rufus MBR installation to ms-sys, and remove mbr.bin resource.
* Also add Rufus MBR detection, remove duplicate records and display MBR type on drive detection
* Also move PBR and MBR analysis calls to drive.c and add a drive.h header
* Also make extraction of embedded loc file more robust
* This slowdown was introduced in 897becd290 as the use of
SetThreadUILanguage apparently incurs a massive performance drawback.
* Closes#259
* Also fix a possible issue where the blocking operation message could appear twice
* Also improve the French translation
* Also fix percentage not being displayed when using slow format
* Also use GetUserDefaultUILanguage() rather than GetUserDefaultLCID()
to get the user preferred locale.
* Closes#189
* Initial scoring to try to differentiate UFDs from HDDs (#219)
* Also improve GetDriveLetter() and add a global for fixed vs removable
* Also fix a bug with reporting of VID:PID with multiple devices
* Also fix a warning in localization
* Only supported on Vista or later
* Also disable exFAT for XP (requires a KB => not worth it)
* Also improve display of partition data for type 0x07
* Also fix and issue where exFAT/UDF would try to modify PBR
* Also logically move and simplify some of the code
* Closes#157
* Use retries when locking the volume
* Wait for volume availability after partitioning
* Don't halt on errors that can be ignored
* Other small improvements and fixes
* The above should help with addressing #122
* Use IOCTL_DISK_UPDATE_PROPERTIES after partitioning
* Use IOCTL_DISK_DELETE_DRIVE_LAYOUT to invalidate partitions before formatting
* Fix handling of unpartitioned drives
* Increase delay after partitioning
* All of the above should help with the infamous #122
* Also fix display of error messages in ms-sys' file.c as well as stdio.c
* Also add commandline option -f to list fixed drives
* Use .bss and .sys from Syslinux v5.10
* Advanced options allow you to choose between v4 and v5
* Rufus does not currently copy any ldlinux.c32 to the target
* Better split of physical vs logical
* Add handling of unmounted volumes by GUID
* Force large FAT32 cheat mode
* Improve user messages and fix some UI issues
* eg. GPT drives with no partitions were not enumerated by default
* fixed disk mode needs to be enabled for this detection to occur
* also fix the unwanted use of a drive letter in GetDrivePartitionData
* also add a check for going over MAX_DRIVES
* also fix improper separator line in FreeDOS menu due to UTF-8 source
* closes#124
* update copyright year
* switch relevant files to UTF-8 (without signature).
It's 2013 for crying out loud: if your file editor or file viewer
can't handle plain UTF-8, go back to the 1980s!
* also rename autogen.sh to bootstrap.sh
* without the marker, an UFD created as MBR for UEFI will be seen
as MBR for BIOS + UEFI. We want Rufus to be able to select the
settings that were used for the drive creation.
* Also hides #116 under the carpet and fix non RUFUS_DEBUG compilation
* Contains the bulk of the code required to address #11
* Tested with Windows 8 Pro x64 (en-gb_windows_8_x64_dvd_915412.iso)
and Arch Linux (archlinux-2013.01.04-dual.iso) against an UEFI 2.1 BIOS
* Also fixes missing status report beta versions check
* Use \i386 always through SetupSourceDevice in txtsetup.sif
and prevent deletion of install directory
* Removed setupdd.sy_ patch. Now, none of the files in \i386 are modified
* Better /minint detection for MBR setup
* Also fixed an issue where mbr.bin resources would not be included
* 32 bit bad blocks check is too limited for large drives
and result in erroneous computations
* 32 bit also means that 2TB would be absolute limit, which
may be too low in case for USB HDD checks
* This fix makes bad blocks check and related calls 64 bit compliant
* also improve on bad block reports
* add readout and display of extended autorun.inf label if available
* use improved isolinux config parsing
* also fix an issue that could leave drive unmounted on forced removal
* also add Alt-F cheatmode to toggle detection of fixed USB disks
* When using Win7 installation ISOs, XP would return the error:
[0x00000456] The media in the drive may have changed
* This seems to be due to unmounting of the drive before writing
the PBR
* Also, our ms-sys/NTFS code wasn't identifying NTFS properly on XP
* Our detection code, which is based on the HPUSBFW utility, allows fixed
drives such as USB HDDs to be listed
* Since Rufus lacks extra precautions for fixed disks, this may result in
people mistakenly formatting and HDD instead of a flash drive
* Until we have added HDD specific features (support for repartitioning or
existing partitions, >32GB FAT32, etc.) we prefer playing it safe by
not listing fixed disks.
* We will re-enable fixed disks when we feel enough safeties are in place
* Also fix an issue where ISO selection could crash if Rufus
was compiled for Vista and later and update version to rufus-next
* Creates an UTF-16 autoconf.inf with label, as well as autoconf.ico
* also fixed extended labels not displaying - closes#48
* also bumped version to rufus-next
* also factorized iso props analysis
* additional fixes
* Allow the use of vanilla Syslinux by creating a /syslinux.cfg
that references isolinux.cfg
* Fix#40 and #42
* Workaround for #44 by search and replace of ISO label in .cfg
* ISO9660 Joliet fixes
* scan would fail on lowercase vs mixed case dir name comparison
due to Joliet (eg. using Slackware 13.37 ISO)
* extraction would fail for 4 GB ISO9660 ISOs
* also fixes cases issue when checking for isolinux/bootmgr
* also don't restrict NTFS labels
* DOS creation was broken due to missing unlock + close
* added label validation to prevent errors
* added ellipsis to status bar
* also bumped version to rufus next and fixed f/non-f