如何在OS X的外部驱动器上运行fsck?


21

尝试重新分区外部驱动器“”时出现此错误。

我想fsck -fy在驱动器上运行,但不知道在外部驱动器上执行此操作的正确语法?

谁能帮我解决这个问题?

Answers:


34

实际上,您想执行以下操作:

% sudo fsck_hfs -fy /dev/disk1s1 (取决于要检查的分区)。

它仅与fsck您必须fsck_hfs作为运行命令一起使用而已。


3
这是最好的答案。在运行它之前,列出所有带有diskutil list 我的SD卡的磁盘为disk2。然后,您要查找分区号,所以请执行类似操作ls /dev/disk2*。结果是disk2s1。所以我运行的最后一条命令是this sudo fsck_hfs -f /dev/disk2s1。注意:我故意将SD卡格式化为hfs。通常,他们使用脂肪或其他东西。
portforwardpodcast

8

尝试重新分区外部驱动器时出现此错误:“”

确实,这是一个非常描述性的错误。


为了fsck在外部驱动器上运行,您首先需要找出驱动器的标识符。运行diskutil list并检查下面列出的卷的名称IDENTIFIER-例如disk3s4,它将类似于。

使用该名称运行fsck。您还可以传递该-f选项以强制检查干净的文件系统。

sudo fsck /dev/disk3s4

fsck 具有多种文件系统类型的缩写:

  • fsck_hfs对于HFS,请使用该-f选项强制检查日记系统
  • fsck_exfat用于ExFAT(-f此处没有选项)
  • fsck_msdos用于FAT(-f此处无选项)

实际上,从10.9开始看起来,fsck没有某种标记就无法使用。使用此处给出的命令可得到帮助/使用情况输出。
ray

请参阅保罗的答案-您必须使用fsck_hfs
Zev Eisenberg 2014年

2

我必须使用-l标志运行:

diskutil list # find your identifier
/sbin/fsck_hfs -l -f /dev/disk16

-l标志告诉fsck以只读模式检查驱动器。


1

这不是原始问题的直接答案,而是密切相关的。

另一种选择是使用diskutil本身来验证或修复外部驱动器。
我不确定它与fsck相比如何,但是它修复了我在重新启动系统更新时不小心将其插入的外部驱动器。

diskutil list  # to find the IDENTIFIER
  (some internal disks listed first)
  /dev/disk2 (external, physical):                                              
    #:                    TYPE NAME                    SIZE       IDENTIFIER
    0:   GUID_partition_scheme                        *500.1 GB   disk2     
    1:                     EFI EFI                     209.7 MB   disk2s1   
    2:               Apple_HFS FreeAgent GoFlex Drive  499.8 GB   disk2s2   

然后是诸如

diskutil verifyDisk disk2
diskutil verifyVolume disk2s1
diskutil verifyVolume disk2s2

由于某种原因,仅运行verify命令即可解决我的问题,但是如果您需要进一步操作,还可以使用修复命令

diskutil repairDisk disk2
diskutil repairVolume disk2s1
diskutil repairVolume disk2s2
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.