Chapter 32 The format Utility
(Reference)
This chapter describes the format utility's menu
and commands.
This is a list of the overview information in this chapter.
See Chapter 28, Disk Management (Overview) for a conceptual overview of
when to use the format utility.
Requirements or Restrictions for Using the format
Utility
You must be superuser to use the format utility.
If you are not superuser, you will see the following error message when you
try to use format.
% format
Searching for disk...done
No permission (or no disk found)!
|
Recommendations for Preserving Information When Using format
-
Back up all files on the disk drive before doing anything
else.
-
Save all your defect lists in files by using format's dump command. The file name should include
the drive type, model number, and serial number.
-
Save the paper copies of the manufacturer's defect
list shipped with your drive.
Format Menu and Command Descriptions
The format main menu looks like the following:
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, product and revision
volname - set 8-character volume name
quit
format>
|
The table below describes the format main menu items.
Table 32-1 The
format Main Menu Item Descriptions
|
Item
|
Command or Menu?
|
Allows You To ...
|
|
disk
|
Command
|
Choose the disk that will be used in subsequent operations
(known as the current disk). All of the system's drives are listed.
|
|
type
|
Command
|
Identify the manufacturer and model of the current disk.
A list of known drive types is displayed. Choose the Auto configure option for all SCSI-2 disk drives.
|
|
partition
|
Menu
|
Create and modify slices. See "The partition Menu"
for more information.
|
|
current
|
Command
|
Display the following information about the current disk:
|
|
format
|
Command
|
Format the current disk, using one of these sources of
information in this order:
-
Information found in the format.dat file
-
Information from the automatic configuration process
-
Information you enter at the prompt if there is
no format.dat entry
|
|
fdisk
|
Menu
|
Run the fdisk program to create a Solaris fdisk partition.
|
|
repair
|
Command
|
Repair a specific block on the disk.
|
|
label
|
Command
|
Write a new label to the current disk.
|
|
analyze
|
Menu
|
Run read, write, compare tests. See "The analyze Menu"
for more information.
|
|
defect
|
Menu
|
Retrieve and print defect lists. See "The defect Menu"
for more information.
|
|
backup
|
Command
|
Search for backup labels.
|
|
verify
|
Command
|
Print the following information about the disk:
|
|
save
|
Command
|
Save new disk and partition information.
|
|
inquiry
|
Command
|
Print the vendor, product name, and revision level of the
current drive (SCSI disks only).
|
|
volname
|
Command
|
Label the disk with a new eight-character volume name.
|
|
quit
|
Command
|
Exit the format menu.
|
The partition Menu
The partition menu looks like this.
format> partition
PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
quit
partition>
|
The table below describes the partition menu items.
Table 32-2 The
partition Menu Item Descriptions
|
The Command ...
|
Allows You To ...
|
|
change `x' partition
|
Specify new slice:
-
Identification tag
-
Permission flags
-
Starting cylinder
-
Size
|
|
select
|
Choose a predefined slice table.
|
|
modify
|
Change all the slices in the slice
table. This command is preferred over the individual change
`x' partition commands.
|
|
name
|
Specify a name for the current slice
table.
|
|
print
|
View the current slice table.
|
|
label
|
Write the slice map and label to the
current disk.
|
|
quit
|
Exit the partition menu.
|
IA: The fdisk Menu
The fdisk menu appears on IA based systems only
and looks like this.
format> fdisk
Total disk size is 1855 cylinders
Cylinder size is 553 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ======== ===== === ====== ===
1 DOS-BIG 0 370 371 20
2 Active SOLARIS 370 1851 1482 80
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Change Active (Boot from) partition
3. Delete a partition
4. Exit (Update disk configuration and exit)
5. Cancel (Exit without updating disk configuration)
Enter Selection:
|
The table below describes the fdisk menu items.
Table 32-3 IA: The
fdisk Menu Item Descriptions
|
The Command ...
|
Allows You To ...
|
|
Create a partition
|
Create an fdisk
partition. You must create a separate partition for each operating environment
such as Solaris or DOS. There is a maximum of 4 partitions per disk. You will
be prompted for the size of the fdisk partition as a percentage
of the disk.
|
|
Change Active partition
|
Specify which
partition will be used for booting. This identifies where the first stage
boot program will look for the second stage boot program.
|
|
Delete a partition
|
Delete a previously created partition.
This command will destroy all the data in the partition.
|
|
Exit
|
Write a new version of the partition
table and exit the fdisk menu.
|
|
Cancel
|
Exit the fdisk menu
without modifying the partition table.
|
The analyze Menu
The analyze menu looks like this.
format> analyze
ANALYZE MENU:
read - read only test (doesn't harm SunOS)
refresh - read then write (doesn't harm data)
test - pattern testing (doesn't harm data)
write - write then read (corrupts data)
compare - write, read, compare (corrupts data)
purge - write, read, write (corrupts data)
verify - write entire disk, then verify (corrupts data)
print - display data buffer
setup - set analysis parameters
config - show analysis parameters
quit
analyze>
|
The table below describes the analyze menu items.
Table 32-4 The
analyze Menu Item Descriptions
|
The Command ...
|
Allows You To ...
|
|
read
|
Read each sector on this disk. Repairs
defective blocks as a default.
|
|
refresh
|
Read then write data on the disk without
harming the data. Repairs defective blocks as a default.
|
|
test
|
Write a set of patterns to the disk
without harming the data. Repairs defective blocks as a default.
|
|
write
|
Write a set of patterns to the disk
then read the data on the disk back. Destroys existing data on the disk. Repairs
defective blocks as a default.
|
|
compare
|
Write a set of patterns to the disk,
read the data back, and compare it to the data in the write buffer. Destroys
existing data on the disk. Repairs defective blocks as a default.
|
|
purge
|
Remove all data from the disk so that
the data can't be retrieved by any means. Data is removed by writing three
distinct patterns over the entire disk (or section of the disk), then writing
an hex-bit pattern if the verification passes.
Repairs defective
blocks as a default.
|
|
verify
|
Write unique data to each block on
the entire disk in the first pass. Read and verify the data in the next pass.
Destroys existing data on the disk. Repairs defective blocks as a default.
|
|
print
|
View the data in the read/write buffer.
|
|
setup
|
Specify the following analysis parameters
Analyze entire disk? yes
Starting block number: depends on drive
Ending block number: depends on drive
Loop continuously? no
Number of passes: 2
Repair defective blocks? yes
Stop after first error? no
Use random bit patterns? no
Number of blocks per transfer: 126 (0/n/nn)
Verify media after formatting? yes
Enable extended messages? no
Restore defect list? yes
Restore disk label? yes
Defaults
are shown in bold.
|
|
config
|
View the current analysis parameters.
|
|
quit
|
Exit the analyze
menu.
|
The defect Menu
The defect menu looks like this.
format> defect
DEFECT MENU:
primary - extract manufacturer's defect list
grown - extract manufacturer's and repaired defects lists
both - extract both primary and grown defects lists
print - display working list
dump - dump working list to file
quit
defect>
|
The table below describes the defect menu items.
Table 32-5 The
defect Menu Item Descriptions
|
The Command ...
|
Allows You To ...
|
|
primary
|
Read the manufacturer's defect list
from the disk drive and update the in-memory defect list.
|
|
grown
|
Read the grown defect list (defects
that have been detected during analysis) and update the in-memory defect list.
|
|
both
|
Read both the manufacturer's and grown
defect list and update the in-memory defect list.
|
|
print
|
View the in-memory defect list.
|
|
dump
|
Save the in-memory defect list to a
file.
|
|
quit
|
Exit the defect
menu.
|
Files Used by format (format.dat)
The format data file, /etc/format.dat,
contains:
-
Disk types
-
Default slice tables
The format.dat file shipped with the Solaris operating
environment supports many standard disks. If your disk drive is not listed
in the format.dat file, you can choose to add an entry
for it or allow format to prompt you for the information
it needs while it is performing operations.
Adding an entry to the format.dat file can save
time if the disk drive will be used throughout your site. To use the format.dat file on other systems, copy the file to each system
that will use the specific disk drive you added to the format.dat file.
You should modify the data file for your system if you have one of the
following:
Note -
Do not alter default entries. If you want to alter the default entries,
copy the entry, give it a different name, and make the modification to avoid
confusion.
Structure of the format.dat File
The format.dat contains specific disk drive information
used by the format utility. Three items are defined in
the format.dat file:
-
Search paths
-
Disk types
-
Slice tables
Syntax of the format.dat File
The following syntax rules apply to the data file:
-
The pound sign (#) is the comment character.
Any text on a line after a pound sign is not interpreted by format.
-
Each definition in the format.dat
file appears on a single logical line. If the definition is more than one
line long, all but the last line of the definition must end with a backslash
(\).
-
A definition consists of a series of assignments
that have an identifier on the left side and one or more values on the right
side. The assignment operator is the equal sign (=). The
assignments within a definition must be separated by a colon (:).
-
White space is ignored by format.
If you want an assigned value to contain white space, enclose the entire value
in double quotes ("). This will cause the white space within
the quotes to be preserved as part of the assignment value.
-
Some assignments can have multiple values on the
right hand side. Separate values by a comma.
Keywords in the format.dat File
The data file contains disk definitions that are read in by format when it is started. Each definition starts with one of the
following keywords: search_path, disk_type,
and partition, which are described in the table below.
Table 32-6
format.dat Keyword Descriptions
|
Keyword
|
Use
|
|
search_path
|
This keyword is no longer used in the format.dat file. Starting with the Solaris 2.0 release, the format utility searchs the logical device hierarchy (/dev) so there is no need to set this keyword to find a system's
disks.
|
|
disk_type
|
Defines the controller and disk model.
Each disk_type definition contains information concerning
the physical geometry of the disk. The default data file contains definitions
for the controllers and disks that the Solaris operating environment supports.
You need to add a new disk_type only if you have an unsupported
disk. You can add as many disk_type definitions to the
data file as you want.
|
|
partition
|
Defines a slice table for a specific
disk type. The slice table contains the slice information, plus a name that
lets you refer to it in format. The default data file contains
default slice definitions for several kinds of disk drives. Add a slice definition
if you recreated slices on any of the disks on your system. Add as many slice
definitions to the data file as you need.
|
Disk Type (format.dat)
disk_type defines the controller and disk model.
Each disk_type definition contains the physical geometry
of the disk. The default data file contains definitions for the controllers
and disks that the Solaris operating environment supports. You need to add
a new disk_type only if you have an unsupported disk. You
can add as many disk_type definitions to the data file
as you want.
The keyword itself is assigned the name of the disk type. This name
appears in the disk's label, and is used to identify the disk type whenever format is run. Enclose the name in double quotes to preserve any
white space in the name. The table below describes the identifiers that must
also be assigned values in all disk_type definitions.
Table 32-7 Required
disk_type Identifiers
|
Identifier
|
Description
|
|
ctlr
|
Valid controller type for the disk
type. Currently, the supported values for this assignment are SCSI and ISP-80
(IPI controller).
|
|
ncyl
|
The number of data cylinders in the
disk type. This determines how many logical cylinders of the disk the system
will be allowed to access.
|
|
acyl
|
The number of alternate cylinders in
the disk type. These cylinders are used by format to store
information such as the defect list for the drive. You should always leave
at least two cylinders for alternates.
|
|
pcyl
|
The number of physical cylinders in
the disk type. This number is used to calculate the boundaries of the disk
media. This number is usually equal to ncyl plus acyl.
|
|
nhead
|
The number of heads in the disk type.
This number is used to calculate the boundaries of the disk media.
|
|
nsect
|
The number of data sectors per track
in the disk type. This number is used to calculate the boundaries of the disk
media. Note that this is only the data sectors, any spares are not reflected
in the assignment.
|
|
rpm
|
The rotations per minute of the disk
type. This information is put in the label and later used by the file system
to calculate the optimal placement of file data.
|
Other assignments might be necessary depending on the controller. The
table below describes the assignments required for SCSI controllers.
Table 32-8
disk_type Identifiers for SCSI Controllers
|
Identifier
|
Description
|
|
fmt_time
|
A number indicating how long it takes
to format a given drive. See the controller manual for more information.
|
|
cache
|
A number that controls the operation
of the onboard cache while format is operating. See the
controller manual for more information.
|
|
trks_zone
|
A number that specified how many tracks
you have per defect zone, to be used in alternate sector mapping. See the
controller manual for more information.
|
|
asect
|
The number assigned to this parameter
specifies how many sectors are available for alternate mapping within a given
defect zone. See the controller manual for more information.
|
Below are some examples of disk_type definitions:
disk_type = "SUN1.3G" \
: ctlr = SCSI : fmt_time = 4 \
: trks_zone = 17 : asect = 6 : atrks = 17 \
: ncyl = 1965 : acyl = 2 : pcyl = 3500 : nhead = 17 : nsect = 80 \
: rpm = 5400 : bpt = 44823
disk_type = "SUN2.1G" \
: ctlr = SCSI : fmt_time = 4 \
: ncyl = 2733 : acyl = 2 : pcyl = 3500 : nhead = 19 : nsect = 80 \
: rpm = 5400 : bpt = 44823
disk_type = "SUN2.9G" \
: ctlr = SCSI : fmt_time = 4 \
: ncyl = 2734 : acyl = 2 : pcyl = 3500 : nhead = 21 : nsect = 99 \
: rpm = 5400
|
Partition or Slice Tables (format.dat)
A partition definition keyword is assigned the name
of the slice table. Enclose the name in double quotes to preserve any white
space in the name. The table below describes the identifiers that must be
assigned values in all slice tables.
Table 32-9 Required Identifiers for Slice Tables
|
Identifier
|
Description
|
|
disk
|
The name of the disk_type that this slice table is defined for. This name must appear exactly
as it does in the disk_type definition.
|
|
ctlr
|
The disk controller type this slice
table can be attached to. Currently, the supported values for this assignment
are ISP-80 for IPI controllers and SCSI for SCSI controllers. The controller
type specified here must also be defined for the disk_type
chosen above.
|
The other assignments in a slice definition describe the actual slice
information. The identifiers are the numbers 0 through 7. These assignments
are optional. Any slice not explicitly assigned is set to 0 length. The value
of each of these assignments is a pair of numbers separated by a comma. The
first number is the starting cylinder for the slice, and the second is the
number of sectors in the slice. Below are some examples of slice definitions:
partition = "SUN1.3G" \
: disk = "SUN1.3G" : ctlr = SCSI \
: 0 = 0, 34000 : 1 = 25, 133280 : 2 = 0, 2672400 : 6 = 123, 2505120
partition = "SUN2.1G" \
: disk = "SUN2.1G" : ctlr = SCSI \
: 0 = 0, 62320 : 1 = 41, 197600 : 2 = 0, 4154160 : 6 = 171, 3894240
partition = "SUN2.9G" \
: disk = "SUN2.9G" : ctlr = SCSI \
: 0 = 0, 195426 : 1 = 94, 390852 : 2 = 0, 5683986 : 6 = 282, 5097708
|
Specifing the Location of a format Data File
The format utility learns of the location of your
data file by the following methods.
-
If a filename is given with the -x command
line option, that file is always used as the data file.
-
If the -x option is not specified,
then format looks in the current directory for a file named format.dat. If the file exists, it is used as the data file.
-
If neither of these methods yields a data file, format uses /etc/format.dat as the data file.
This file is shipped with the Solaris operating environment and should always
be present.
Rules for Input to format Commands
When using the format utility, you need to provide
various kinds of information. This section describes the rules for this information.
See "Using format Help" for information on using format's help facility when inputting data.
Inputting Numbers to format Commands
Several places in format require an integer as input.
You must either specify the data or select one from a list of choices. In
either case, the help facility causes format
to print the upper and lower limits of the integer expected. Simply enter
the number desired. The number is assumed to be in decimal format unless a
base is explicitly specified as part of the number (for example, 0x for hexadecimal).
The following are examples of integer input:
Enter number of passes [2]: 34
Enter number of passes [34] Oxf
|
Specifying Block Numbers to format Commands
Whenever you are required to specify a disk block number, there are
two ways to input the information:
You can specify the information as an integer representing the logical
block number. You can specify the integer in any base, but the default is
decimal. The maximum operator (a dollar sign, $) can also
be used here to let format select the appropriate value.
Logical block format is used by the SunOS disk drivers in error messages.
The other way to specify a block number is by the cylinder/head/sector
designation. In this method, you must specify explicitly the three logical
components of the block number: the cylinder, head, and sector values. These
values are still logical, but they allow you to define regions of the disk
related to the layout of the media.
If any of the cylinder/head/sector numbers are not specified, the appropriate
value is assumed to be zero. You can also use the maximum operator in place
of any of the numbers and let format select the appropriate
value. Below are some examples of cylinder, head, and sector entries:
Enter defective block number: 34/2/3
Enter defective block number: 23/1/
Enter defective block number: 457//
Enter defective block number: 12345
Enter defective block number: Oxabcd
Enter defective block number: 334/$/2
Enter defective block number: 892//$
|
The format utility always prints block numbers, in
both of the above formats. Also, the help facility shows
you the upper and lower bounds of the block number expected, in both formats.
Specifying format Command Names
Command names are needed as input whenever format
is displaying a menu prompt. You can abbreviate the command
names, as long as what you enter is sufficient to uniquely identify the command
desired.
For example, use p to enter the partition menu from the format menu. Then enter p to display the current slice table.
format> p
PARTITION MENU:
0 - change `0' partition
1 - change `1' partition
2 - change `2' partition
3 - change `3' partition
4 - change `4' partition
5 - change `5' partition
6 - change `6' partition
7 - change `7' partition
select - select a predefined table
modify - modify a predefined partition table
name - name the current table
print - display the current table
label - write partition map and label to the disk
quit
partition> p
|
Specifying Disk Names to format Commands
There are certain times in format when you must name
something. In these cases, you are free to specify any string you want for
the name. If the name has white space in it, the entire name must be enclosed
in double quotes ("). Otherwise, only the first word of
the name is used.
Using format Help
The format utility provides a help facility you can
use whenever format is expecting input. You can request
help about what information is expected by entering a question mark (?). The format utility displays a brief description
of what type of input is needed.
If you enter a ? at a menu prompt, a list of available
commands is displayed.
Associated format Man Pages
The man pages associated with the format utility
is format(1M),
which describes the basic format utility capabilities and
provides descriptions of all command line variables, and format.dat(4), which describes
disk drive configuration information for the format utility.