Fix unbootable system after recreating the boot partition
Patch by Wim Hueskens.
CORE-11232 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=74019
- 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
- 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
- Use a more complete list of partition type names for displaying the partition types in the list.
CORE-4043 #resolve
- HACK (for ChkDsk): Guess the filesystem type of the current partition, based on its partition type ID. This is hackish because partitions with the same ID can be formatted with different file systems (e.g.: Linux partition ID 0x83 can cover EXT2/3/4, ReiserFS, etc). Therefore do NOT use GetPartTypeStringFromPartitionType for that!! (see r68156 and r70283).
svn path=/trunk/; revision=70792
Little Improvements:
* Duplicate code removement regarding the simple list pages (and now everyone has pageup/down + selection via char)
* Duplicate code removement regarding the partition type string
* Document the pages
Patch my Michael Fritscher
#CORE-10012 #resolve #comment Thanks a lot!
svn path=/trunk/; revision=70283
- Add description of the 'L' key to the partition selection page.
- Make the 'ENTER' key work for logical partitions too. Selected unpartitioned space will be converted to a logical partition.
Patch by Gerhard Gruber (sparhawk).
CORE-9641 #resolve
svn path=/trunk/; revision=68339
- ReAllocateLayoutBuffer: Write all new partition table entries to the disk.
- UpdateDiskLayout:
- Create link entries for logical partitions.
- Wipe unused logical partiton table entries.
svn path=/trunk/; revision=68257
UpdateDiskLayout:
- Resize the layout buffer if necessary.
- Start writing logical partitions to the disk.
- Disable the code that wipes unused table entries. May be enabled later.
Right now, you can only create one logical partition because the link entries are not created yet.
svn path=/trunk/; revision=68235
UpdateDiskLayout:
- Set the proper HiddenSectors value.
- Fix counting the PartitonaNumber.
UpdatePartitionNumbers() has become obsolete. Remove it.
svn path=/trunk/; revision=68226
- Implement mandatory filesystem selection, formatting and filesystem checks for all new partitons.
- Implement optional filesystem selection, formatting and filesystem checks for formatted boot and install partitions.
- Enable installing ReactOS on primary partitions other than the first one. Usetup will install Freeloader on the first (or active) partition (aka boot partition) and install ReactOS on the chosen partition (aka install partition).
svn path=/trunk/; revision=68112
Implement pre-install 'select format' and 'format' pages. These enable the user to re-format an existing install partitition.
CORE-9005 #resolve
svn path=/trunk/; revision=65962
Change the partition creation workflow, so that the user is forced to choose a file system type and format a partition after it has been created.
svn path=/trunk/; revision=65899
- DeleteCurrentPartition: A deleted partition is of type PARTITION_ENTRY_UNUSED.
- ScrollDownPartitionList / ScrollUpPartitionList: Ignore container partitions if they are not used.
CORE-8413 #resolve #comment Fixed in r64482.
svn path=/trunk/; revision=64482
- ScanForUnpartitionedDiskSpace: Scan the list of logical partitions for unpartitioned space too.
- Fix a little typo.
svn path=/trunk/; revision=63421
- Fix a failed partition type assignment, when unpartitioned disk space is converted to an extended partition.
- Rename the extended partition list to logical partition list.
- Add a pointer to an extended partition to the disk entries. And keep it up-to-date when the primary partition list is built or modified.
- Add the 'Unpartitioned space' partiton entry to the logical partition list when an extended partition has been created.
- Remove all logical partition entries when the coresponding extended partition will be deleted.
svn path=/trunk/; revision=63411
First part of the partition management code rewrite. This part fixes the handling of primary partitions. Extended partitions and logical drives are not handled yet. Safety checks and warnings are still missing! Partitions created by the new code are accepted by gparted and Windows.
svn path=/trunk/; revision=63355
* Remove one time inclusions from the main header and put them back where they belong.
* Improve the GUIDs situation.
* Improve the main header.
CORE-7716
svn path=/trunk/; revision=61609
- We proudly merge the first charge of the usb-bringup branch. We do want to stress hardware support is still under heavy development and testing in real hardware is experimental
- Merge the Human Interface Device Stack(HID) which is used for mice / keyboards and other devices which use the USB interface, consisting of hidusb, hidparse, hidclass, mouhid, kbdhid
- Merge the composite driver, supports USB composite devices, laid out in usbccgp
- Merge the generic hub driver, which supports the USB root hub and in future USB hubs. Driver is usbhub
- Merge the Open Host Controller Interface driver (ohci)
- Merge the Enhanced Host Controller Interface driver (ehci)
- Merge the many fixes in other areas of ReactOS needed for USB to work (ntoskrnl, pci, inf, umpnpmgr, usetup)
- Special thanks goes the Haiku team, whose excellent code has provided a great base for the development of the new ReactOS USB / HID stack
- The development of the USB stack has shown the great potential when ReactOS developers team up together to achieve a common goal. The involved developers are here, listed alphabetically:
Alex Ionescu
Amine Khaldi
Cameron Gutman
Johannes Anderwald
Michel Martin
Thomas Faber
Thomas Lotz(Haiku)
Let's start the ReactOS revolution
svn path=/trunk/; revision=55555