系统管理指南:高级管理

阶段 1:检查块和大小消息

此阶段检查 inode 列表。它会报告在以下情况下遇到的错误状态:

整理文件系统时,此阶段中除了 INCORRECT BLOCK COUNTPARTIALLY TRUNCATED INODEPARTIALLY ALLOCATED INODEUNKNOWN FILE TYPE 之外的所有错误都会终止 fsck

阶段 1 中可能出现以下消息(按字母顺序):


block-number BAD I=inode-number
原因

Inode inode-number 包含一个块编号 block-number,其编号小于文件系统中第一个数据块的编号或大于文件系统中最后一个块的编号。如果 inode inode-number 有太多的块编号超出文件系统范围,则此错误状态可能会在阶段 1 中生成 EXCESSIVE BAD BLKS 错误消息。此错误状态会在阶段 2 和 4 中生成 BAD/DUP 错误消息。

操作

N/A


BAD MODE: MAKE IT A FILE?
原因

给定 inode 的状态都设置为 1,表示文件系统损坏。除非此消息在 fsck -y 运行后重复显示,否则此消息不表示物理磁盘损坏。

操作

键入 y,以便将 inode 重新初始化为合理值。


BAD STATE state-number TO BLKERR
原因

内部错误使 fsck 状态图变得杂乱,因此它会显示不可能的值 state-numberfsck 将立即退出。

操作

请与当地服务提供商或其他有资格的人员联系。


fragment-number DUP I=inode-number

Oracle Solaris 10:


block-number DUP I=inode-number
原因

Inode inode-number 包含一个块编号 fragment-number,该块编号已被该 inode 或其他 inode 请求。如果 inode inode-number 具有太多已被该 inode 或其他 inode 请求的块编号,此错误状态可能会在阶段 1 中生成 EXCESSIVE DUP BLKS 错误消息。此错误状态将调用阶段 1B 并在阶段 2 和 4 中生成 BAD/DUP 错误消息。

Oracle Solaris 10:Inode inode-number 包含一个块编号 block-number,该块编号已被该 inode 或其他 inode 请求。如果 inode inode-number 具有太多已被该 inode 或其他 inode 请求的块编号,此错误状态可能会在阶段 1 中生成 EXCESSIVE DUP BLKS 错误消息。此错误状态将调用阶段 1B 并在阶段 2 和 4 中生成 BAD/DUP 错误消息。

操作

N/A


DUP TABLE OVERFLOW (CONTINUE)
原因

fsck 无法分配用于跟踪重复片段的内存。如果指定了 -o p 选项,程序将终止。

Oracle Solaris 10:包含重复块编号的 fsck 的内部表中没有更多空间。如果指定了 -o p 选项,程序将终止。

操作

要继续该程序,请在 CONTINUE 提示符下键入 y。如果出现此错误,则无法进行完整的文件系统检查。如果找到其他的重复片段,将重复出现此错误状态。增加可用的虚拟内存量(通过中止一些进程,增加交换空间)并再次运行 fsck,以重新检查文件系统。要终止该程序,请键入 n

Oracle Solaris 10:要继续该程序,请在 CONTINUE 提示符下键入 y。如果出现此错误,则无法进行完整的文件系统检查。如果找到其他重复块,将重复出现此错误状态。增加可用的虚拟内存量(通过中止一些进程,增加交换空间)并再次运行 fsck,以重新检查文件系统。要终止该程序,请键入 n


EXCESSIVE BAD FRAGMENTS I=inode-number (CONTINUE)

Oracle Solaris 10:


EXCESSIVE BAD BLOCKS I=inode-number (CONTINUE)
原因

太多(通常多于 10 个)片段表示磁盘地址无效。如果指定 -o p(整理)选项,程序将终止。

Oracle Solaris 10:太多(通常多于 10 个)块的编号小于文件系统中第一个数据块的编号或大于文件系统中与 inode inode-number 关联的最后一个块的编号。如果指定 -o p(整理)选项,程序将终止。

操作

要继续该程序,请在 CONTINUE 提示符下键入 y。如果出现此错误,则无法进行完整的文件系统检查。应再次运行 fsck,以重新检查文件系统。要终止该程序,请键入 n


EXCESSIVE DUP BLKSDUPLICATE FRAGMENTS I=inode-number (CONTINUE)

Oracle Solaris 10:


EXCESSIVE DUP BLKS I=inode-number (CONTINUE)
原因

该 inode、其他 inode 或可用列表已请求太多(通常多于 10 个)片段。如果指定了 -o p 选项,程序将终止。

Oracle Solaris 10:该 inode、其他 inode 或可用列表已请求太多(通常多于 10 个)块。如果指定了 -o p 选项,程序将终止。

操作

要继续该程序,请在 CONTINUE 提示符下键入 y。如果出现此错误,则无法进行完整的文件系统检查。应再次运行 fsck,以重新检查文件系统。要终止该程序,请键入 n


INCORRECT DISK BLOCK COUNT I=inode-number (number-of-BAD-DUP-or-missing-blocks
should be number-of-blocks-in-filesystem) (CORRECT)

Oracle Solaris 10:


INCORRECT BLOCK COUNT I=inode-number (number-of-BAD-DUP-or-missing-blocks
should be number-of-blocks-in-filesystem) (CORRECT)
原因

inode inode-number 的磁盘块计数不正确。整理时,fsck 将更正该计数。

Oracle Solaris 10:inode inode-number 的块计数是 number-of-BAD-DUP-or-missing-blocks,但应该是 number-of-blocks-in-filesystem。整理时,fsck 将更正该计数。

操作

要按 number-of-blocks-in-file 更正 inode inode-number 的磁盘块计数,请在 CORRECT 提示符下键入 y

Oracle Solaris 10:要用 number-of-blocks-in-filesystem 替换 inode inode-number 的块计数,请在 CORRECT 提示符下键入 y。要终止该程序,请键入 n


LINK COUNT TABLE OVERFLOW (CONTINUE)
原因

对于包含链接计数为零的已分配 inode 的 fsck 而言,内部表内已没有可用空间。如果指定了 -o p(整理)选项,程序将退出,必须手动完成 fsck

操作

要继续该程序,请在 CONTINUE 提示符下键入 y。如果找到具有零链接计数的其他已分配 inode,则会重复出现此错误状态。如果出现此错误,则无法进行完整的文件系统检查。应再次运行 fsck,以重新检查文件系统。通过中止一些进程或增加交换空间来增加可用虚拟内存,然后再次运行 fsck。要终止该程序,请键入 n


PARTIALLY ALLOCATED INODE I=inode-number (CLEAR)
原因

未分配 Inode inode-number,也未取消其分配。如果指定了 -o p(整理)选项,则会清除该 inode。

操作

要通过清空内容来取消分配 inode inode-number,请键入 y。这可能会在阶段 2 中针对指向此 inode 的每个目录项生成 UNALLOCATED 错误状态。要忽略该错误状态,请键入 n。仅当要采取其他措施来修复问题时,才可以不做出响应。


PARTIALLY TRUNCATED INODE I=inode-number (SALVAGE)
原因

fsck 发现大小小于为其分配的片段数的 inode inode-number。仅当系统在截断文件的过程中崩溃时,才会出现此情况。整理文件系统时,fsck 将以指定大小完成截断。

Oracle Solaris 10:fsck 发现 inode inode-number 的大小小于为其分配的块数。仅当系统在截断文件的过程中崩溃时,才会出现此情况。整理文件系统时,fsck 将以指定大小完成截断。

操作

要以 inode 中指定的大小完成截断, 请在 SALVAGE 提示符下键入 y。要忽略此错误状态,请键入 n


UNKNOWN FILE TYPE I=inode-number (CLEAR)
原因

inode inode-number 的模式字表明,该 inode 不是管道、字符设备、块设备、常规文件、符号链接、FIFO 文件或目录 inode。如果指定了 -o p 选项,则会清除 inode。

Oracle Solaris 10:inode inode-number 的模式字表明,该 inode 不是管道、特殊字符 inode、特殊块 inode、常规 inode、符号链接、FIFO 文件或目录 inode。如果指定了 -o p 选项,则会清除 inode。

操作

要通过清空其内容来取消分配 inode inode-number(这将导致阶段 2 中指向此 inode 的每个目录项都出现 UNALLOCATED 错误状态),请在 CLEAR 提示符下键入 y。要忽略此错误状态,请键入 n