Jump to content

format (command)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Ghettoblaster (talk | contribs) at 17:28, 26 July 2020. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

format
Written inMS-DOS: x86 assembly language
FreeDOS: C
Operating systemRT-11, 86-DOS, MS-DOS, PC DOS, OS/2, ISIS-II, iRMX 86, TRIPOS, AmigaDOS, Z80-RIO, OS-9, MSX-DOS, FlexOS, PC-MOS, SpartaDOS X, DR DOS, ROM-DOS, 4690 OS, FreeDOS, PTS-DOS, SISNE plus, Windows, ReactOS
TypeCommand
LicenseMS-DOS: MIT
FreeDOS, ReactOS: GPL

In computing, format, a command-line utility that carries out disk formatting. It is a component of various operating systems, including 86-DOS, MS-DOS, IBM PC DOS and OS/2, Microsoft Windows and ReactOS.

Overview

The command performs the following actions by default on a floppy disk, hard disk drive, solid state (USB), or other magnetic medium (it will not perform these actions on optical media):

  1. clearing the FAT entries by changing them to 0x00
  2. clearing the FAT root directory by changing any values found to 0x00[nb 1][1][2][3]
  3. checking each cluster to see if it is good or bad and marking it as good or bad in the FAT

Any storage device must have its medium structured to be useful. This process is referred to[by whom?] as "creating a filesystem" in Unix, Linux, or BSD.[4] Under these systems different commands are used. The commands can create many kinds of file systems, including those used by DOS, Windows, and OS/2.

Implementations

FORMAT.COM in IBM PC DOS 1.0
FORMAT.CMD in CP/M-86

The command is also available in Intel ISIS-II,[5] iRMX 86,[6] MetaComCo TRIPOS,[7] AmigaDOS,[8] Zilog Z80-RIO,[9] Microware OS-9,[10] DR FlexOS,[11] TSL PC-MOS,[12] SpartaDOS X,[13] Datalight ROM-DOS,[14] IBM/Toshiba 4690 OS,[15] PTS-DOS,[16] SISNE plus,[17] and in the DEC RT-11[18] operating system.

Microsoft DOS and Windows

On MS-DOS, the command is available in versions 1 and later.[19]

Optionally (by adding the /S, for "system" switch), format can also install a Volume Boot Record. With this option, Format writes bootstrap code to the first sector of the volume (and possibly elsewhere as well). Format always writes a BIOS Parameter Block to the first sector, with or without the /S option.

Another option (/Q) allows for what Microsoft calls "Quick Format". With this option the command will not perform steps 2 and 3 above.[citation needed] Format /Q does not alter data previously written to the media.

Typing "format" with no parameters in MS-DOS 3.2 or earlier would automatically, without prompting the user, format the current drive; however in MS-DOS 3.3 and later it would simply produce the error: "required parameter missing".[citation needed]

DR/Novell DOS

DR DOS 6.0 includes an implementation of the format command.[20]

FreeDOS

The FreeDOS version was developed by Brian E. Reifsnyder and is licensed under the GPL.[21]

ReactOS

The format command on ReactOS

The ReactOS implementation is based on a free clone developed by Mark Russinovich for Sysinternals in 1998. It is licensed under the GPL.[22] It was adapted to ReactOS by Emanuele Aliberti in 1999 and supports FAT, FAT32, FATX, EXT2, and BtrFS filesystems.

See also

Notes

  1. ^ The directory entries get filled with 0x00 since MS-DOS 1.25 and PC DOS 2.0. If the Format command line option /O is provided, the first byte of each dire entry is set to 0xE5h to create a FAT format useable by PC DOS 1.0-1.1. However, not giving /O will significantly speed up directory searches under MS-DOS 1.25 and PC DOS 2.0 and higher. Older versions of MS-DOS, PC DOS, and 86-DOS only supported the 0xE5 marker.

References

  1. ^ Paterson, Tim (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v20source/FORMAT.TXT". Computer History Museum, Microsoft. Retrieved 2014-03-25. (NB. While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  2. ^ Shustek, Len (2014-03-24). "Microsoft MS-DOS early source code". Software Gems: The Computer History Museum Historical Source Code Series. Retrieved 2014-03-29. (NB. While the author claims this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  3. ^ Levin, Roy (2014-03-25). "Microsoft makes source code for MS-DOS and Word for Windows available to public". Official Microsoft Blog. Archived from the original on 2014-03-28. Retrieved 2014-03-29. (NB. While the author claims this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
  4. ^ newfs(8): EXAMPLE section – FreeBSD System Manager's Manual
  5. ^ ISIS II Users Guide
  6. ^ iRMX™86 INTRODUCTION AND OPERATOR'S REFERENCE MANUAL For Release 6
  7. ^ https://www.pagetable.com/docs/amigados_tripos/tripos_manuals.pdf
  8. ^ https://archive.org/details/1988-rugheimer-spanik-amigados-quick-reference
  9. ^ Z80-RIO OPERATING SYSTEM USER'S MANUAL
  10. ^ Paul S. Dayan (1992). The OS-9 Guru - 1 : The Facts. Galactic Industrial Limited. ISBN 0-9519228-0-7.
  11. ^ http://www.bitsavers.org/pdf/digitalResearch/flexos/1073-2003_FlexOS_Users_Guide_V1.3_Nov86.pdf
  12. ^ PC-MOS User Guide
  13. ^ SpartaDOS X 4.48 User Guide
  14. ^ "Datalight ROM-DOS User's Guide" (PDF). www.datalight.com.
  15. ^ https://archive.org/details/4690OSV6r2UsersGuide/page/n169
  16. ^ "PTS-DOS 2000 Pro User Manual" (PDF). Buggingen, Germany: Paragon Technology GmbH. 1999. Archived (PDF) from the original on 2018-05-12. Retrieved 2018-05-12.
  17. ^ SISNE plus - Referência Sumária | Datassette
  18. ^ http://paleoferrosaurus.com/beta/documents/rt11help.html#FORMAT
  19. ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
  20. ^ DR DOS 6.0 User Guide Optimisation and Configuration Tips
  21. ^ http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/format.html
  22. ^ https://github.com/reactos/reactos/blob/master/base/system/format/format.c

Further reading