MAC移动硬盘非正常断开连接后硬盘无法识别

步骤1:先找到外接移动硬盘,在 Mac “终端”执行命令

步骤2:加载移动硬盘,可以在终端执行以下两个命令之一

步骤3:终止后台自动执行的“磁盘修复进程”

步骤4:手动执行磁盘修复命令

步骤5:Windows系统的磁盘修复

参考6:修复方案及相关命令详解


MAC 的移动硬盘非正常退出后(断电、直接拔掉等),重新连接后无法在“Finder桌面”或“磁盘工具”里正常看到移动硬盘的图标。

每次出现这个问题都是在网上搜索一番,敲几行命令,有实话敲完就OK,,有时候不管,放一段时间自动修复了,还是在一次成功解决后,记录下来吧

步骤1:先找到外接移动硬盘,在 Mac “终端”执行命令

1
diskutil list

执行后,显示的信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI ⁨EFI⁩ 314.6 MB disk0s1
2: Apple_APFS ⁨Container disk1⁩ 500.0 GB disk0s2

/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +500.0 GB disk1
Physical Store disk0s2
1: APFS Volume ⁨Macintosh HD - 数据⁩ 278.7 GB disk1s1
2: APFS Volume ⁨Preboot⁩ 301.7 MB disk1s2
3: APFS Volume ⁨Recovery⁩ 1.1 GB disk1s3
4: APFS Volume ⁨VM⁩ 1.1 GB disk1s4
5: APFS Volume ⁨Macintosh HD⁩ 15.4 GB disk1s5
6: APFS Snapshot ⁨com.apple.os.update-...⁩ 15.4 GB disk1s5s1

/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *1.0 TB disk2
1: Windows_NTFS ⁨Elements⁩ 1.0 TB disk2s1

从终端提示内容可以看到,外接移动硬盘(external, physical)名称是:disk2, 容量1TB,硬盘的文件格式没有明确标注,从microsoft Basic Data 几个字样推断,再加上之前在 Windows 系统也能正常使用,应该是能兼容 Windows 和 Mac 系统的 exFAT 格式(不同的文件格式,请参考文末链接),当然从后面运行命令后,系统提示的信息也能看到。

另外,disk2 下面包括两个盘符标记:disk2s1 和 disk2s2, 多个盘符表示硬盘包括多个分区,可以看到disk2s1的 TYPE NAME 是 EFI :

EFI系统分区中存放了可供引导启动的文件,作用是引导操作系统正常启动。EFI系统分区是一个使用FAT32格式化的小分区,该分区在Windows操作系统下一般是不可见的,其中存储已安装系统的EFI引导加载程序以及启动时固件使用的应用程序。

因为 EFI 分区在这里对我们没有什么意义,我们实际存储数据的的硬盘分区是 disk2s2,后面命令的操作对象和执行结果也是针对的硬盘分区 disk2s2 来说的。

步骤2:加载移动硬盘,可以在终端执行以下两个命令之一

1
2
3
# mount命令可以只挂载硬盘的某个分区
diskutil mount /dev/disk2s2# mountdisk命令可以实现挂载整个硬盘(包括所有分区)
diskutil mountdisk /dev/disk2

通常异常退出的移动硬盘,执行这两个命令都会提示错误信息:

1
2
3
# 执行 sudo diskutil mount /dev/disk2s2 命令报错
Volume on disk2 timed out waiting to mount# 执行 sudo diskutil mountDisk /dev/disk2 命令报错:
One or more volume(s) failed to mount

为什么会提示等待超时呢?其实是因为你把硬盘的数据线重新接上电脑时,系统检测到硬盘异常,Mac 系统会在“后台自动运行” 磁盘修复进程: fsck,从而导致 diskutil mount 命令运行超时。

如果你刚接上硬盘不能识别,不要着急反复拔掉和重新连接,可以稍微耐心等待系统的自动修复完成。如果等待时间过长还没有恢复,可以继续执行下面的步骤。

步骤3:终止后台自动执行的“磁盘修复进程”

先执行下面命令,找到后台运行的 fsck 进程的PID:

1
ps aux | grep fsck

显示后台正在运行的 fsck 进程,从下面截图能看到:fsck_exfat -y -x /dev/rdisk2s2 ,从这里也能判断硬盘文件格式应该是:exfat

执行命令 kill fsck,终止自动修复进程:

1
2
# 21364 是 PID 进程号
sudo pkill -f fsck 或 sudo kill -9 21364

注意:执行完毕后,再次执行【步骤2】的磁盘加载命令,一般都能装载成功,桌面上会出现移动硬盘盘符标志。但是运气比较差的话,杀死 fsck 进程后,硬盘会自动以”只读状态“完成加载,并弹出提示对话框,如下图所示。接下来可以继续尝试后面的步骤来进行硬盘修复。

步骤4:手动执行磁盘修复命令

1
sudo fsck_exfat -y -x /dev/disk2s2

一般常用的磁盘修复命令有: fsck_hfs、fsck_exfat、fsck_apfs 等,fsck 代表磁盘修复命令,下划线后面 hfs,exfat,apfs 代表硬盘的文件格式。(fsck 命令详解,请参考文末链接)。

注意,fask_[文件格式] 命令要正确,另外,“手动执行修复命令”与“系统提供【磁盘工具】- 【急救】”是一样的原理和效果,在终端手动执行修复命令后,会显示修复过程中的详细信息,例如那些文件是问题的

【步骤4】如果能顺利执行完毕就可以加载硬盘成功,但是【步骤4】的时长不好判断,从几分钟到半个小时的都有,甚至还有人等待十几个小时最后放弃的。笔者碰到的情况是:“手动修复方式”和“磁盘工具-急救”两种方案都试过了,都是等待几个小时也没有等到修复结束的时刻。虽然“磁盘工具 - 急救”对话框有个“详情”标签展开可以检测到错误文件的信息,对话框页面也有一个进度条,但是一直都只显示空空进度条,没有任何进度更新,只好放弃!

步骤5:Windows系统的磁盘修复

如果【步骤四】不幸失败了,但是你必须要拯救这块硬盘的话,就去找一台 Windows 系统的电脑,既然 Mac 系统修复失败,那么为什么不试试 Windows 系统的磁盘修复功能呢?前面提到过,这块硬盘文件格式是 exFAT,兼容两个系统。

在接上安装有 Windows 10 系统的笔记本电脑后,系统提示:“磁盘错误,需要扫描和修复”,于是点击“确认”,开始修复和修复结束的对话框如图所示:

这次等待时间接近3个小时,虽然时间很长,但是进度条在缓慢移动,相比 Mac 系统,至少让你还有等待下去的期待。这个时间可能跟硬盘大小、速度、文件数量有关系(笔者的硬盘是机械硬盘,2T,剩余空间60G)。以上是 Win10 的提供的磁盘修复对话框,如果接上硬盘后,系统没有任何提示,你可以在 DOS 窗口手动输入命令来实现相同的修复过程。(Windows Dos磁盘修复方法,参考文末链接)。

如果最终没有成功的话,可能真的是磁盘数据损坏无法修复了,需要及时备份以防数据丢失。

参考6:修复方案及相关命令详解

1
2
3
4
5
6
7
8
9
10
11
# mac下移动硬盘异常退出修复方法
https://zhuanlan.zhihu.com/p/83542978
https://blog.csdn.net/Bobdragery/article/details/95086132
https://apple.stackexchange.com/questions/235309/external-drive-does-not-mount-after-plug-off-without-eject# Windows Dos磁盘修复方法
https://blog.csdn.net/qq_26834611/article/details/107968650# MacOS 磁盘管理工具 diskutil 介绍
https://www.jianshu.com/p/6a1f365617ad# Linux fsck命令介绍:检测和修复文件系统
http://c.biancheng.net/view/887.html# unmount, unmountdisk, eject命令的区别
http://newsn.com.cn/say/mac-umount.html
# mount与mountdisk命令的区别
https://newsn.net/say/mac-mount-2.html# Fat32、NTFS、exFAT、HFS+、APFS文件系统的区别
https://blog.csdn.net/qq_39111085/article/details/103800464