当我尝试重新分区外部驱动器时出现此错误:“”。
我想fsck -fy
在驱动器上运行,但不知道在外部驱动器上执行的正确语法?
有人能帮我解决这个问题吗?
答案1
实际上你想做的是:
% sudo fsck_hfs -fy /dev/disk1s1
(取决于您想要检查哪个分区)。
fsck
如果您只将其fsck_hfs
作为命令来运行,它将不起作用。
答案2
当我尝试重新分区外部驱动器时出现此错误:“”
这确实是一个非常具有描述性的错误。
为了fsck
在外部驱动器上运行,您首先需要找到驱动器的标识符。运行diskutil list
并检查下面列出的卷的名称–例如,IDENTIFIER
它将类似于。disk3s4
使用该名称运行fsck
。您还可以传递-f
选项以强制检查干净的文件系统。
sudo fsck /dev/disk3s4
fsck
有各种文件系统类型的简写:
fsck_hfs
对于 HFS,使用-f
选项强制检查日志系统fsck_exfat
对于 ExFAT(-f
这里没有选项)fsck_msdos
对于 FAT(-f
这里没有选项)
答案3
我必须使用 -l 标志运行:
diskutil list # find your identifier
/sbin/fsck_hfs -l -f /dev/disk16
该-l
标志告诉 fsck 以只读模式检查驱动器。
答案4
这不是对原始问题的直接回答,但密切相关。
另一个选择是使用 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
出于某种原因,仅运行验证命令就解决了我的问题,但如果您需要进一步操作,还有修复命令:
diskutil repairDisk disk2
diskutil repairVolume disk2s1
diskutil repairVolume disk2s2