BACKUP (MS-DOS)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Software)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
|subcat=Archiving
+
|subcat=Backup
|extensions={{ext|@@@}}, others
+
|extensions={{ext|@@@}}, {{ext|@01}}, {{ext|001}}, others
 
}}
 
}}
The '''BACKUP''' command in MS-DOS backed up the contents of a hard disk to files of a proprietary, undocumented format which could be returned to their original file structure using the RESTORE command. A number of different formats have been used in different versions of DOS. Files generally had extensions consisting of three digits (incremented consecutively across the files of the backup set), with a control file called ''BACKUPID.@@@''. The aim was to store the entire file and directory structure of a disk onto a set of files that each fit on a floppy disk.
+
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.
  
The developers of FreeDOS have attempted to reverse-engineer these formats to produce backup and restore commands in that system that are compatible with Microsoft's.
+
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]].
 +
 
 +
== Format details ==
 +
=== 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.
 +
 
 +
=== 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.
 +
 
 +
== Identification ==
 +
=== Identification - 2.0 ===
 +
BACKUPID.@@@: The first byte of the file is either {{magic|0xff}} or {{magic|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 {{magic|0xff}} or {{magic|0x00}}. Non-fragmented archives start with bytes {{magic|ff 01 00}}. (TODO: More info)
 +
 
 +
=== Identification - 3.3 ===
 +
A CONTROL.* file starts with byte {{magic|0x8b}}, followed by ASCII "{{magic|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.
 +
 
 +
== Specifications ==
 +
* [https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/restore/brtecdoc.htm 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.
 +
 
 +
== Software ==
 +
* [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]
 +
* {{Deark}}
 +
 
 +
== Sample files ==
 +
2.0 format:
 +
* {{DexvertSamples|archive/dosBackupFile}}
 +
* [{{DiscMasterURL|browse/30126/07.iso/c/c006}}] → *.ddi ([[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:
 +
* {{{CdTextfiles|pcblueii/PCBLUE/VOL583.ZIP|VOL583.ZIP}}, {{CdTextfiles|pcblueii/PCBLUE/VOL584.ZIP|VOL584.ZIP}}} → ...
 +
* [{{DiscMasterURL|browse/15395/NSS_Collection.iso/3-103%20might%20and%20magic%20iii%20%20144}}] → *.imz → ...
  
 
== Links ==
 
== Links ==
* [http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/restore/brtecdoc.htm Tech docs from FreeDOS]
 
 
* [http://www.computerhope.com/backup.htm Backup command help]
 
* [http://www.computerhope.com/backup.htm Backup command help]
  
 +
[[Category:Archiving]]
 
[[Category:Microsoft]]
 
[[Category:Microsoft]]
 +
[[Category:MS-DOS]]
 +
[[Category:Multi-file formats]]
 
[[Category:File formats with too many extensions]]
 
[[Category:File formats with too many extensions]]

Latest revision as of 12:44, 23 August 2025

File Format
Name BACKUP (MS-DOS)
Ontology
Extension(s) .@@@, .@01, .001, others

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:

3.3 format:

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox