通过 UNIX,Apple 的 macOS 提供了多种工具来保持您的驱动器健康,其中之一就是 fsck 终端命令。下面是如何使用它。
fsck或“文件系统一致性检查”是一种已经存在很长时间的 UNIX 工具。它检查存储磁盘是否有错误,并尝试修复任何问题。如果您的 Mac 关机不当,或者通过按住电源按钮硬关机,它也会在 macOS 启动时在后台运行。
在 Mac 上,fsck 位于启动盘的根目录中:/sbin/fsck
您可以在自动或交互模式下运行 fsck。
使用日志的现代 macOS 卷格式被认为不需要 fsck,因为日志功能允许操作系统偶尔静默检查并保持磁盘卷的一致性正常工作。
但是您可能仍然希望不时地在日志卷上运行 fsck 并且 fsck 有一个标志来强制它检查日志卷。
默认情况下,fsck 会诊断 Mac 的内部启动磁盘,除非您另有说明。
从 diskutil 开始
要开始使用,请在 /Applications/Utilities/Terminal 中打开终端应用程序,然后键入:diskutil list并按Return键。
如果您的 Mac 连接了很多驱动器,则可能需要一些时间。
完成后,diskutil 将列出连接到 Mac 的所有存储设备:
“dev/”代表“device”,是FreeBSD(macOS 的基础)中设备的默认挂载点目录。
每个物理设备都有一个名称,例如“disk0”、“disk1”等。因此您的 Mac 的启动盘通常是“/dev/disk0”,然后下一个连接的设备是“/dev/disk1”,依此类推。
接下来列出每个设备上的每个卷或分区,按索引号缩进,并在最右侧显示卷类型、名称、大小和完整身份名称的信息。因此,例如,启动盘上的第一个卷标为“disk0s1”,第二个卷标为“disk0s2”,每个卷后面都有一个相似的名称和卷号。
在大多数 UNIX 命令中,您可以指定整个设备(例如“/dev/disk0”)或设备上的特定卷(例如“/dev/disk0s1”或“/dev/disk0s2”)等。
fsck 选项
与 fsck 命令一起使用的两个最有用的标志是“-f”标志(强制)和“-y”标志(对任何显示的提示自动响应“是”)。您可以将标志与终端中的 fsck 命令合并为一个,以告诉它如何运行。
例如,要在没有交互的情况下强制检查内部驱动器,您可以在终端中键入:/sbin/fsck -fy并按回车键。
您可以查看 fsck 的所有选项,以及有关终端中命令的更多信息,方法是键入:man fsck并按Return。
如果您在 Mac 上未以管理员用户身份运行,则可能需要在 fsck 命令前加上 sudo ‘(“超级用户执行”),然后在按Return后输入管理员密码。
运行 fsck
使用上面 diskutil 返回的设备列表信息,您可以告诉 fsck 仅检查特定卷。例如:sudo fsck -fy /dev/disk4s2告诉 fsck 检查并尝试修复连接到 Mac 的设备 4 上的第二个卷。
请注意,必须先卸载要检查的每个卷,然后才能在其上运行 fsck。您可以使用 /Applications/Utilities/Disk Utility 中的 Apple 磁盘工具应用程序手动卸载卷,方法是从磁盘工具主窗口左侧的列表中选择它们,然后单击窗口顶部的?卸载按钮:
这样做将从 Finder 的桌面上删除卷的图标。完成后,您可以通过单击“磁盘工具”中的“装载”按钮类似地在 Finder 中重新装载一个卷(当然,假设该卷没有损坏并且仍然可以装载)。
fsck 结果
一旦 fsck 启动,它将在指定的驱动器或卷上运行检查,如果您指定了 -y 选项,它将尝试修复每个卷而不提示。如果您没有指定 -y 选项,系统将提示您在验证过程的每一步要做什么。每个卷名及其类型将列为 fsck 运行。
如果出于某种原因,fsck 无法修复或读取磁盘或卷,它会在终端中打印一条消息告诉您。例如,一个常见且模糊的错误是“无法完全验证卷 Untitled HD”。
如果 fsck 发现驱动器/卷或其任何数据结构有任何问题,它将打印一条消息并尝试修复任何问题。
fsck 完成后,最好重新启动 Mac – 从Apple 菜单 -> 重新启动命令,或在终端中键入:reboot now并按Return。
请注意,在终端中重新启动可能会在没有警告的情况下退出您正在运行的任何其他应用程序。
保持 Mac 磁盘健康和正常工作对您的工作流程至关重要,通常是个好主意。fsck 可以帮助您做到这一点。