Mac因为没有安全弹出下次连接不上移动硬盘的坑
概述
解决 一
- 在终端中 输入以下命令 查看到磁盘的
Volume Name
diskutil list
- 紧接着更新
/etc/fstab
文件sudo vi /etc/fstab 进入文本编辑界面,按i,进入编辑模式 LABEL=这里是你移动硬盘的Volume Name (我的是Gary) none ntfs rw,auto,nobrowse 然后 1:ESC 2:shift+冒号 3:wq 搞定
- 在桌面上可以看见移动硬盘
这里有时候需要重启电脑 有时候等一会
就ok了
解决 二
- 主要是利用磁盘操作工具
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 diskutil
和man fsck_hfs
来查看。
解决 三
- Mac 集成在了一款内置的 “
磁盘工具
” 之中。通过 command+空格 “聚焦搜索” 磁盘工具可以调出。选择无法识别的移动硬盘
WD_BLACK
然后点急救
,就是会执行fsck_exfat -y -x /dev/disk2s1
并在执行成功后自动挂载
。如果急救出现问题,说明后台可能已经在运行 fsck_exfat 命令了,这时候你只需要等待
就行了。