Otherwise with the old (broken) checks, we allowed creating more than 4 partitions, and then we overflowed over memory and corrupted the partition list structures.
svn path=/trunk/; revision=74516
- Check for the first 3 bytes (and not 4) of the bootsector to not be zero (that's our criterium for a "valid instruction"). Therefore, a bootsector starting with "00 00 00 xx" (with xx the first byte of a volume identifier) is detected as invalid (because the BIOS won't be able to run it anyways) and therefore, needs to be overwritten.
- Check that its last 2 bytes are the valid 0xAA55 signature.
These improvements were suggested by Serge Gautherie and Peter Hater.
CORE-4870 CORE-12672 CORE-13188
- Move a DPRINT1 around.
svn path=/trunk/; revision=74512
[USETUP] Add Font Substitutions for Franklin Gothic and MS Trebuchet CORE-12878 CORE-12877
Now Luna uses better fonts but the font styles are still not used.
svn path=/trunk/; revision=74040
Fix unbootable system after recreating the boot partition
Patch by Wim Hueskens.
CORE-11232 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=74019
Define the language specific keyboard layout first. The US keyboard layout should always be the last one (aka fallback). Other languages will probably need the same fix!
CORE-10064 #resolve
svn path=/trunk/; revision=73996
[BOOTDATA]: Add a default "welcome.ini" file to the build, only for hybrid-cds. The ini files containing the localized resources are automatically converted to UTF-16 prior to inclusion in the hybridcd.
svn path=/trunk/; revision=73656
- Start implementing the possibility of customizing the Welcome.exe utility using configuration INI files (e.g. what we would do for FOSDEM, CLT, etc...)
- Resources cleanup.
svn path=/trunk/; revision=73590
Fix the ShowLastWin32Error helpers:
- don't display the last error string if it's ERROR_SUCCESS (since the code usually expects to display the last error message in case of errors);
- *always* call FormatMessage with the FORMAT_MESSAGE_IGNORE_INSERTS flag enabled. Indeed if it happens that the message string associated to an error ID contains insert parameter placeholders, and since we don't give here FormatMessage any argument array, the call would result into a crash without this flag.
svn path=/trunk/; revision=72897
- Fix leaking 'pSetupData' in case of failure. CID 1363604
- Since we know that in the remaining of the code, 'pSetupData' is a valid pointer, we can free it at the very end without rechecking whether it was NULL or not.
CORE-11591 #resolve
svn path=/trunk/; revision=71927
- Don't hardcode buffer string size in GetPartTypeStringFromPartitionType calls.
- Possibly check whether the first character of the PartTypeString string is NULL before printing a generic partition information in case the partition type is unknown. We might check instead for the STRING_FORMATUNKNOWN string...
- Don't check for PartTypeString being NULL since it's not a pointer. CID #1363481 and CID #1363494.
svn path=/trunk/; revision=71911
Don't override the hidden sectors value set during format when seting up bootsector.
This allows installing ReactOS on a FAT partition that doesn't start on sector 63. Successfully tested with a partition starting on sector 2048, for instance.
Patch by Wim Hueskes
CORE-8825 #resolve #comment Committed in r71418. Thanks for the debugging and the patch!
svn path=/trunk/; revision=71418
Update Simplified Chinese and Traditional Chinese Translation.
Patch by Henry Tang Ih.
CORE-10939 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=71005
- bootsup.c/.h, usetup.c: Save the old MBR sector in the system partition (this makes easier to restore the old one).
- fslist.c/.h, usetup.h: Fix header inclusion order.
- partlist.c/.h, usetup.c: On BIOS-PC architectures, the system partition can be formatted in any FS as long as it is the active partition (on the contrary, on architectures where such system partition is required, it is formatted in FAT). We currently do not have write support for all FSes out there (apart for FAT until now), so do a "clever" "trick" to work around this problem: on initialized disks, find the active partition and check its FS. If we support write access to this FS then we're OK, otherwise we change the (active) system partition for the one on which we are going to install ReactOS (which is, by construction, formatted with a FS on which we support write access).
The MBR (resp. the VBR) of the disk (resp. of the system partition) are always saved into files, making easy for people to boot on them (using FreeLdr) or restoring them.
CORE-10898
svn path=/trunk/; revision=70837