使用磁盘工具和 fsck 解决启动问题和执行磁盘维护

  • 上次修改时间: 02 七月, 2009
  • 文章: TS1417
  • 旧文章: 106214

问题的表现

如果电脑无法正常启动,则可能需要使用磁盘修理实用工具来解决该问题。Mac OS X 包括两个用于此目的的实用工具:磁盘工具和 fsck(一种命令行实用工具)。即使在电脑可以正常启动但您希望检查磁盘是否可能存在文件系统问题的情况下,也可以使用这些实用工具。对于 Mac OS X 10.4.3 或更高版本,请查看下面的“关于在 Mac OS X 10.4.3 或更高版本中进行实时验证”。

重要信息:如果使用的是 Mac OS X 10.4 或更高版本,则应尽量使用磁盘工具而不是 fsck

在某些情况下,文件系统错误可能会使电脑无法启动。这可能会在非正常关机、强制执行重新启动或切断电源之后发生。如果电脑在启动时表现出以下任何症状,请使用磁盘修理实用工具:

  • 电脑已部分启动,但随后在纯文本环境中显示命令行。您可能看到消息“文件系统有问题,请运行 fsck。”在其下面,您将看到由数字记号 (#) 标示的所谓命令行提示符,它允许您键入命令。如果看到此消息,您需要从命令行运行 fsck(请参阅下面的“在必要时使用 fsck”)。
  • 电脑已启动,但它无法到达登录屏幕,或可以到达登录屏幕但在您登录之后无法加载桌面。无论如何,您都可以在单用户模式下启动。

如果电脑表现出上述任一问题,都可以尝试此处所述的方法来使电脑再次恢复正常启动。如果无法找到电脑随附的系统光盘,请参阅下面的“使用 fsck”。

受影响的产品

Mac OS X 10.4, Mac OS X 10.3, Mac OS X 10.2, Mac OS X 10.1

解决

尝试安全启动

如果使用的是 Mac OS X 10.2 或更高版本,则可以在安全模式下启动电脑,在该模式下启动电脑会自动进行磁盘检查和修理。如果使用的是 Mac OS X 10.1.5 或更低版本,请跳至下一节。通过“安全启动”(将电脑启动到安全模式下)可以使用简化版的系统软件成功启动电脑。若要完成此任务,请执行以下步骤:

  1. 安全模式下启动。
  2. 系统完全启动之后,请再次正常地重新启动电脑。

如果电脑可成功重新启动,则无需执行任何其他故障诊断。如果问题仍然存在,请尝试使用磁盘工具。

尝试使用磁盘工具

  1. 从 Mac OS X 安装光盘启动:插入安装光盘,然后重新启动电脑并按住 C 键。
  2. 当电脑完成从光盘启动后,从安装程序菜单中选择磁盘工具。(在 Mac OS X 10.4 或更高版本中,必须先选择您的语言)。
    重要提示:不要点按“安装程序”第一个屏幕中的“继续”。如果您点按了“继续”,那么您必须再次从光盘重新启动才能访问磁盘工具。
  3. 点按“急救”选项卡。
  4. 点按硬盘驱动器图标左边的显示三角形来显示您的硬盘宗卷名称及分区名称。
  5. 选择您的 Mac OS X 宗卷。
  6. 点按“修理”。“磁盘工具”将检查并修理磁盘。

提示:使用磁盘工具验证或修理启动宗卷时,应始终从安装光盘或恢复光盘启动电脑。否则,可能会显示某些磁盘错误消息

在必要时使用 fsck

fsck 是一种可以验证并修理磁盘的命令行实用工具。如果可以在安全模式下成功启动,或在从光盘启动时可以使用“磁盘工具”,则无需使用 fsck。但是,在以下情况下可能需要使用 fsck

  • Mac OS X 光盘不可用。
  • 光盘驱动器不可用。
  • 在启动时按住 Shift 键从而导致无法通过“安全启动”来启动。
提示:如果使用的是 Mac OS X 扩展格式(日志式)宗卷(如 Mac OS X 10.3 或更高版本),可能不需要使用 fsck。如果由于某种原因而使用了它,请注意可能会显示 benign 错误消息。

如果不确定您的宗卷是如何格式化的,并且无法从 Mac OS X 宗卷启动以查明原因,请在命令行界面中键入以下命令,然后按 Return 键:diskutil info /

如果看到返回了“文件系统:日志式 HFS+”,则表明您具有日志式宗卷。

要使用 fsck,必须从命令行运行它。与使用鼠标指针打开应用程序来执行操作不同,您需要在提示符 (#) 下键入文本命令以提示 fsck 所要执行的操作。“终端”应用程序(/应用程序/实用工具)和单用户模式是您可以在其中键入此类命令的两个命令行界面示例。要使用 fsck,请执行下列操作:

  1. 单用户模式下启动电脑以到达命令行。
    :如有必要,请按照电脑随附的“紧急情况故障诊断手册”中所述,执行强制实施的重新启动。在台式电脑上,可通过按下复位/中断按钮(如果有)或按住电源按钮几秒钟来完成此任务。在便携式电脑上,同时按下 Command-Control-power 键。如果使用此方法无法启动便携式电脑,则可能需要重置电源管理器。
  2. 在命令行提示符下,键入:

    /sbin/fsck -fy

  3. 按 Return 键。fsck 将完成五个“阶段”,然后返回有关磁盘使用情况和碎片情况的信息。完成之后,如果未发现任何问题,它将显示此消息:
    ** 宗卷 (name_of_volume) 似乎是好的
    如果 fsck 发现了问题并已进行了修改、修理或修复,将显示以下消息:
    ***** 文件系统已修改 *****
    重要提示:如果显示了此消息,请重复执行在步骤 2 中键入的 fsck 命令,直到 fsck 告诉您宗卷似乎是好的(第一遍修理可能会发现其他问题,因此这是要执行的正常操作)。
     
  4. 如果 fsck 报告宗卷是好的,请在提示符下键入 reboot,然后按 Return 键。

电脑应正常启动并允许您登录。

 

其他信息

关于在 Mac OS X 10.4.3 或更高版本中进行实时验证

在 Mac OS X 10.4.3 或更高版本中,可以在从您的 Mac OS X 宗卷启动时验证它。这称为实时验证,可以三种方式使用。

可选方式 1:在从启动磁盘启动时使用“磁盘工具”验证您的磁盘。要了解如何执行此操作,请参阅此文章。请注意,实时验证不涉及任何磁盘修理,因此,如果验证发现应修理的部分,请从 Mac OS X 安装光盘启动,并按照上述“尝试使用磁盘工具”中的方法使用磁盘工具。

可选方式 2(高级):使用命令行和命令行实用工具 diskutil。

  1. 启动电脑,然后以管理员身份登录。
  2. 打开“终端”(/应用程序/实用工具)。
  3. 在提示符下键入以下命令,然后按 Return 键:

    diskutil verify /

:不要使用此方法来检查非启动宗卷。

在磁盘检查过程中应看到如下消息:

尝试实时验证时未能卸下磁盘进行验证
已在宗卷 disk0s3 Macintosh HD 上开始验证/修理
正在检查 HFS Plus 宗卷。
正在检查盘区溢出文件。
正在检查编录文件。
正在检查多链接文件。
正在检查编录层次。
正在检查扩展属性文件。
正在检查宗卷位图。
正在检查宗卷信息。
宗卷 Macintosh HD 似乎是好的。
正在装载磁盘
已在宗卷 disk0s3 Macintosh HD 上完成验证/修理

可选方式 3(高级):使用命令行和 fsck_hfs -l 命令。

  1. 启动电脑,然后以管理员身份登录。
  2. 打开“终端”(/应用程序/实用工具)。
  3. 在提示符下键入以下命令,然后按 Return 键以确定您的文件系统 ID:

    df -hl
  4. 查找某些类似于以下内容的文本行:

    文件系统 大小 已使用 可用容量 装载位置
    /dev/disk0s3 37G 20G 17G 55% /
    /dev/disk0s5 37G 37G 641M 98% /Volumes/Storage

     
  5. 对显示在 /dev/ 之后的第一个“磁盘”名称(如“disk0s3”)进行记录。这是启动宗卷的文件系统 ID。
  6. 在提示符下键入以下命令,然后按 Return 键:

    df -hl
  7. 然后键入以下命令(其中“disk0s3”是您在步骤 4 中记录的文件系统 ID),然后按 Return 键:

    sudo fsck_hfs -l /dev/disk0s3
  8. 系统进行提示时,输入您的管理员密码,然后按 Return 键以开始验证。
  9. 在磁盘检查过程中,应看到类似于以下内容的消息:

    ** /dev/rdisk0s3(不可写)
    ** 根文件系统
    ** 正在检查 HFS Plus 宗卷。
    ** 正在检查盘区溢出文件。
    ** 正在检查编录文件。
    ** 正在检查多链接文件。
    ** 正在检查编录层次。
    ** 正在检查扩展属性文件。
    ** 正在检查宗卷位图。
    ** 正在检查宗卷信息。
    ** 宗卷 Macintosh HD 似乎是好的。

高级信息

如果对 UNIX 风格的命令行语法感兴趣,请看下面指令中使用的一对标记如何影响 fsck:

  • -y 标记:告诉 fsck 您希望对有关修复、修理或抢救信息的所有问题都回答“是”。这是最优方法,因为对任何问题回答“否”都会导致 fsck 停止。在 fsck 完成并提供其最终报告之前,您无法确定是否所有必要的修理都已执行。
  • -f 标记:强制 fsck 在整理时检查“干净”的文件系统。

另请参阅