详解:macOS/Linux如何挂载磁盘?如何开机自动挂载/卸载磁盘?
博客:https://www.mintimate.cn
Mintimate’s Blog,只为与你分享
哈哈,好久没有更新文章了;最近年底,确实忙了点,但是还是有小伙伴在私信问Linux和macOS的事情,有几个小伙伴还问开机挂载磁盘问题,这里做个简单解答。
不管是Linux还是基于Unix的macOS,挂载磁盘可以使用mount命令进行磁盘的挂载。
挂载的一般步骤:
- 查看磁盘状态
- 挂载磁盘
- 读写磁盘
- 最后是卸载磁盘。
macOS和Windows类似,移动存储一般会自动挂载;部分Linux发行版本,也会对移动存储进行挂载(尤其是有GUI界面的发行版本)。
这次,就忽略所以GUI界面,看看命令上如何操作。最后,再看看如何开机自动挂载或卸载(取消挂载)磁盘。
如果你的Linux是云服务器,其实也差不多,你应该会得到云磁盘的UUID,和本文Linux插上U盘后获取U盘磁盘UUID类似。
更多可以参考云磁盘使用:
另外,一些网络磁盘,比如:rclone挂载Google Driver等,不在本文讨论范围,有机会单独起一篇文章进行讲解。
查看磁盘
查看磁盘,一般用fdisk命令,但是有一些特殊。虽然macOS也有
fdisk`命令,但是实际上使用和Linux是不一样的:
而Linux上的fdisk
命令:
实际上,macOS上达到Linux上的效果,需要使用diskutil
命令:
macOS
macOS上查看磁盘插入情况,使用命令:
diskutil list
我们插上U盘后的状态:
可以看到,多了一个disk4
的IDENTIFIER
。插入的物理接口是/dev/disk4
。类似于TCP/IP模型中网络层和物理层的关系。
这个可不是固定的,比如我用上扩展坞:
紧接着,还可以进一步查看磁盘状态:
diskutil info disk2
而网上说,查看S.M.A.R.T
,实际上需要第三方工具包smartctl
的支持,并且U盘或者接口支持:
smartctl -a disk2
比如,我的U盘不支持:
但是自带的硬盘支持:
Linux
Linux的磁盘查看,一般使用fdisk
命令:
fdisk -l
插上U盘,查看输出末尾,就可以看到我们的U盘设备:
可以看到,我的U盘,拥有四个分区(因为实际上是一个PE系统和Hackintosh安装盘)。
挂载磁盘
不管是Linux还是基于Unix的macOS,挂载磁盘可以使用mount
命令进行磁盘的挂载。根据上文查看的磁盘位置进行挂载:
# 简单滴说
mount [参数] [需要挂载的分区] [Linux上挂载点]
# 详细版本
usage: mount [-dfrkuvw] [-o options] [-t external_type] special mount_point
mount [-adfrkuvw] [-t external_type]
mount [-dfrkuvw] special | mount_point
首先我们看看macOS:
其中:
-t
: 磁盘类型。可以省略,缺省时候,会进行自动匹配,但是macOS上“不太聪明的样子”,最好指定,否则会挂载不上。-o
: 后续的rw、auto和nobrowse都是由这个同步模式进行追加参数。
最后的命令为:
# 不指定读写
sudo mount -t exfat /dev/disk4 Downloads/MintimateDisk
# 指定读写
sudo mount -t exfat -o rw,auto,nobrowse /dev/disk4 Downloads/MintimateDisk
Linux其实也是一样,在mount
命令上,Unix和Linux都差不多:
卸载磁盘
卸载很简单。
首先,看看macOS:
umount Downloads/MintimateDisk
同样的,Linux上的卸载也十分简单:
umount /mnt/upan
开机挂载/卸载
最后,我们看看如何开机自动挂载和卸载磁盘。
这里一般需要用到/etc/fstab
这个文件了:
每一行的含义:
UUID=5EE51E74-0E37-42FE-AC22-38184A510981 none ntfs noauto
设备UUID/file system 挂载点/dir 文件系统类型/type 挂载选项/options [转储频度/dump] [自检次序/pass]
其中,最后两个默认填0或者直接不填比较好,具体可以参考:
首先是卸载,一般运用在macOS。
在Intel版本的macOS上,可以选择安装双系统。如果你安装了双系统,可能会开机自动挂载Windows的磁盘分区:
自动挂载的内容
但是,我们在macOS上,并不能直接写Windows的分区,而且这样有点危险。为此,我们可以开机自动卸载:
操作很简单,我们编写卸载命令到/etc/fstab
。
首先,我们查看磁盘详情:
diskutil list
之后,找到Windows的分区,使用diskutil info
命令查看详情:
diskutil info
根据磁盘的Volume UUID
,添加到/etc/fstab
。这样macOS就会自动卸载了:
UUID=5EE51E74-0E37-42FE-AC22-38184A510981 none ntfs noauto
# 或者
UUID=5EE51E74-0E37-42FE-AC22-38184A510981 none ntfs noauto 0 0
同理,Linux设备,如果想自动挂载U盘。首先查看UUID:
blkid
之后,我们添加进行:
UUID=67E3-17ED /mnt/upan vfat defaults 0 0
不过,Linux更建议配置到启动服务脚本内: