R. Loew Electronics Disk Partitioning Utility Version 3.0 11/02/2015 Copyright (C) 2008-2015 by Rudolph R. Loew The R. Loew Electronics Disk Partitioning Utility provides the ability to precisely partition a Hard Drive using one or more Boot profiles. REQUIREMENTS DOS, Windows 95, 98, 98SE or ME. BIOS or DDO Support for the size of Hard Drive required to run in normal mode. TeraByte Plus (TBPLUS) Package if using Extended Features. CONTENTS RFDISK.EXE Disk Partitioning Utility (Full Version Only) RFDISKD.EXE Disk Partitioning Utility (Demo Version Only) INSTOVLY.EXE Overlay Installer (Full Version Only) UNINSTOV.EXE Overlay UnInstaller (Full Version Only) MANUAL.TXT Users Manual LICENSE.TXT License Terms and Conditions HISTORY.TXT Revision History DEMO VERSION The Demo Version supports all of the Commands except the Write, PutMBR and Xcize Commands. This allows you to try out the Program but you will not be able to change any of the Partitions on the Hard Drive. You will be able to Install and Uninstall the Multi Boot MBR but only Profile "0" will be available. INSTALLATION/UNINSTALLATION None required. Run Executable from DOS or a DOS Box to use. COMMAND SYNTAX RFDISK [-RAW] [-CHS] [-XT] [-ExtMBR] [-Overlap] [-NoSwap] [-FixSig] [-Hex] [-GPT] [-MaxGeom] [-#(MaxDrive)] Write|Diag The -RAW Option specifies that RFDISK should use Direct I/O to access the Hard Drive. Only standard Motherboard IDE drives can be accessed in this mode. This can be used on older computers that do not support large hard drives. The -CHS Option specifies that RFDISK should use CHS (Old Interrupt 13 Calls) Addressing rather than the default LBA (Interrupt 13 Extensions) Addressing. A maximum of 8GB can be Partitioned in this mode. If no Drives are supported by LBA Addressing, the CHS Option will be invoked automatically. If both -RAW and -CHS Options are specified, RFDISK will use CHS Direct I/O Commands rather than LBA Direct I/O Commands to the Hard Drives. The -XT Option enables 4096 Cylinder Support for CHS Mode. This Protocol was used in PC/XT and PC/AT Computers by some Third-Party Software, such as SCO-UNIX. It is not supported by DOS or Windows. The -ExtMBR Option enables an Extension to the MBR Format to support Hard Drives larger than 2TiB. The last 8GiB in the first 2TiB of the Hard Drive will be reserved. This Option also enables support for Windows Only Partitions. The TeraBye Plus Pacakge is required to utilize this Extension. The Overlap Option disables checking for Partition Overlaps. The NoSwap Option disables rearrangement of multiple Primary Partitions when the Active Partition is not the first. They will be placed in ascending order. The FixSig Option enables correction of Conflicting Signatures and/or Checksums, See SIGNATURES, CHECKSUMS and COLLISIONS Section below. The Hex Option causes all Sector, Head or Cylinder Numbers to be displayed in Hexadecimal. Numeric Input is not affected so "0x" must be prefixed to Hexadecimal values other than the Partition Type as described below. The GPT Option reserves Sectors 1 thru 34 for the Main GPT Table. This allows the sharing of MBR based Partitions and GPT Partitions. The MaxGeom Option forces the CHS Geometry of the End of the first Partition to 255 Heads and 63 Sectors regardless of the Geometry selected. This works around a bug in some older Intel Motherboards. The #MaxDrive limits the number of Hard Drives scanned. Some systems lockup if nonexistent Hard Drives are scanned. This Option can be used to prevent Lockup by limiting the number of drives scanned to the number of drives present. The format of this option is "-#" where # in the number of drives. For example, to scan two drives use "-2". The Write Parameter enables Writing of updated Partition information. The Diag Parameter disables Writing of updated Partition information, Instead a list of changes is shown. This is for Diagnostic purposes. Either Write or Diag must be specified. Otherwise the Syntax message will be shown and the Program will exit. Any other letter will be treated as Diag. Disk and Partition Errors and Warnings will be Displayed as they are encountered before the Initial Display Screen. SINGLE BOOT MODE Single Boot Mode is the default mode when initially Partitioning a Drive or when modifying a Drive that was Partitioned elsewhere. A standard Master Boot Record can be written and all Partitioning information is placed within this Sector. In this mode all Boot Profile References will be shown as "-" and all Partitions will be automatically linked to the default profile. MULTI BOOT MODE Multi Boot Mode provides for the support of multiple Boot Profiles. A proprietary Master Boot Record is used containing a copy of the Active Boot Profile. Successive Sectors contain standard MBRs or other types of Boot Records along with the Partition information for each successive Boot Profile. Once the Multi Boot MBR is written to a Hard Drive, RFDISK will automatically run in Multi Boot Mode for that Drive. Uninstalling or Erasing the Multi Boot MBR is required to return to Single Boot Mode. If Multi Boot Mode is enabled on the Boot Hard Drive, Overlays can be added to provide additional Boot Time Functionality (See Overlays Below). WARNING: Installing Windows Vista, 7 or 8 may install additional Partitions that could overwrite Data in Partitions that are not in the Active Profile. It is recommended that these Operating Systems be installed first. MULTI BOOT PROFILES Each Boot Profile is assigned a Letter (Case Insensitive), a Number or "@". Profile "0" is automatically defined as the First Profile. This Profile will be used by any Boot Profile that contains a Boot or Custom Record rather than a MBR. Reserved Profiles "D" and "W" also use this Profile. Reserved Profiles "D" and "W" are used with additional support Programs to support DOS 6 and DOS 7 Boots along with Windows using the same C: Partition. Multi Boot Mode can be used on Non-Boot Drives to allow selecting Partition Profiles at Boot Time. The Boot Drive must be setup in Multi Boot Mode to support this option. Otherwise Partition Profile Selection must be done by running RFDISK to change the Profile Selected and Rebooting. If a Profile is named "@" and is the Active Profile, it will only be used if the Drive is not the Boot Drive. The "0" Profile will be used instead if the Drive is the Boot Drive. This allows a Drive to have a Boot Partition that is not visible when the Drive is not the Boot Drive. OVERVIEW MODE At startup, after a Write Command, or a Multi Boot Setup Command, the Program goes into Overview Mode. In this mode all Drives are displayed and Partition editing Commands are disabled. Using the Drive "D" Command with no Drive Number will also switch to Overview Mode. Multi Boot Setup Commands should be run in this mode, otherwise any unwritten changes will be lost. If there is only one Hard Drive, overview mode is disabled and RFDISK will go directly into Drive Mode. DRIVE MODE When the Drive "D" Command is used with a Drive Number, RFDISK will enter Drive Mode. In this mode only one Drive is displayed and the Drive Editing Commands will be enabled. This mode is exited when the Write "W" Command is executed. Using a Multi Boot Setup Command, or quitting will exit this mode without saving any unwritten changes. Selecting another Drive will discard unwritten changes and switch to the new Drive. DISPLAY When RFDISK is started and after each Command, RFDISK displays the partitions currently defined. In Overview Mode all Drives are displayed. In Drive Mode, only the Selected Drive is Displayed. After Writing or using a Multi Boot Setup Command, all Drives are rescanned and Validated. The First line contains the Drive Number, Estimated Geometry and Profile Information for a Drive. Partsecs is the Number of Sectors used by the Multi Boot MBR. In Single Boot Mode the Count will be 1. The Terminating Null Sector is not included. The Brackets contain a list where each character represents a sector. "." is the Multi Boot MBR "0" is the First (Default) Profile Sector "-" is the Standard MBR in Single Boot Mode Any other Number or Letter represents a Multi Boot Profile ID. The Terminating Boot Rotator Sector used in Multi Boot Mode is not included. The Active Entry is the ID of the currently Active Profile and represents the Partition Profile currently written to the MBR. This is the Profile that will be used if the Computer is Booted from a Different Drive such as a Floppy or USB Drive without invoking the Multi Boot MBR. If the Drive is larger then 2TiB and the -ExtMBR Option is specified, the size of the Drive using the Extended Partition Format will be displayed. If the estimated Drive Geometry does not match the Interrupt 13 reports, the discrepancies are displayed. It is not unusual for the INT13(48) Geometry to disagree. If the INT13(8) Geometry disagrees, CHS Partitions will not work in the current Computer if the Geometry is not reconciled. If the Hex Option was specified on the Command Invocation, the numerical values in the above items will be displayed in Hexadecimal. If the Drive has been configured in Multi Boot Mode, but the proprietary MBR code has been overwritten, a warning may be displayed. This will happen if Windows is installed after a Multi Boot Drive is setup. Use the MBR Command to reload the Multi Boot MBR Code and Write it to the Drive. If the Multi Boot Mode is not recognized, use the Install/Uninstall Multi Boot Command and specify MBR at the Prompt to restore the MBR. A Warning is displayed if the MBR is not recognized. If a Disk Manager (BOOTMAN) MBR is detected a notice will be displayed. If Multi-Boot Profiles are enabled and a GPT is present, a Warning will appear if the GPT Option was not specified in the Command Invocation. The following lines show the Defined Partitions for the particular Drive. Part indicates a Primary Partition or Extended Partition Header LPart indicates a Logical Partition Type= is the Hexadecimal Partition Type Code 0 = Filler (Undefined) 1 = FAT12 CHS Partition 4 = FAT16 CHS Partition (Less Than 32MB) 5 = Extended CHS Partition 6 = FAT12/FAT16 CHS Partition (Over 32MB) 7 = NTFS 9 = Windows Only Extended Partition B = FAT32 CHS Partition C = FAT32 LBA Partition D = Windows Only FAT32 LBA Partition E = FAT16 LBA Partition F = Extended LBA Partition Other codes are used by other Operating Systems. Some Partitioners hide Partitions by adding 10 (Hex) to the Type. DOS 6.2 recognizes Types 1, 4, 5 and 6 and is limited to 8GB. Primary and Extended Partitions ending above 1023 Cylinder (approx 8GB typically) must be LBA Partitions (7, C, E or F). All DOS Logical Partitions must be defined using CHS Partition Types, unless used with the TBPLUS modified IO.SYS file. They will take on the attributes of their enclosing Extended Partition. All Partitions defined within the range of an Extended Partition are set to Logical Partitions and are referenced as Part of it. Start= is the Starting Cylinder. A trailing "+" indicates that the Partition starts on Head 1. A trailing "++" indicates that the Partition start has been offset for Alignment purposes. Logical Partitions always start on Head 1 as Head 0 holds the Extension Record. A Primary Partition on Cylinder 0 must also start on Head 1. An Extended Partition cannot start on Cylinder 0. End= is the Cylinder after the End of the Partition. If a Partition does not Start or End on Head 0 or 1 and Sector 1, the entry is shown as Cyl/Head/Sec. If the Hex Option was specified on the Command Invocation, the Start and End values will be displayed in Hexadecimal. The estimated Geometry is used to convert between Cylinder and Sector Numbers. For the Default Geometry of 255 Heads and 63 Sectors, each Cylinder is a little less than 8MB. If an existing Partition has a defined CHS geometry it is used, otherwise INT13 calls are used to get the Geometry. If none are valid, 255/63 is used. The Geometry "G" Command can be used to manually set the Geometry used. The Status field indicates the status of the Boot Record for the Partition: VALID indicates a Boot Record with Valid Partition Info is present INV indicates a Boot Record with Incorrect Info is Present DOSOF indicates a Boot Record with Valid DOS 6 Partition Info is present ERASE! indicates a Boot Record that has been marked for erasure blank indicates no detected Boot Record or is not a DOS Partition A Partition marked ERASE! will have it's Boot Record Erased if the Write Command is used. The Erase Flag can be Toggled On or Off with the Erase "E" Command. After Writing, the Status field will be blank indicating no Boot Record. Ref= lists the Profile ID(s) this Partition is Linked to. This Partition will be copied to the MBR, and enabled, if any one of the listed Profiles is invoked during Boot. In Single Boot Mode the Partition will always be linked to the MBR and a "-" will be shown in the Display. Act= lists the Profile ID(s) in which this Partition will be the Active Partition. This Partition will be tagged as Active in each of these Profiles. In Single Boot Mode there is no need to specify a Profile and the Display will show a "-" if it is marked Active. The Active Partition will be placed First in the Partition Table regardless of Position unless the NoSwap option is used in the RFDISK Command Line. If Overlays are present, they will be listed at the end of the listing for the Drive they are located on. After all Drives are listed, any Collisions between Signatures and or Checksums will be listed. If the FixSig Option has been specified, you will be Queried after each Collision is listed to correct the Collision. See the SIGNATURES, CHECKSUMS and COLLISIONS Section below. COMMANDS RFDISK commands consist of three types of Commands. Overview Commands are used to take actions that are not specific to a single Drive and to select a Drive. These Commands are always enabled. Drive Commands affect only a single Drive and are enabled only when a Drive is selected. Multi Boot Setup Commands are used to Install, UnInstall and Modify Multi Boot structures. These are always enabled but will discard any changes made in Drive mode. All Commands only require that the first letter of the Command be used. The "?" Commands displays a summary of enabled Commands. Pressing ENTER alone redisplays the Drive or all Drives depending upon mode. ARGUMENTS The arguments to Commands have the following format: Partition Types are in Hexadecimal, with or without leading 0. Do not add 'H' to the end. A leading "0x" is optional. Profile References are single Letters or Numerals. If Multi-Boot Profiles are not set on a Drive, leave blank. A '-' will be displayed in reports. '?', '*', or [SPACE] can be used in the 'S' Command. All other numerical arguments can be entered as follows: Decimal: #### (ex. 123) leading zeroes are ignored Hex: 0x#### (ex. 0x123) Octal: 0o#### (ex. 0o123) Binary: 0b#### (ex. 0b101) Drive numbers start with 0 for the first Hard Drive (Int 13 DL=0x80) Floppy Drives cannot be accessed. The 'Add' Command supports Head/Sector Offset options '+' or '++'. If the -ExtMBR Option has been specified, an additional Format is enabled for entering Partition Start and End locations beyond the 2TiB limit. Instead of entering Cylinder numbers, the following Format is used: ###:### The Number to the left is the high 32 Bits of the Sector # as a 64 Bit Number. This is currently limited to between 1 and 255. For a 512-Byte Sector Size, this translates to 2TiB each. The Number to the right is Bits 24-31 of the Sector # as a 64 Bit Number. This is currently limited to between 0 and 255. For a 512-Byte Sector Size, this translates to 8GiB each. This allows specification of the Start and Stop Sector over a range of 512TiB in multiples of 8GiB, for a 512-Byte Sector Hard Drive. Formats cannot be mixed and the length of a Partition must be less than 2Tib for a 512-Byte Sector Hard Drive. These limitations do not apply to an Extended Partition (Type 5 or F). This Extended MBR Format is valid only for FAT32 Partitions (Types B and C). No Driver support is currently available for FAT12 or FAT16. OVERVIEW COMMANDS These Commands are enabled in Overview Mode as well as Drive Mode. The Drive (D) Command selects a Drive to Edit. Selecting a Specific Drive enables Drive Mode. D # selects Drive # D discards any unwritten changes and returns to Overview Mode The current settings of the Drive will be displayed. If a previous Drive was selected, any unwritten changes are discarded. The Hide (H) Command hides partitions above a specified limit to reduce the number of Partitions displayed. H # hides Partitions above Cylinder # H 0 hides all Logical Partitions H restores display of all Partitions Hidden Partitions are shown as a line of asterisks, one for each Partition The OldValues (O) Command discards any unwritten changes and rereads the Drives. The Mode is not changed. The syntax is as follows: O The +InputFile (+) Command attaches a Text file to be used for Command Input. Control is returned when End Of File is reached. This can be used to execute a predetermined series of Commands and can be used with the Build "B" Command to restore an earlier configuration or to duplicate a configuration. +FILE Runs the Commands contained within "FILE" The Quit (Q) Command exits RFDISK. All unwritten data is discarded. The Command Syntax is: Q DRIVE COMMANDS Drive Commands affect a single drive and are only enabled in Drive Mode. Changes are not written to the Drive until the WRITE Command is executed. The Add (A) Command adds a new Partition to the Drive. The Syntax is as follows: A Type Start End [+][+] Type is the Hexadecimal Partition Type Start is the Start Cylinder End is the Cylinder after the End of the Partition The Optional "+" specifies that the Partition Starts on Head 1 instead of 0. Using "++" specifies that the Partition Starts on Head 2 instead of 0 or 1 if the Number of Sectors per Track is Odd. Otherwise it will start on the Second Sector of Head 1. This is for Alignment purposes (see ALIGNMENT below). This Option is not available for Partitions using the ExtMBR feature. Logical Partitions and Partitions starting at 0 automatically start on head 1. If you set the last Logical Partition on the last Hard Drive to a Non-DOS Type, such as NTFS, RFDISK will display a Warning. A bug in the standard DOS IO.SYS File can cause problems if this is done. If you are using the TBPLUS Patches on your System, or a Patched IO.SYS, you can safely ignore this Warning. The Change (C) Command changes the Type and/or End of an Existing Partition The Syntax is as follows: C Type Start NewType [NewEnd [NewStart]] Type is the Hexadecimal Partition Type Start is the Start Cylinder NewType is the New Hexadecimal Partition Type The optional NewEnd sets the Cylinder after the End of the Partition The optional NewStart sets the Starting Cylinder of the Partition WARNING: Changing the Size or Offset of an Existing Partition does not move or resize the data or the Boot Record. The Partition will be marked INVALID. Saving the changes may corrupt Data so the change cannot be safely done later. The Remove (R) Command removes an existing Partition. The Syntax is as Follows: R Type Start Type is the Hexadecimal Partition Type Start is the Start Cylinder Removing a Partition does not erase the Boot Record or data so the Partition can be restored intact, even after a Write, if it is not overwritten. Removing an Extended Partition will remove all Logical Partitions within it. They will have to be restored individually. If you haven't Written the changes you can use the "O" to undo them. The KillAll (K) Command removes all Partitions from a Drive. This can be used with the SectorImageFile (>) Command saves the MBR and Multi Boot Profile Sectors from the current Drive to a File. This File can be used to reproduce the complete configuration. >FILE Saves the Sectors into "FILE" The SectorImageFile Command to save an Image of the Drive Configuration(s) for each Drive. 2. Install Windows. 3. Use the SectorImageFile Command to save your Setup before Installing. BOOT PROFILE SELECTION When setup in Multi Boot Mode, a Partition Profile can be selected at Boot time. Normally the last used Profiles will be reused if the Computer is rebooted. To activate the Multi Boot Menu, Press and Hold down the Left-Control Key or Left-Alt Key before the Hard Drive boots. The Drive Number, a Dash and the Previous Profile ID will be displayed and a ">" prompt will be shown. The Previous Profile ID will be blank if the NULL Profile is selected. Pressing ENTER will reuse the previous Profile for this and all remaining Drives. Press the Number or Letter Key to select the same or a new Profile. Pressing the [SPACE] Key will select the NULL Profile. Response is immediate, so a selection cannot be undone. Successive drives will repeat these steps until there are no more drives. Drives that do not have a Multi Boot MBR will be skipped. If you do not Press the Left-Control or Left-Alt Key, the current Profiles will be shown for each Drive in sequence without stopping to prompt. Pressing the "?" key before pressing the desired Profile key will force the Drive to query on the next Boot. "?" will be shown as the previous Profile on the next Boot and you will have to enter a new Profile. The "?" kay can be used each time to force a query on the following Boot. Pressing the "*" key before pressing the desired Profile key will force the Drive to query on all successive Boots. To turn off the permanent query mode, press the "?" key and enter a new Profile. The Drive will query one more time on the following Boot. It will not query again unless you use the "?" or "*" keys again or use the Left-Control or Left-Alt Key later. The Right-Control Key is not used by RFDISK so it can be used to bring up a Windows Boot Menu without triggering a Multi Boot Prompt. Whenever a Profile is manually selected, the Partition table from the Profile's Sector is copied to the main MBR. This allows DOS, Windows etc. to read the Partitions. This process is repeated on all succeeding Drives. The MBR or Boot Record from the First Drive's Profile is read into memory and executed. If the Boot Drive has the NULL Profile selected, a Drive Rotation Overlay will be installed. This Overlay will scan the following Drives until it finds one not set for the NULL Profile. The Drives will be renumbered so this Drive becomes the Boot Drivc, the remaining Drives will assigned 81H, 82H, ... The Drives before the new Boot Drive will be assigned Drive Numbers after the others. Be aware of this if using RFDISK under such conditions, as the Drive Numbers won't match their Physical Configuration unless you use -RAW Mode. After selection is complete, a Message will appear indicating the amount of Drive Rotation. If the Query Options "?" or "*" are active on the new Boot Drive, you will be queried again. You will need to Press "?" to reenable the "?" query Option and them reenter the Partition ID character. The drive rotation message may be hard to read as the screen may update almost immediately as Bootup progresses. The scan will repeated on the next Reboot, so the rotation is not permanent. If Boot fails and you Boot from a Floppy or CD, without Pressing RESET or Powering Down, the rotation may remain in effect. REPAIRING OR REBUILDING AN EXISTING PARTITION TABLE If you have a saved copy of your Configuration, you can use the "