Commit Graph

25 Commits

Author SHA1 Message Date
Pete Batard 8fb602b8ee
[mbr] use 80x25:16 text mode rather than 640x480:16 VGA mode
* This should produce the same output while improving compatibility with systems that have a broken VGA implementation.
* Also fix an LD error with newer gcc toolchains.
2022-07-04 15:08:55 +01:00
Pete Batard e987272287
[grub] update GRUB 2.04 core.img for Ubuntu 20.10 support
* GRUB have cherry-picked patches from the "BootHole" vulnerability fix at
  https://lists.gnu.org/archive/html/grub-devel/2020-07/msg00034.html and
  have applied them to their 2.04 GRUB loader.
* This results in breakage with "error: symbol 'grub_calloc' not found" when
  using the release GRUB 2.04 version of core.img.
* Therefore, we too cherry-picked some patches to apply on top of GRUB 2.04
  release to make our core.img compatible with Ubuntu 20.10.
* Closes #1616
* Also increase the maximum write stride for ms-sys to 64 KB (required to
  write the GRUB 2.05 bootloader which is larger than 32 KB) and update hash DB.
2020-09-16 13:59:06 +01:00
Pete Batard 2dd538b7cb
[core] fix MBR protective message overwriting the primary GPT
* We distractedly chose to populate the message from our protective MBR
  for GPT/UEFI-only boot media into the 4KB that directly followed the
  MBR, which of course is space that is being used by the primary GPT.
* This resulted on systems having to fall back to using the secondary
  GPT, which not all appear to be designed to do.
* Alter the code to ensure the protective message is written at LBA 34,
  after the primary GPT.
* Closes #1507
2020-04-13 17:05:33 +01:00
Pete Batard 3d1ec358b5
[core] improve protective MBR for GPT media
* Use the upgraded msg.bin MBR along with its more comprehensive message.
* Also fixes and issue in GetResource().
2020-02-19 19:51:32 +00:00
Pete Batard 28c1d6eb31
[core] display a notice about Legacy in the protective MBR for GPT
* This should help Windows users who create a GPT/UEFI drive and try to use it in BIOS/Legacy
* Also make sure that we take into account the split space for both "SELECT" and "DOWNLOAD"
2019-03-16 13:12:08 +00:00
Pete Batard 9cd04be529 [grub] update grub4dos to latest and add db entry for grub 2.03 2017-11-02 12:49:05 +00:00
Pete Batard 92d8ac26b0 v2.15 (build 1117) 2017-05-16 12:37:46 +01:00
Robert McQueen 234b0a3fde [ms-sys] fix for detecting windows MBRs with localised messages
* Windows MBRs contain localised strings which mean the bytes between the
  executable code and the disk signature / partition table can change depending
  on locale. This patch adds lengths to reflect the offsets which are the same
  for every locale, and only compares these lengths when detecting existing
  Windows MBRs.
2016-09-21 17:37:16 +01:00
pluto00987 ce8fbd9934 [misc] align ms-sys source with upstream
* This adds the (currently unused) fat32pe boot records
* Closes #801
2016-08-11 17:05:39 +02:00
Pete Batard cee50bd189 [grub] update Grub4DOS 0.4.6a to latest
* Also update Changelog
2016-07-10 21:51:46 +01:00
Pete Batard 35e02ae8ce [ms-sys] upgrade ms-sys to v2.5.2 2016-01-18 12:20:49 +00:00
Pete Batard b77561bb9b [ms-sys] update ms-sys to current
* NB: This includes an updated Syslinux MBR
2016-01-07 15:49:58 +00:00
Pete Batard 5004374277 [misc] update to VS2015 and fix VS code analysis issues
* 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.
2015-08-10 23:30:23 +01:00
Pete Batard 93d0cf7fbe [grub] update Grub4DOS to latest
* Closes #516
2015-05-28 19:14:53 +01:00
Pete Batard 1dc55596d5 [grub] update Grub4DOS to 0.4.6a
* 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
2015-02-16 22:29:23 +00:00
Pete Batard b3947fc026 [grub] add Grub 2.0 support
* Also moves secondary Grub boot record as a resource
* Also fix a typo in README.txt and update signtool path
* Closes #340
2014-11-17 23:41:46 +00:00
Pete Batard 306191fb85 [grub] add Grub4DOS support
* Also adds some stubs for Grub 2.0
* Also add a note about VS2013 CE in the readme
* Addresses the first part of #340
2014-11-14 23:46:56 +00:00
Pete Batard b6bc17b7f4 [core] add KolibriOS support
* Closes #331
2014-05-15 21:17:12 +01:00
Pete Batard 573ea45640 [core] add support for bare ReactOS boot record installation
* 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
2014-01-05 01:39:41 +00:00
Pete Batard 2a3b95a11a [ms-sys] ms-sys cleanup 2012-11-04 00:46:15 +00:00
Pete Batard d87f069963 [mbr] various fixes and improvements
* Adds USB masquerading according to disk ID in USB part table
* Adds debug feature
* Closes #74 - was due to flags not being properly saved/restored
* Closes #71
* Fixes reentrant INT_13h for some platforms (eg. IBM t43p reenters
  INT_13h to issue an SCSI passthrough, AH=0x50)
* Embed MBR as a resource rather than an ms-sys header
2012-03-25 21:35:38 +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 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 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 dc010cc418 [misc] separated ms-sys dependency from application
* set ms-sys to be built as a library
* also removed unused code from badblocks.c
2012-01-11 00:05:16 +00:00