floppy (8) - Linux Manuals

floppy - format floppy disks


floppy [[--createrc >/etc/floppy] | [--format /dev/fdo] | [--format A:]]


The floppy utility does low-level formatting of floppy disks. floppy uses a simple interface for formatting disks in floppy controller drives and in ATAPI IDE floppy drives, such as LS-120 "Superdisk" drives. ATAPI IDE support requires a patch to the Linux kernel. Without a patched kernel floppy can only format disks in floppy controller drives.


Use caution in formatting anything other than standard 3.5" 1.4MB floppy disks in ATAPI IDE floppy drives. Most LS-120 drives, for example, accept a request to format 120MB high density disks, but most 120MB disks are not designed to be formatted. Low-level formatting will ruin them permanently.

floppygtk is a GTK interface to the floppy utility. If started from an X terminal window, floppy automatically runs floppygtk.


FC--probe, -pF[]

Probe for available floppy drives. floppy creates and displays a list of all detected floppy drives.

FC--createrc, -rF[]

Print a configuration file. floppy prints on standard output the results of the FC--probeF[] option in a configuration file format. This configuration file should be saved as FC/etc/floppyF[].


List floppy drives configured in FC/etc/floppyF[].

FC--capacity, -cF[]

Show the available format capacities of the floppy drive. Most floppy drives can format disks of different capacities. FC--capacityF[] lists each available format capacity as FCCxBxSF[] where: C - number of cylinders, B - blocks per cylinder, S - block size, in bytes. FC--capacityF[] also calculates how much that is, in kilobytes ormegabytes.

FC--format, -fF[]

Format the disk in the floppy drive.

FC--size=CxBxS, -s=CxBxSF[]

Specify the size of the disk to format. FC--formatF[] uses the first format capacity reported by FC--capacityF[] if the FC--sizeF[] option is not specified.

FC--ext2F[], or FC--ext3F[]

Create an ext2 or an ext3 (Linux) filesystem on the formatted floppy. This option requires the e2fsprogs package to be installed. This option runs mke2fs after formatting the floppy disk.


Create a FAT (DOS) filesystem on the formatted floppy. This option requires the dosfstools package to be installed. This option runs mkdosfs after formatting the floppy disk.

FC--noprompt, -nF[]

Suppress verbose output produced by FC--capacityF[] and FC--formatF[]. Use a raw output format that can be used by a front-end wrapper that runs floppy on the back-end.


Eject the floppy from the drive (IDE floppy drives with an electronic eject mechanism).


floppy --probe

This command probes the hardware and reports on the available floppy drives. A typical output from FC--probeF[] would be:

floppy 0.18 Copyright 2001-2003, Double Precision, Inc.

floppy    /dev/fd0: 3.5" HD
idefloppy /dev/hda: LS-120 VER5 00 UHD Floppy
  Revision: F523M5A9
  Serial number: 9803M9A03464

Here, floppy detected a high density floppy drive on FC/dev/fd0F[], and an IDE floppy drive on FC/dev/hdaF[].


A configuration file, FC/etc/floppyF[] must be created before floppy can format floppy disks. This configuration file can be created automatically by the FC--creatercF[] option. Each line in the configuration file contains the following information: FCtype<TAB>label<TAB>deviceF[]. "<TAB>" is a single ASCII TAB character. "device" is the device entry for the floppy drive. floppy requires that all requests for formatting floppies must use only the devices that appear in this configuration file. "label" is an alias for this device. floppy accepts "label:" instead of the actual device entry, for example: "floppy --format A:". "type" is either "FCfloppyF[]" or "FCidefloppyF[]".

The FC--creatercF[] option sets "FCAF[]" as the label for the first floppy drive, and "FCBF[]" for the second floppy drive. If FC--creatercF[] finds more than two floppy drives, FC--creatercF[] will use "FCFAF[]", "FCFBF[]", "FCFCF[]", and so on.


Most floppy drives can format disks of different capacities. The FC--capacityF[] option shows possible format capacities on the specified floppy device. A typical IDE floppy drive may report the following capacities:

$ floppy --capacity B:
Formattable capacities for /dev/hda:
  80x36x512       (1.40 Mb)
  80x30x512       (1.17 Mb)
  56x22x1024      (1.20 Mb)

A standard floppy drive attached to the floppy controller may report the following capacities:

$ floppy --capacity A:
Formattable capacities for /dev/fd0:
  80x36x512       (/dev/fd0H1440, 1.40 Mb)
  80x18x512       (/dev/fd0D720, 720 Kb)
  80x48x512       (/dev/fd0u1920, 1.87 Mb)
  80x28x512       (/dev/fd0u1120, 1.09 Mb)
  80x40x512       (/dev/fd0u1660, 1.56 Mb)
  80x26x512       (/dev/fd0u1040, 1.01 Mb)
  80x46x512       (/dev/fd0u1840, 1.79 Mb)
  80x42x512       (/dev/fd0u1680, 1.64 Mb)

The FC--capacityF[] option reports each available format capacity as "cylinders x blocks-per-cylinder x block size". IDE floppy drive only return a total block count, and FC--capacityF[] tries some common blocks-per-cylinder geometries, until it finds one that fits. Format capacities of standard floppy drives are obtained from the floppy device driver.


IDE floppy drives may report format capacities only after a disk is inserted. Without a floppy disk, IDE floppy drives may not report any available format capacities, or they may report the primary format capacity that they are designed to format. For example, most LS-120 drives default to reporting 120mb when there is no disk inserted in the drive:

$ floppy --capacity A:
Formattable capacities for /dev/hda:
  6848x36x512     (120.37 Mb)


Do not attempt to format 120Mb media in LS-120 drives. Most LS-120 disks are not user-formattable. They are factory-formatted, and attempts to format them in LS-120 drives will render them unusable (to be sure, check the label on the floppy itself). The floppy utility does not prevent one from trying to use any format capacity the IDE floppy drive claims to support. If the drive claims it can format a disk of the given capacity, floppy will oblige.


The FC--formatF[] option does a low-level format on the floppy.

$ ./floppy --format --size=80x36x512 A:
Formatting 1.40 Mb...   0%

FC--sizeF[] must specify a geometry returned by FC--capacityF[]. If FC--sizeF[] is absent, the first geometry is selected.

For floppy controller drives, the status counter will go from 0% to 100%. With most IDE floppy drives the counter will remain at 0% until the format finishes. Some IDE floppy drives are capable of reporting format progress status, which will would allow FC--formatF[] to count up from 0% to 100%.

$ ./floppy --format --verify A:

The FC--verifyF[] option verifies the low-level format. For floppy controller drives, the floppy disk is read from start to finish, after the low-level format concludes. For IDE floppy drives, the format request to the drive sets a flag that that requests low-level format verification.


Some IDE floppy drives ignore the verify request, or always verify low-level formats, whether or not it was requested.

$ ./floppy --format -V A:

The FC-VF[] option is like FC--verifyF[] except that IDE floppy drive formats are verified manually - like floppy controller drive formats - by reading the floppy disk from start to finish.



The configuration file.


Floppy controller drives.


ATAPI IDE floppy drives.


Double Precision, Inc.


fd(4), mkdosfs(8), mke2fs(8).