BACKUP (MS-DOS)
(→Software) |
|||
Line 38: | Line 38: | ||
* [https://winworldpc.com/product/ms-dos/3x MS-DOS], at WinWorld | * [https://winworldpc.com/product/ms-dos/3x MS-DOS], at WinWorld | ||
* MS-DOS 4.0 source code: [https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/CMD/BACKUP BACKUP], [https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/CMD/RESTORE RESTORE] | * MS-DOS 4.0 source code: [https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/CMD/BACKUP BACKUP], [https://github.com/microsoft/MS-DOS/tree/main/v4.0/src/CMD/RESTORE RESTORE] | ||
+ | * {{Deark}} | ||
== Sample files == | == Sample files == |
Latest revision as of 12:44, 23 August 2025
Some versions of MS-DOS have a BACKUP command, whose main use is to back up some or all of the contents of a hard disk to a set of floppy disks. The RESTORE command is used to restore files. The backup format was undocumented.
There are at least two quite different formats:
- The format used by MS-DOS 2.0(?) through 3.2. We'll call it 2.0 format.
- The format used by MS-DOS 3.3 through 5.x. We'll call it 3.3 format.
For the format used by MS-DOS 6.x's MSBACKUP.EXE utility, see Norton Backup.
Contents |
[edit] Format details
[edit] Format details - 2.0
Backed up files usually keep their original filenames. The data is modified, at least to add a header. In case of a duplicate filename (because the same filename appeared in different directories), a replacement extension like .@01 or .@02 is evidently used. A file may be split into multiple backup files, each containing a fragment of the original data.
An extra BACKUPID.@@@ file is written to each disk, containing general information about the backup. It doesn't contain any critical information.
[edit] Format details - 3.3
Just two files are written to each floppy disk: CONTROL.001 (or .002, etc.), and BACKUP.001 (.002, etc.). The CONTROL file contains information about the file data in the corresponding BACKUP file.
[edit] Identification
[edit] Identification - 2.0
BACKUPID.@@@: The first byte of the file is either 0xff
or 0x00
. The file is exactly 128 bytes in size. (TODO: More info)
Data files: It's possible to heuristically identify data files from their contents, but they don't really have any distinctive markings. The first byte of a file is either 0xff
or 0x00
. Non-fragmented archives start with bytes ff 01 00
. (TODO: More info)
[edit] Identification - 3.3
A CONTROL.* file starts with byte 0x8b
, followed by ASCII "BACKUP
" (which ends with two spaces).
The BACKUP.* files can't be identified from their contents, as they contain nothing other than the contents of the backed up files.
[edit] Specifications
- Tech docs from FreeDOS
- One could presumably learn about at least one of the formats from the MS-DOS 4.0 source code, listed below.
[edit] Software
[edit] Sample files
2.0 format:
- dexvert samples — archive/dosBackupFile
- [1] → *.ddi (DiskDupe format) → ...
- Examples of split files are LNALLMS.BAT from parts 1 and 2, and BTPARSE.EXE from parts 2 and 3.
3.3 format:
- {VOL583.ZIP, VOL584.ZIP} → ...
- [2] → *.imz → ...