format 菜单和命令说明
第16 章• format 实用程序(参考) 309
表16–1 format 实用程序的主菜单项说明(续)
菜单项命令或菜单? 说明
save 命令VTOC-保存新的磁盘和分区信息。
EFI-不适用。
inquiry 命令仅限于SCSI-显示当前磁盘的供应商、产品名称和修订
版级别。
volname 命令使用指定的由八个字符组成的新卷名标记磁盘。
quit 命令退出format 菜单。
partition 菜单
partition 菜单的显示与以下内容类似:
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
format 菜单和命令说明
310 系统管理指南:设备和文件系统• 2006 年9 月
partition>
下表描述了partition 菜单项。
表16–2 partition 菜单项的说明
子命令说明
change ‘n’ partition 用于指定新分区的以下信息:
标识标记
权限标志
起始柱面
大小
select 用于选择预定义的分区表。
modify 用于更改分区表中的所有片。此命令优先于各个change ‘x’
partition 命令。
name 用于为当前分区表指定名称。
print 显示当前分区表。
label 将分区映射和标号写入当前磁盘。
quit 退出partition 菜单。
x86: fdisk 菜单
fdisk 菜单仅出现在基于x86 的系统上,其显示与以下内容类似。
format> fdisk
Total disk size is 14169 cylinders
Cylinder size is 2510 (512 byte) blocks
Cylinders
Partition Status Type Start End Length %
========= ====== ============ ===== === ====== ===
1Active x86 Boot 1 9 9 0
2 Solaris2 10 14168 14159 100
format 菜单和命令说明
第16 章• format 实用程序(参考) 311
SELECT ONE OF THE FOLLOWING:
1. Create a partition
2. Specify the active partition
3. Delete a partition
4. Change between Solaris and Solaris2 Partition IDs
5. Exit (update disk configuration and exit)
6. Cancel (exit without updating disk configuration)
Enter Selection:
下表描述了fdisk 菜单项。
表16–3 x86: fdisk 菜单项的说明
菜单项说明
Create a partition 创建fdisk 分区。必须为每个OS(如Solaris 或DOS)创建单独的
分区。每个磁盘最多包含四个分区。系统会提示以磁盘百分比形
式输入fdisk 分区的大小。
Specify the active partition 用于指定要用于引导的分区。此菜单项可标识第一阶段引导程序
查找第二阶段引导程序的位置。
Delete a partition 删除以前创建的分区。此命令将破坏分区中的所有数据。
Change between Solaris and
Solaris2 Partition IDs
将分区ID 从130 (0x82) 更改为191 (0xbf) 或执行相反操作。
Exit (update disk
configuration and exit)
写入新版本的分区表并退出fdisk 菜单。
Cancel (exit without updating
disk configuration)
退出fdisk 菜单,而不修改分区表。
analyze 菜单
analyze 菜单的显示与以下内容类似。
format 菜单和命令说明
312 系统管理指南:设备和文件系统• 2006 年9 月
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>
下表描述了analyze 菜单项。
表16–4 analyze 菜单项的说明
子命令说明
read 读取当前磁盘上的每个扇区。缺省情况下会修复有缺陷的块。
refresh 读取当前磁盘上的数据然后再将数据写入磁盘,而不损害数据。缺省情况下
会修复有缺陷的块。
test 将一组模式写入磁盘,而不损害数据。缺省情况下会修复有缺陷的块。
write 将一组模式写入磁盘,然后读回磁盘上的数据。破坏磁盘上的现有数据。缺
省情况下会修复有缺陷的块。
compare 将一组模式写入磁盘,读回数据,然后将其与写缓冲区中的数据进行比较。
破坏磁盘上的现有数据。缺省情况下会修复有缺陷的块。
format 菜单和命令说明
第16 章• format 实用程序(参考) 313
表16–4 analyze 菜单项的说明(续)
子命令说明
purge 从磁盘中删除所有数据,以便不能通过任何方式检索数据。通过在整个磁盘
(或磁盘的一部分)范围写入三种不同的模式来删除数据。如果验证通过,
则将在整个磁盘(或磁盘的一部分)范围内写入十六进制位模式。
缺省情况下会修复有缺陷的块。
verify 第一遍将特殊数据写入整个磁盘上的每个块。第二遍读取并验证这些数据。
破坏磁盘上的现有数据。缺省情况下会修复有缺陷的块。
print 显示读/写缓冲区中的数据。
setup 用于指定以下分析参数:
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
config 显示当前分析参数。
quit 退出analyze 菜单。
defect 菜单
defect 菜单的显示与以下内容类似:
format 菜单和命令说明
314 系统管理指南:设备和文件系统• 2006 年9 月
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>
下表描述了defect 菜单项。
表16–5 defect 菜单项说明
子命令说明
primary 从磁盘驱动器读取制造商的缺陷列表并更新内存中的缺陷列表。
grown 读取产生的缺陷列表,然后更新内存中的缺陷列表。产生的缺陷是指在分析
过程中检测到的缺陷。
both 读取制造商的缺陷列表和产生的缺陷列表。然后更新内存中的缺陷列表。
print 显示内存中的缺陷列表。
dump 将内存中的缺陷列表保存到文件中。
quit 退出defect 菜单。
format.dat 文件
Solaris OS 附带的format.dat 文件支持许多标准磁盘。如果format.dat 文件中未列出您的磁
盘驱动器,则可以执行以下操作:
向磁盘的format.dat 文件中添加项。
通过选择type 命令和other 选项来添加format 实用程序的各项。
如果将在整个站点中使用磁盘驱动器,则向format.dat 文件添加项可以节省时间。要使用
其他系统上的format.dat 文件,请将该文件复制到每个将使用特定磁盘驱动器(已添加到
format.dat 文件中)的系统。
format.dat 文件
第16 章• format 实用程序(参考) 315
如果具有以下设备之一,则可能需要修改系统的/etc/format.dat 文件:
Solaris OS 不支持的磁盘
分区表与Solaris OS 的缺省配置不同的磁盘
注– 请勿修改/etc/format.dat 文件中的缺省项。如果要修改缺省项,请复制该项,并为该
项指定不同的名称,再进行相应更改以避免混淆。
/etc/format.dat 不适用于带有EFI 标号的磁盘。
format.dat 文件的内容
format.dat 包含format 实用程序使用的磁盘驱动器信息。format.dat 文件中定义了以下三
项:
搜索路径
磁盘类型
片表
format.dat 文件的语法
以下语法规则适用于/etc/format.dat 文件:
井号(#) 是注释字符。format 实用程序不会解释一行中在井号后面的任何文本。
format.dat 文件中的每个定义都出现在单独的逻辑行中。如果定义长度超过一行,则定
义的所在行(最后一行除外)都必须以反斜杠(\) 结束。
定义包含一系列赋值,这些赋值的左侧是标识符,右侧是一个或多个值。赋值运算符是
等号(=)。定义中的多个赋值必须以冒号(:) 分隔。
format 实用程序会忽略空格。如果要所赋的值包含空格,请将整个值用双引号(") 引起
来。此语法将导致引号中的空格作为赋值的一部分保留下来。
有些赋值的右侧可能有多个值。请使用逗号分隔这些值。
format.dat 文件中的关键字
format.dat 文件包含启动format 实用程序时该程序读取的磁盘定义。每个定义都以以下关
键字之一开头:disk_type 或partition。下表描述了这些关键字。
format.dat 文件
316 系统管理指南:设备和文件系统• 2006 年9 月
表16–6 format.dat 文件的关键字说明
关键字说明
disk_type 定义控制器和磁盘型号。每个disk_type 定义都包含有关磁盘物理几何
参数的信息。缺省数据文件包含Solaris OS 支持的控制器和磁盘的定
义。
仅当使用不支持的磁盘时,才需要添加新的disk_type 定义。可以向数
据文件中添加任意数目的disk_type 定义。
partition 为特定磁盘类型定义分区表。分区表包含分区信息以及可在format 实用
程序中引用的名称。缺省的format.dat 文件包含多种磁盘驱动器的缺省
分区定义。如果在系统中的任何磁盘上重新创建了分区,请添加分区定
义。可以向数据文件中添加任意数目的分区定义。
磁盘类型(format.dat)
format.dat 文件中的disk_type 关键字定义了控制器和磁盘型号。每个disk_type 定义都包
含有关磁盘物理几何参数的信息。缺省的format.dat 文件包含Solaris OS 支持的控制器和磁
盘的定义。仅当使用不支持的磁盘时,才需要添加新的disk_type。可以向数据文件中添加
任意数目的disk_type 定义。
可将磁盘类型名称指定给关键字本身。该名称出现在磁盘的标号中,并且在运行format 实
用程序时用于标识磁盘类型。使用双引号将该名称引起来可保留名称中的所有空格。下表
描述了在所有的disk_type 定义中还必须被赋值的标识符。
表16–7 所需的disk_type 标识符(format.dat)
标识符说明
ctlr 标识磁盘类型的控制器类型。当前,支持的值为SCSI 和ATA。
ncyl 指定磁盘类型中的数据柱面的数目。这将确定允许系统访问的逻辑磁盘柱面数
目。
acyl 指定磁盘类型中的备用柱面的数目。这些柱面供format 实用程序用于存储信息
(如驱动器的缺陷列表)。应始终保留至少两个柱面进行备用。
pcyl 指定磁盘类型中的物理柱面的数目。此数字用于计算磁盘介质的范围。此数字
通常等于ncyl 加上acyl。
nhead 指定磁盘类型中的磁头的数目。此数字用于计算磁盘介质的范围。
nsect 指定磁盘类型中每个磁道的数据扇区的数目。此数字用于计算磁盘介质的范
围。请注意,此数字仅包括数据扇区。任何备件都不会反映在每个磁道的数据
区段数目中。
rpm 指定磁盘类型的每分钟旋转次数。此信息将置于标签中,随后由文件系统用于
计算文件数据的最佳保存位置。
其他标识符可能是必需的,具体取决于控制器。下表描述了SCSI 控制器所需的标识符。
format.dat 文件
第16 章• format 实用程序(参考) 317
表16–8 SCSI 控制器format.dat 所需的disk_type 标识符
标识符说明
fmt_time 指定一个数字,用于指明格式化给定驱动器所需的时间。有关更多信息,请参见控
制器手册。
cache 指定一个数字,用于控制format 实用程序运行时执行的板载高速缓存操作。有关更
多信息,请参见控制器手册。
trks_zone 指定一个数字,用于标识每个缺陷区域中存在的要在备用扇区映射中使用的磁道
数。有关更多信息,请参见控制器手册。
asect 指定一个数字,用于标识给定缺陷区域中可用于备用映射的扇区。有关更多信息,
请参见控制器手册。
示例16–1 SCSI 控制器(format.dat) 所需的disk_type 标识符
以下是disk_type 定义的示例:
disk_type = "SUN1.3G" \
: ctlr = SCSI : fmt_time = 4 \
: trks_zone = 17 : asect = 6 : atrks = 17 \
: ncyl = 1 965 : 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
format.dat 文件
318 系统管理指南:设备和文件系统• 2006 年9 月
分区表(format.dat)
format.dat 文件中的分区表为特定磁盘类型定义了片表。
将分区表的名称指定给format.dat 文件中的partition 关键字。使用双引号将该名称引起
来可保留名称中的所有空格。下表描述了所有分区表中必须赋值的标识符。
表16–9 分区表(format.dat) 所需的标识符
标识符说明
disk 为此分区表定义的disk_type 的名称。此名称必须与disk_type 定义中显示的完全相
同。
ctlr 可与此分区表连接的磁盘控制器的类型。当前,对于ATA控制器,支持的值为
ATA;对于SCSI 控制器,支持的值为SCSI。另外,还必须为在disk_type 定义中指
定的disk_type 定义此处指定的控制器类型。
片定义中的其他标识符描述了实际的分区信息。标识符是0 到7 之间的数字。这些标识符是
可选的。未显式指定的任何分区长度都设置为0。其中每个标识符的值都是以逗号分隔的一
对数字。第一个数字是分区的起始柱面。第二个数字是片中的扇区数目。
示例16–2 分区表(format.dat ) 所需的标识符
以下是一些片信息示例:
partition = "SUN1.3G" \
: disk = "SUN1.3G" : ctlr = SCSI \
: 0 = 0, 34000 : 1= 25, 133280 : 2 = 0, 2672400 : 6 = 1 23, 2505120
partition = "SUN2.1G" \
: disk = "SUN2.1G" : ctlr = SCSI \
: 0 = 0, 62320 : 1 = 41, 197600 : 2 = 0, 41 541 60 : 6 = 1 71 ,3894240
partition = "SUN2.9G" \
: disk = "SUN2.9G" : ctlr = SCSI \
: 0 = 0, 195426 : 1= 94, 390852 : 2 = 0, 5683986 : 6 = 282, 5097708
format.dat 文件
第16 章• format 实用程序(参考) 319
为format 实用程序指定备用数据文件
format 实用程序按一定顺序通过以下方法确定备用文件的位置:
1. 如果使用format -x 选项给定文件名称,则始终将该文件用作数据文件。
2. 如果未指定-x 选项,则format 实用程序将搜索当前目录中名为format.dat 的文件。如
果该文件存在,则将其用作数据文件。
3. 如果上述任一方法都无法产生数据文件,则format 实用程序将使用/etc/format.dat 文
件作为数据文件。此文件是Solaris OS 附带的,并且会始终提供此文件。
format 命令的输入规则
使用format 实用程序时,需要提供各种信息。本节介绍这类信息的规则。有关在指定数据
时使用format 的帮助功能的信息,请参见第322 页中的“获取有关format 实用程序的帮助
”。
为format 命令指定数字
format 实用程序中的多个位置都要求使用数字作为输入。必须指定相应数据,或从选项列
表中选择一个数字。在任一情况下,帮助功能都会导致format 显示预期的数字上限和下
限。只需输入合适的数字即可。如果未将基数显式指定为数字的一部分(例如,0x 表示十
六进制),则假定该数字采用十进制格式。
以下是整数输入的示例:
Enter number of passes [2]: 34
Enter number of passes [34] Oxf
为format 命令指定块编号
每次要求指定磁盘块编号时,都可以使用两种方式来执行此操作:
将块编号指定为整数
采用柱面/磁头/扇区格式指定块编号
可以将该信息指定为表示逻辑块编号的整数。可以指定任何基数的编号,但缺省值为十进
制。另外,还可以在此处使用最大值运算符(美元符号$),以便format 实用程序可以选
择合适的值。SunOS 磁盘驱动器会在错误消息中使用逻辑块格式。
另一种指定块编号的方法是使用柱面/磁头/扇区格式。使用此方法时,必须显式指定块编号
的三个逻辑组成部分:柱面、磁头和扇区值。这些值仍然为逻辑值。但是,可以使用这些
值来定义与介质布局相关的磁盘区域。
format 命令的输入规则
320 系统管理指南:设备和文件系统• 2006 年9 月
如果未指定任何柱面/磁头/扇区编号,则假定该值为零。另外,还可以使用最大值运算符来
代替任何编号。这样,format 实用程序即可选择合适的值。以下是一些柱面、磁头和扇区
值的示例:
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//$
format 实用程序始终采用这两种格式显示块编号。另外,帮助功能也会采用这两种格式显
示预期块编号的上限和下限。
指定format 命令名称
只要format 实用程序显示菜单提示,就需要将命令名称作为输入。可以缩写命令名称,只
要键入的内容可充分唯一标识所需命令即可。
例如,使用p 访问format 菜单中的partition 菜单。那么,键入p 显示当前的片表。
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
format 命令的输入规则
第16 章• format 实用程序(参考) 321
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
为format 命令指定磁盘名称
在format 实用程序的某些位置,必须指定一些名称。在这些情况下,可以自由指定名称所
需的任何字符串。如果名称中包含空格,则必须使用双引号(") 将整个名称引起来。否则,
仅使用名称的第一个单词。
例如,如果要标识磁盘的特定分区表,则可以使用partition 菜单中可用的name 子命令:
partition> name
Enter table name (remember quotes): "new disk3"
获取有关format 实用程序的帮助
format 实用程序提供了format 实用程序每次要求输入时可以使用的帮助功能。通过键入问
号(?),可以请求有关要求的输入的帮助。format 实用程序可显示所需输入类型的简短说
明。
如果在菜单提示下键入?,则将显示可用命令的列表。
与format 实用程序关联的手册页包括以下信息:
format(1M) -介绍基本的format 实用程序功能并提供所有命令行变量的说明。
format.dat(4) -介绍format 实用程序的磁盘驱动器配置信息。
获取有关format 实用程序的帮助
322 系统管理指南:设备和文件系统• 2006 年9 月
管理文件系统(概述)
管理文件系统是最重要的系统管理任务之一。
以下是本章中概述信息的列表。
第323 页中的“ Solaris 10 6/06 发行版中文件系统方面的新增功能”
第334 页中的“Solaris 10 发行版中文件系统方面的新增功能”
第339 页中的“有关文件系统管理任务的参考信息”
第339 页中的“文件系统概述”
第339 页中的“文件系统的类型”
第344 页中的“用于文件系统管理的命令”
第345 页中的“缺省的Solaris 文件系统”
第344 页中的“交换空间”
第346 页中的“UFS 文件系统”
第349 页中的“挂载和取消挂载文件系统”
第354 页中的“确定文件系统的类型”
Solaris 10 6/06 发行版中文件系统方面的新增功能
本节介绍Solaris 10 6/06 发行版中文件系统方面的新增功能。
第323 页中的“ZFS 文件系统”
第324 页中的“UFS 文件系统实用程序(fsck、mkfs 和newfs)的增强功能”
ZFS 文件系统
Solaris 10 6/06: ZFS 是一种全新的文件系统,可提供简单管理、事务性语义、端到端数据
完整性以及极好的可伸缩性。此外,ZFS 还可提供以下管理功能:
备份和恢复功能
设备管理支持
GUI 管理工具
17 第1 7 章
323
持久性快照和克隆功能
可以为文件系统设置的配额
基于RBAC 的访问控制
为文件系统预留存储池空间
支持安装了区域的Solaris 系统
可以在同一Solaris 系统上同时设置ZFS 和UFS 文件系统。但是,不能将ZFS 用作根文件系
统。有关使用ZFS 时的其他限制的信息,请参见《Solaris 10 What’s New》中的“The ZFS File
System”。
有关使用ZFS 的更多信息,请参见《Solaris ZFS Administration Guide》。
UFS 文件系统实用程序(fsck、mkfs 和newfs)的
增强功能
Solaris 10 6/06:文件系统检查实用程序fsck 已经增强,包括FreeBSD 4.9 版本的fsck 程序
的功能以及其他增强功能。
此Solaris 发行版中的fsck 实用程序包括以下改进:
更彻底地检查和修复文件系统,并且提供改进的错误消息。例如,在某些情况下,fsck
可确定缺少的结构并对其进行适当替换。
自动搜索备份超级块。
报告fsck 何时需要重新运行。
清除目录时,fsck 现在会尝试立即恢复目录内容,因此可减少重新运行此实用程序所用
的时间。
如果fsck 发现重复块,并且并非所有引用重复块的文件都已清除,则fsck 会在fsck 运
行结束时报告inode 的数目。然后,可以使用find 命令查看已损坏的inode。
包括与扩展属性和其他特殊文件(如设备文件和ACL项)的状态有关的改进错误消息。
包括用于启用更详细消息的-v 选项。
此外,还更新了newfs 和mkfs 命令,其中包括用于以文本格式显示文件系统超级块信息或
以二进制格式转储超级块信息的新选项。
newfs [ -S or -B ] /dev/rdsk/...
-S 以文本格式显示文件系统的超级块
-B 以二进制格式转储文件系统的超级块
mkfs [ -o calcsb or -o calcbinsb ] /dev/rdsk/... size
-o calcsb 以文本格式显示文件系统的超级块
-o calcbinsb 以二进制格式转储文件系统的超级块
fsck 实用程序使用此超级块信息搜索备份超级块。
Solaris 10 6/06 发行版中文件系统方面的新增功能
324 系统管理指南:设备和文件系统• 2006 年9 月
以下各节介绍了特定的fsck 增强功能及其对应的错误消息。有关使用fsck 实用程序修复损
坏的超级块的逐步说明,请参见第438 页中的“如何恢复坏的超级块(仅限Solaris 10 6/06
发行版)”。
自动搜索备份超级块
以下fsck 错误消息示例说明了自动搜索备份超级块的功能。
注意– 如果文件系统包含损坏的超级块,并且该超级块是使用newfs 或mkfs 自定义参数(如
ntrack 或nsect)创建的,则使用fsck 自动搜索的超级块执行修复过程可能会损坏文件系
统。
如果文件系统是使用自定义参数创建的,并且包含错误的超级块,则fsck 会提供取消fsck
会话的提示:
CANCEL FILESYSTEM CHECK?
如果文件系统是使用newfs 命令创建的,并且fsck 响应表明只是主超级块已损坏,请考
虑使用fsck 恢复超级块。
# fsck/dev/dsk /c1t2d0s0
** /dev/rdsk/c1t2d0s0
BAD SUPERBLOCK AT BLOCK 16: BLOCK SIZE LARGER THAN MAXIMUM SUPPORTED
LOOK FOR ALTERNATE SUPERBLOCKS WITH MKFS? no
LOOK FOR ALTERNATE SUPERBLOCKS WITH NEWFS? yes
FOUND ALTERNATE SUPERBLOCK 32 WITH NEWFS
USE ALTERNATE SUPERBLOCK? yes