Mac因为没有安全弹出下次连接不上移动硬盘的坑

概述

  经常遇到因为没有安全弹出下次使用的时候识别不到移动硬盘的情况

解决 一

  1. 在终端中 输入以下命令 查看到磁盘的Volume Name
    diskutil list
  2. 紧接着更新 /etc/fstab文件
    sudo vi /etc/fstab
     
    进入文本编辑界面,按i,进入编辑模式
     
    LABEL=这里是你移动硬盘的Volume Name (我的是Gary)  none ntfs rw,auto,nobrowse
     
    然后  
    1:ESC  
    2:shift+冒号
    3:wq
    搞定
  3. 在桌面上可以看见移动硬盘
    这里有时候需要重启电脑 有时候等一会就ok了

解决 二

  1. 主要是利用磁盘操作工具 diskutil 和磁盘修复检查工具 fsck_hfs
      查看当前挂载的所有磁盘:
    $ diskutil list
    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *251.0 GB   disk0
       1:                        EFI EFI                     314.6 MB   disk0s1
       2:                 Apple_APFS Container disk1         250.7 GB   disk0s2
    
    /dev/disk1 (synthesized):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      APFS Container Scheme -                      +250.7 GB   disk1
                                     Physical Store disk0s2
       1:                APFS Volume Macintosh HD - 数据     190.3 GB   disk1s1
       2:                APFS Volume Preboot                 867.9 MB   disk1s2
       3:                APFS Volume Recovery                1.1 GB     disk1s3
       4:                APFS Volume VM                      2.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:      GUID_partition_scheme                        *5.0 TB     disk2
       1:       Microsoft Basic Data WD_BLACK                5.0 TB     disk2s1
      可以根据名字 WD_BLACK 看出,/dev/disk2 是我的移动硬盘,/dev/disk2s1 是我的移动硬盘数据分区。 至于/dev/disk2s1,应该是移动硬盘系统区,不用管。 于是执行下面命令挂载移动硬盘数据卷(需要注意的是:diskutil mountDisk 是挂载整个盘的,但是在数据卷损坏的情况下,挂载整个盘没啥用):
    diskutil mount /dev/disk2s1
      发现超时:
    Volume on disk2 timed out waiting to mount
      搜索后发现是在挂载上一个存在问题的盘后,Mac 就会在后台自动运行 fsck_hfs,导致 diskutil 挂载超时。执行 ps aux | grep fsck 可以发现:
    root             70983   1.0  0.1  4306296   5508   ??  Us   10:53下午   
    0:02.74 /System/Library/Filesystems/exfat.fs/Contents/Resources/fsck_exfat -y -x /dev/rdisk2s1
      当然你可以将该进程杀掉(sudo pkill -f fsck),然后再挂载(diskutil mount /dev/disk2s1),此时会挂载成功,但是会存在数据不一致现象。所以仍是得执行上述磁盘修复命令(如果是 apfs 文件系统,需要用 fsck_apfs):
    fsck_exfat -y -x /dev/disk2s1 
      然后等待其结束(具体多久那就不一定了,我的都是在几分钟的数量级),然后再:
    diskutil mount /dev/disk2s1
      具体这两个命令其他用法可以通过 man diskutilman fsck_hfs 来查看。

解决 三

  1. Mac 集成在了一款内置的 “磁盘工具” 之中。通过 command+空格 “聚焦搜索” 磁盘工具可以调出。   选择无法识别的移动硬盘 WD_BLACK 然后点急救,就是会执行 fsck_exfat -y -x /dev/disk2s1 并在执行成功后自动挂载。如果急救出现问题,说明后台可能已经在运行 fsck_exfat 命令了,这时候你只需要等待就行了。

总结

  1. 电源断电会引起移动硬盘不正常退出,切记切记。
  2. 如果重新插上不显示,不要慌。等会就好了,因为Mac后台默默的帮你检查一致性。
  3. 如果有点慌就按上面我说的探索一番吧。

  Mac移动硬盘不正确断开连接导致无法读取加载的解决方法,亲测有效