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

186 commits

Author SHA1 Message Date
Pete Batard
36693d2144 [core] detect memory cards in card readers
* Also remove drives with no media from the list
* Closes #18
2013-12-20 18:32:10 +00:00
Pete Batard
897becd290 [loc] set chkdsk and format output to use English locale
* Also fix percentage not being displayed when using slow format
* Also use GetUserDefaultUILanguage() rather than GetUserDefaultLCID()
  to get the user preferred locale.
* Closes #189
2013-12-20 03:20:07 +00:00
Pete Batard
18c9df18b5 [loc] set log messages to use English locale
* This is done to ensure I can understand logs that are sent to me,
  even when a non English locale is used.
* Closes #188.
2013-12-19 23:56:40 +00:00
Pete Batard
f3cf32f8d8 [loc] use a direct table for the messages
* More efficient and also the first step for addressing #188
2013-12-18 01:20:44 +00:00
Pete Batard
d2b623fbfa [efi] add NTFS support
* As reported at http://www.eightforums.com/tutorials/15458-uefi-bootable-usb-flash-drive-create-windows-27.html#post309665
  and http://forums.mydigitallife.info/threads/46981-Install-Win8-Windows-8-1-UEFI-With-a-Over-sized%28over-4GB%29-install-wim
  it is actually possible to boot and install an EFI system from an NTFS drive
* Closes #228
2013-12-11 19:00:57 +00:00
Pete Batard
34f467a26e [format] only clear the extra 1MB for large FAT32
* Clearing that extra MB can take a long time on slow drives
2013-12-06 23:07:30 +00:00
Tom Thornhill
a5f98d636f [format] fix large FAT32 format for GPT drives
* Also set FSCTL_ALLOW_EXTENDED_DASD_IO before locking a drive
* Closes #181
2013-11-23 22:55:17 +00:00
Pete Batard
fcf16fed25 [iso] update libcdio to latest
* Also remove MSG_176 from English version
* Also perform additional cleanup and remove a Clang warning
* Closes #224
2013-11-23 22:09:39 +00:00
Pete Batard
aa0bf0ee2b [core] add HDD vs UFD detection
* 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
2013-11-14 01:21:50 +00:00
Pete Batard
59496e53c0 [misc] warn about UDF formatting times and 64k MS-DOS
* Closes #149
* Closes #180
2013-10-31 22:59:53 +00:00
Pete Batard
5354d2f6ca [iso] sanitize invalid FAT & NFTS filenames
* Also fix support for labels containing double quotes
* Closes #135
* Closes #193
2013-10-27 00:05:54 +01:00
Pete Batard
df06727416 [loc] add localization support
* This is a merge up to commit bd319269aa of the localization branch
* Also fixes Clang warnings
2013-10-15 23:25:54 +01:00
Pete Batard
5b2e4d1721 [ui] prevent flicker on large FAT32 format.c
* Also convert 1.4TB FAT32 autolabel to 1_4TB rather than 14TB and
  use 2 decimal points rather than 1
2013-09-22 03:54:50 +01:00
Pete Batard
2945389edc [core] fix large FAT32 formatting for > 1TB disks
* Closes #159
2013-09-22 03:28:56 +01:00
Pete Batard
4ac182830d [core] add UDF filesystem support
* 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
2013-07-09 00:14:29 +01:00
Pete Batard
d81ca7de24 [core] reinstate the call to DeletePartitions()
* But use IOCTL_DISK_CREATE_DISK and not IOCTL_DISK_DELETE_DRIVE_LAYOUT
* Also improve messaging and increase detection timeout to 15 seconds
2013-07-05 22:20:46 +01:00
Pete Batard
967ad1da33 [core] remove the call to IOCTL_DISK_DELETE_DRIVE_LAYOUT
* As per issue #122, this creates problems when formatting a drive in FAT16
* Also remove an unnecessary backslash in icon.c
2013-07-04 22:51:15 +01:00
Pete Batard
6be21bbdbc [core] more drive handling improvements
* 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
2013-06-25 18:39:07 +01:00
Pete Batard
cd5665881c [core] drive handling improvements
* 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
2013-06-25 02:55:25 +01:00
Josh Soref
fe3b1eb6f6 [misc] fix spelling mistakes
* Closes #147
2013-06-22 01:15:36 +01:00
Pete Batard
df5bce297d [syslinux] initial Syslinux v5 support
* 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
2013-06-14 01:55:48 +01:00
Pete Batard
e1ff2a5273 [misc] improve messages and dialogs 2013-06-06 23:40:37 +01:00
Pete Batard
22808893bc [misc] small enhancements
* Add detection for user cancellation during between atomic format operations
* Clear existing PBR along with MBR/GPT data
* Improve log messages
2013-06-03 19:55:23 +01:00
Pete Batard
26f807530d [iso] fix broken bootmgr detection
* Closes #144
* Also fix broken WDK compilation
2013-05-19 23:02:16 +01:00
Pete Batard
4da36fa321 [core] low level drive handling redesign
* 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
2013-04-08 00:10:58 +01:00
Pete Batard
63e6c02f02 [core] allow detection and format of "raw" drives
* 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
2013-02-10 21:56:21 +00:00
Pete Batard
c51bf5ce45 [misc] set rufus-next to 1.3.3, update copyright
* 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
2013-02-02 15:47:56 +00:00
Pete Batard
0cc39d0222 [efi] add mbr UEFI marker for partition scheme reselection
* 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
2013-01-27 20:56:57 +00:00
Pete Batard
647d9f18ad [misc] refactoring and cleanup - part 2
* add GetResource() function call to handle resource loading and
  revert 98ff7a931a
* add separate BootCheck() call
* better handling of passes tooltip
* remove superfluous backslashes
* fix standalone EFI support
* add GPL v3 license file and update README.txt
2013-01-25 01:56:28 +00:00
Pete Batard
bba1772940 [misc] refactoring and cleanup - part 1
* add stdfn.c and move the relevant standard calls there
* move most of GetDriveInfo() to drive.c
* rename IDC_DOS/hDos to IDC_BOOT/hBoot
2013-01-24 21:30:11 +00:00
Pete Batard
c8acf1b84a [misc] cleanup and refactoring + fix WIM 7z minor issue
* remove hardcoded path from WimExtractFile_7z
* move some drive related functions to drive.c
* cleanup
2013-01-22 02:40:43 +00:00
Pete Batard
0196de6f4d [efi] add Windows 7 EFI support for XP and Vista
* Requires 7-Zip for WIM extraction as wimgapi.dll is not available
* Also add more comprehensive choice between MBR/GPT and BIOS/UEFI
2013-01-20 22:46:11 +00:00
Pete Batard
84e4aecfcd [efi] add support for Windows 7 UEFI boot
* Add WIM file handling in vhd.c to extract bootx64.efi
* x64 only, since Microsoft does not provide Win7 x86 EFI support
2013-01-19 04:04:54 +00:00
Pete Batard
997c0a0f28 [gpt] add support for GPT partitioning and EFI boot
* 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
2013-01-18 01:39:24 +00:00
Pete Batard
638f7876c4 [format] set read-only checkdisk error as benign
* Closes #106
2012-12-13 23:50:23 +00:00
Pete Batard
a352ad019d [sl] update to syslinux 4.06
* Also fixes MSVC 64 bit warnings in format.c and iso.c
2012-11-04 00:29:24 +00:00
Pete Batard
22800bb8a5 [format] add large FAT32 support
* Based on fat32format from Ridgecrop Consultants Ltd:
  http://www.ridgecrop.demon.co.uk/index.htm?fat32format.htm
* Initial implementation by Tom Ehlert of DriveSnapshot:
  http://www.drivesnapshot.de/en/index.htm
* Closes #101
2012-11-03 17:40:33 +00:00
Pete Batard
94851dec7d [misc] fix a potential WinPE 1.0 bug and improve ISO labels
* WinPE 1.x patch used rdisk(!) instead of rdisk(1)
* Remove trailing spaces on ISO labels
* Remove unnecessary comment during format
2012-05-31 00:49:28 +01:00
Pete Batard
372b89ba3a [misc] address various TODOs and improve UI
* display comprehensive partition information
* improve tooltips
* remove TODOs that are no longer relevant
2012-05-29 17:47:24 +01:00
Pete Batard
bf2cb0bd88 [ui] add advanced mode
* Adds "bare" Syslinux, Rufus MBR and disabling of fake USB detection options
2012-05-17 22:56:19 +01:00
Pete Batard
2b87a37789 [misc] fix extraction of non Joliet ISO9660 files
* Closes #82
2012-05-16 12:18:48 +01:00
Pete Batard
937dde6bff [misc] v1.1.6 -> v1.1.7 bugfix patch
* closes #78
2012-04-06 16:22:25 +01:00
Pete Batard
bb76f1f636 [ui] report ISO progress in main/icon progressbar
* Also improve granularity for ISO progress
* Also fixes an issue with badblocks report
2012-03-29 20:27:53 +01:00
Pete Batard
db76e396fd [pe] Improve PE and add Windows 2003 support
* 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
2012-03-27 20:31:15 +01:00
Pete Batard
04a20922d5 [xp] Add rdisk() masquerading
* Also add MBR support from resource file
* Also fix an issue with WDK
2012-03-25 22:56:56 +01:00
Pete Batard
7874f5ea5d [mbr] added USB selection MBR support in Rufus
* added mbr_rufus.h to ms-sys, and MBR selection to UI
* also simplified int 13 override, fixing potential breakage on concurrent ints
2012-03-21 01:59:03 +00:00
Pete Batard
4bd017ff07 [pe] initial WinPE support (BartPE, XP install disc)
* also switched MBR to Win7 one
* also switched version to rufus-next
2012-03-16 18:30:44 +00:00
Pete Batard
7426573dc1 [iso] add download & replace of obsolete vesamenu.c32
* adds http/https download capabilities
* closes #46
2012-03-11 01:55:25 +00:00
Pete Batard
e0f209a128 [misc] Misc. fixes
* Addresses issue #66 (insert media notification with empty card readers)
* Addresses issue #67 (devices without FriendlyName aren't listed)
* Addresses issue #68 (WinPE/AIK images don't boot)
* Also updates version to rufus-next
2012-03-09 01:38:52 +00:00
Pete Batard
7ee5b35551 v1.1.4 (#150)
* closes #49
* closes #60
* closes #64
* should address #59
* set default doe ISOs with bot bootmgr and isolinux to syslinux
* other improvements
2012-03-03 23:12:48 +00:00
Pete Batard
a9c47a4922 [bb] fix bad blocks check for 64 bit
* 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
2012-03-03 22:59:58 +00:00
Pete Batard
3721b0a570 [misc] improved label and config handling
* 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
2012-03-01 19:19:12 +00:00
Pete Batard
b03065b1f5 [ntfs] fix creation of Windows 7 bootable USB from XP
* 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
2012-02-24 18:51:33 +00:00
Pete Batard
352a796eff [core] only allow removable drives to be listed
* 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
2012-02-24 18:46:55 +00:00
Pete Batard
e0e974603c v1.1.2 (#143)
* Closes #37
* Closes #38
* Closes #39
* Closes #42 (from previous commits)
* Closes #44 (from previous commits)
2012-02-22 00:24:12 +00:00
Pete Batard
7e7c75169c [ui] enable setting of icon and extended label
* 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
2012-02-21 19:46:28 +00:00
Pete Batard
f5939d18ab [iso] Syslinux support improvements
* 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
2012-02-21 00:08:31 +00:00
Pete Batard
3cd83869c4 [iso] fixes for Joliet and > 4GB ISO9660 images
* 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
2012-02-15 21:55:41 +00:00
Pete Batard
f4ed6e4650 [misc] fix broken DOS, fix invalid labels and UI improvements
* 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
2012-02-15 00:52:40 +00:00
Pete Batard
36be65ed23 [iso] add support for isolinux/syslinux ISO images
* use a modified syslinux that can use isolinux config files
* update syslinux to git version
* remove embedding of chain.c32 for the time being
2012-02-14 01:23:42 +00:00
Pete Batard
5d58b83ed8 [iso] cancellation improvements
* remove threaded cancellation, detect blocking and warn instead
* also add hidden shortcut to disable ISO size check
2012-02-07 16:17:14 +00:00
Pete Batard
472db8b592 [iso] bootable NTFS from ISO image [EXPERIMENTAL]
* bootmgr ISOs only
* extraction and ISO support UI improvements
* UTF8 support through CreateFileU
* cancellation on ISO file extraction
* switch to using CreateThread
2012-02-07 02:05:58 +00:00
Pete Batard
22276ccb5a [core] add tactical volume re-mount post format 2012-02-05 19:54:48 +00:00
Pete Batard
d1e4ba278b [ntfs] add bootable NTFS support
* NTFS boot records in ms-sys
* also added debug duplication to PrintMessage
* also fixed controls staying enabled during formatting
2012-02-03 18:19:50 +00:00
Pete Batard
fd0e6d4b3b [iso] UI ISO support improvements
* add ISO scan and extract progress dialog
* compute sizes and set properties
* allow cancellation
* minor other updates
2012-02-01 14:26:36 +00:00
Pete Batard
b6252a913a [sl] syslinux support (MinGW)
* also fixes memory leak in syslinux.c
* closes #31
2012-01-12 11:05:09 +00:00
Pete Batard
acf7d072b0 [sl] syslinux support (EXPERIMENTAL)
* MS platforms only (*BREAKS* MinGW)
2012-01-12 02:52:40 +00:00
Pete Batard
01d1d74f04 [bb] allow selection of nb passes/patterns
* also removed nd/ro tests as unlikely to be used
2012-01-08 23:41:20 +00:00
Pete Batard
3187f71933 v1.0.6 (#109)
* removed TODO (duplicates github feature)
* updated copyrights to 2012
* fixed MS only rufus VS2010 solution file
* fixed a Clang warning in SetLGP
2012-01-03 00:50:00 +00:00
Pete Batard
d27e73137d [bb] generate a log report when bad blocks are found
* closes #6
2011-12-30 21:23:13 +00:00
Pete Batard
f72b298c03 [freedos] initial FreeDOS support
* closes #2
2011-12-15 00:46:47 +00:00
Pete Batard
ed4297609e [fat] use ms-sys' partition_info source to correct Disk Drive ID
* Disk Drive ID fixup for FAT32 was already available in ms-sys with option -p
* modified code to add FAT16 as well as FAT32 support as well as minor fixes
* reverts previous patch write_fat_32_br() and write_fat_16_br()
2011-12-14 20:48:20 +00:00
Pete Batard
0600005a09 [fat] improve FAT32 boot record setup
* write primary and secondary boot records
* add offset provision for sector write
* improved detection reports for MBR, FAT16 and FAT32
2011-12-13 23:29:09 +00:00
Pete Batard
5dcd8f4e8f v1.0.3
* fixed issue #16 - crash during format on XP
* fixed issue #17 - non bootable drives when created in XP
* for more info on the problem and fix, see the issues above
2011-12-13 02:10:27 +00:00
Pete Batard
57de1cbe40 [misc] pre 1.0.3 update
* fixed remaining Clang warnings in badblocks.c and configure.ac
* removed beta and updated version to 1.0.3
2011-12-13 02:06:59 +00:00
Pete Batard
d59854ef4f [ui] improve the allowed cluster sizes
* follow what MS/FormatEx actually allow
* closes #15
* also fixed potential empty selection in cluster size dropdown
* also improved Local Group Policy handling
2011-12-12 14:22:40 +00:00
Pete Batard
df7a0b1fc3 [format] added volume unmount and improve logic
* acquire a vomume handle and unmount the volume before anything else
* remove the volume access check after partitioning - use a small delay instead
2011-12-11 02:19:38 +00:00
Pete Batard
e78f07cda6 [ui] ui improvements
* fixed DOS selected on init for exFAT and NTFS in certain cases
* improved progress and status reports
* other minor improvements
2011-12-09 12:57:32 +00:00
Pete Batard
17132c35a4 [ui] progress bar improvements
* progress bar now reflects actual completion of process more closely
* dropped the use of UM_FORMAT_PROGRESS and introduced UpdateProgress() instead
* also reduced the number of rw test patterns from 4 to 2
2011-12-09 01:39:13 +00:00
Pete Batard
b006e6a837 [ui] better bad blocks reports
* improved status bar printout (priority messages with timeout)
* report with abort/retry/cancel on bad block detection
* also MinGW warning fixes
2011-12-08 00:22:13 +00:00
Pete Batard
192c3d6cc8 [bb] progress bar and cancellation support 2011-12-06 23:35:55 +00:00
Pete Batard
480986b0ae [format] fixed corruption issue when MBR is garbage
* after a bb check, MBR could become garbage
* when that occurs, Windows might interpret a bad partition table and prevent MBR from being properly written
* force a complete zeroing of the whole MBR before partitioning to fix this
* also added error code for bb
2011-12-06 18:11:38 +00:00
Pete Batard
04bf6c6b3d [misc] fix warnings
* MSVC x64 warnings in file.c
* Clang and MinGW warnings in badblocks
* also removed the requirement for
* also added test ID to badblocks call
2011-12-06 14:05:53 +00:00
Pete Batard
e419cf9015 [core] added badblock checks (ALPHA)
* also fixed some issues with read_sectors/write_sectors and dropped bufsize parameters
2011-12-06 02:23:28 +00:00
Pete Batard
7726071098 [misc] updated acronym
* Resourceful -> Reliable
* also removed standalone makefile (mkf)
2011-12-05 11:36:02 +00:00
Pete Batard
48f9dd47ae [misc] move source files to src/ directory 2011-12-05 10:49:45 +00:00
Renamed from format.c (Browse further)