2021.11.28
Mac 下移动硬盘异常退出修复
昨天正在通过微信存储往移动硬盘中存一份word,可是过好久并没有显示成功,并且自动退了盘,果不其然,不仅无法推出,也无法再装载,强行拔掉usb,再插上之后桌面无法自动显示移动硬盘图标。发现之前存储的这个过程,这次并无法解决,只能再搜索解决方案,记录如下:
主要是利用磁盘操作工具 diskutil 和磁盘修复检查工具 fsck_hfs。
1、查看当前挂载的所有磁盘
- diskutil list
结果如下:
➜ ~ diskutil list
/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 15.3 GB disk1s1
2: APFS Snapshot com.apple.os.update-... 15.3 GB disk1s1s1
3: APFS Volume Macintosh HD - Data 359.4 GB disk1s2
4: APFS Volume Preboot 575.2 MB disk1s3
5: APFS Volume Recovery 622.8 MB disk1s4
6: APFS Volume VM 24.6 KB disk1s5
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS JH1 299.9 GB disk2s2
(free space) 269.5 MB -
3: Microsoft Basic Data JH2 699.7 GB disk2s3
(free space) 134.9 MB -
可以根据名字,/dev/disk2 是我的移动硬盘,/dev/disk2s3 是我的移动硬盘数据分区,执行下面命令挂载移动硬盘数据卷(需要注意的是:diskutil mountDisk 是挂载整个盘的,但是在数据卷损坏的情况下,挂载整个盘没啥用):
➜ ~ diskutil mount /dev/disk2
Volume on disk2 timed out waiting to mount
发现超时。
搜索后发现是在挂载上一个存在问题的盘后,Mac 就会在后台自动运行 fsck_hfs,导致 diskutil 挂载超时。执行 ps aux | grep fsck 可以发现:
➜ ~ ps aux | grep fsck
root 1078 3.9 0.0 4471764 7976 ?? U 2:48下午 0:34.47 /System/Library/Filesystems/exfat.fs/Contents/Resources/./fsck_exfat -y /dev/rdisk2s3
yoyo 7913 0.0 0.0 4268448 732 s001 R+ 3:16下午 0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn fsck
当然你可以将该进程杀掉(sudo pkill -f fsck),然后再挂载(diskutil mount /dev/disk2),此时会挂载成功,但是会存在数据不一致现象。所以仍是得执行上述磁盘修复命令
修复可以通过 command+空格 “聚焦搜索” 磁盘工具可以调出。
第一步先查看硬盘的信息使用如下命令行 diskutil list
- diskutil list
输出结果如下,显示本地的硬盘和外接硬盘的数据信息
/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 15.3 GB disk1s1
2: APFS Snapshot com.apple.os.update-... 15.3 GB disk1s1s1
3: APFS Volume Macintosh HD - Data 351.6 GB disk1s2
4: APFS Volume Preboot 575.2 MB disk1s3
5: APFS Volume Recovery 622.8 MB disk1s4
6: APFS Volume VM 20.5 KB disk1s5
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS JH1 299.9 GB disk2s2
(free space) 269.5 MB -
3: Microsoft Basic Data JH2 699.7 GB disk2s3
(free space) 134.9 MB -
发现/dev/disk2是我的移动硬盘(由于我1T的硬盘做了分区,所以显示的是2个子硬盘disk2s1 和disk2s2),然后使用挂载命令直接挂载就行如下
1.执行sudo fsck_hfs -fy /dev/disk2s1 命令
2.执行sudo diskutil mount /dev/disk2s1命令