Mac如何在终端使用diskutil命令装载和卸载推出外接硬盘

这篇具有很好参考价值的文章主要介绍了Mac如何在终端使用diskutil命令装载和卸载推出外接硬盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近用 macOS 装载外接硬盘的时候,使用mount死活装不上,很多文章也没详细的讲各种情况,所以就写一篇博客来记录一下。

如何装载和卸载硬盘(或者说分区)

mountumount是在 macOS 上是不能用的,如果使用会显示未知特殊文件或者没有权限,如下:

$ mount /dev/disk3s2
mount: /dev/disk3s2: unknown special file or file system.
$ umount /dev/disk3s2
umount: unmount(/Volumes/backup): Operation not permitted

如果给umount加上sudo就会显示Resource busy,提示使用diskutil unmount,如下:

$ sudo umount /dev/disk3s2
Password:
umount(/Volumes/backup): Resource busy -- try 'diskutil unmount'

某些情况下,如果你照着使用diskutil mount /dev/disk3s2,发现也可以成功装载了,如下:

$ diskutil mount /dev/disk3s2
Volume backup on /dev/disk3s2 mounted

使用diskutil unmount /dev/disk3s2卸载也会成功,如下:

$ diskutil unmount /dev/disk3s2
Volume backup on disk3s2 unmounted

提示一下,这里的路径可以不写,直接写diskutil unmount disk3s2也可以。如果你知道硬盘或卷宗名称,那么可以直接使用名称加载或者卸载,如下

$ sudo diskutil mount backup
Volume backup on backup mounted

需要注意,macOS 里的的“分区(partition)”和 Windows 里的分区不是一个概念。

但是如果你想加载或卸载一个分区里所有的卷宗,必须使用mountDiskunmountDisk,否则会显示如下内容:

$ diskutil unmount disk2
disk2 was already unmounted or it has a partitioning scheme so use "diskutil unmountDisk" instead

注意虽然这个选项里有Disk,但是操作的是“一个分区”,而不是“一个硬盘”。因为它是根据某个硬盘分区中的表来进行加载的。

如何获取得知硬盘路径和硬盘卷宗的名称

你可以通过“系统信息”和“磁盘工具”来获取连接硬盘的信息,但是这样太麻烦了。

可以使用`diskutil list以查看已经连接到 Mac 上所有的硬盘,如下(只保留了第一个外接硬盘的部分):

/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_APFS ⁨Container disk3⁩         1000.0 GB  disk2s2

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk3
                                 Physical Store disk2s2
   1:                APFS Volume ⁨backup⁩                  323.2 GB   disk3s2

这时候就可以获取得知各个分区和卷宗的位置的名称了。

如果你只是想知道如何加载和卸载,那么读到这里就可以了,下面是解决一些好奇宝宝的疑问,以及记录一些 APFS 的知识,比如说装载 APFS 分区的底层操作是什么。

扩展知识

上面两部分有什么区别

可以看到上面的内容中,一个硬盘实际上生成了两个部分:/dev/disk2 (external, physical)/dev/disk3 (synthesized)。这俩有啥区别呢?

/dev/disk2 (external, physical)部分

这部分表示的硬盘的物理部分。也就是“磁盘工具”里这部分内容:

macos mount,UNIX 笔记,macos

/dev/disk2中存放的是该硬盘的引导文件,也就是硬盘节点实例(device node entry),其中还包括各部分的硬盘标识符(disk identifier)。disk2TYPE写的也是GUID_partition_scheme(GUID 分区方案)。

disk2s2部分也就是你在“磁盘工具”里看到容器部分(如果眼尖的读者会发现这部分叫做容器disk3,“设备”部分也是“disk3”,下一章节会讲为什么这样):
macos mount,UNIX 笔记,macos

如果你尝试加载这个容器disk2s2会显示如下信息:

$ sudo diskutil mount disk2s2
Volume on disk2s2 failed to mount because it appears to be
an APFS Physical Store (or is the APFS Container already mounted?)
Note that for this mount operation, Disk Arbitration reports that
the operation is not supported (kDAReturnUnsupported)

但是你可以加载 EFI 部分(如果你有需要的话):

$ sudo diskutil mount disk2s1
Volume EFI on disk2s1 mounted

/dev/disk3 (synthesized)部分

这部分则是上面容器中卷宗(Volume)的部分。

/dev/disk3是“APFS Container Scheme”(APFS 容器方案),包含了卷宗的各种信息,这也是为什么可以直接通过NAME部分的backup⁩来加载卷宗,而不是必须使用设备路径。

/dev/disk3s2则是容器里的包含的 APFS 卷宗,如果加载/dev/disk3s2这部分,那么可以通过访问加载位置(默认为/Volumes/)中的NAME为名的文件,来访问 APFS 格式的硬盘内容(Unix 里所有的设备都是文件)。

这部分也就是你在“磁盘工具”里看到的这部分(这是我的“时间机器”硬盘):

macos mount,UNIX 笔记,macos

如果硬盘中只有一个卷宗,那么这个卷宗的在/dev中一般都是diskXs2

默认情况下,生成的宗卷都在/Volumes/目录中,可以在此进行访问(相当于 Linux 中的/mnt):

$ ls /Volumes/
16TB		Macintosh HD	backup

为什么容器的在第二张图里显示为容器disk3(“Physical Store diskXsX”部分是什么)

如果眼尖的同学可能发现在第二张图中,容器部分叫做容器disk3,“设备”部分也是“disk3”,而不是disk2s2,但是“物理存储区”却是disk2s2

这是因为在 APFS 中一个分区(partition)包含一个单独的容器(容器负责空间管理和垃圾保护)。而一个容器或者说分区是可以包含多个卷的。这与其他一些文件系统是不一样的,其他文件系统的分区大多直接就是文件系统层(File System Layer)。如下是硬盘上多个分区的硬盘在“磁盘工具”里的层级:

macos mount,UNIX 笔记,macos

下图是 APFS 分区在硬盘上的空间划分,右侧是容器内部的空间划分:

macos mount,UNIX 笔记,macos

也就是说,“Apple File System container”部分是上图中右侧部分的总称,在硬盘上的空间也是右侧的总和,并没有单独的一部分叫做“Apple File System container”。这就是为什么容器的物理存储区是disk2s2(是硬盘的第三部分),但是由于内部进行了进一步区分,所以容器内部需要进一步操作,将其分配成disk3

希望能帮到有需要的人~文章来源地址https://www.toymoban.com/news/detail-608204.html

到了这里,关于Mac如何在终端使用diskutil命令装载和卸载推出外接硬盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac 如何删除文件及文件夹?可以尝试使用终端进行删除

    MacOS 是 Mac 电脑采用的操作系统,你知道 Mac 如何删除文件吗?除了直接将文件或者文件夹拖入废纸篓之外,我们还可以采用终端命令的办法去删除文件,本文为大家总结了 Mac 删除文件方法。 在使用 Mac 电脑的时候为什么要采用命令行删除文件而不是直接文件拖入废纸篓呢?

    2024年03月16日
    浏览(83)
  • 如何卸载--奇安信安全终端管理系统

    1.找到Entbase.bat D:Program Files (x86)QAX360safeEntClientconf 我的路径是这样的 2.右击奇安信–》设置----》防护----》关闭自我保护 3.删除Entbase.bat 中的两个qtpass、etpass、uienable、qtenable 或者 直接将Entbase.bat 文件删除 4.可以正常退出和卸载了

    2024年02月11日
    浏览(211)
  • 如何彻底卸载绿盟终端DLP

    lm离职人必看好吧 .md文档转过来的,图片有点糊。 卸载后一直反复在桌面生成Internet快捷方式删不掉

    2024年02月05日
    浏览(51)
  • Linux umount命令详解:如何使用umount命令卸载linux文件系统、卸载U盘、卸载软盘(附实例教程和注意事项)

    Linux umount命令用于卸除文件系统。umount可以卸除目前挂在Linux目录中的文件系统。这个命令的全称是unmount,意思是“卸载”。在Linux系统中,当我们需要对某个设备进行操作时,通常需要先将其挂载到文件系统中。当操作完成后,为了保证数据的完整性和一致性,通常会使用

    2024年02月02日
    浏览(65)
  • Mac 终端命令查看WiFi连接日志【】

    写这篇文章的原因是因为经常通过钉钉打上班卡忘记打卡了,我们标准上班时间是上午8:00-10:00 ,对应下班时间是 17:00-19:00  ,有时8:30到公司,就开始忙碌了,作为程序员有时后一忙就忘记时间了,打卡也忘记了,通过钉钉补卡,我如果要步8:30的卡,人事主管不相信,需要提

    2024年02月05日
    浏览(48)
  • Mac收集的几个终端命令

    cd到目录下 cd到目录下 cd 到文件所在的文件夹的上一层 (例如:文件在桌面 cd Desktop/) 压缩文件命令: zip -e test.zip test.txt 压缩文件夹命令: zip -er ~/Desktop/test.zip test 压缩命令输入之后会要求输入两次密码 显示隐藏文件夹命令: 如果你想再次隐藏原本的隐藏文件和文件夹的

    2024年02月06日
    浏览(52)
  • 2023- itwangyang - mac mysql 终端启动命令

    执行该命令后,会出现一些提示信息,等待一段时间后mysql服务就启动成功了。 其中,-u代表用户名,-p代表询问密码。这条命令执行后,会要求输入密码,正确输入密码后就可以进入mysql终端进行操作了。 使用该命令退出mysql终端后,mysql服务仍然在运行。如果想要停止mysq

    2024年02月13日
    浏览(50)
  • 【Ubuntu】如何使用命令行(优雅地)安装/卸载Microsoft Edge

    把Ubuntu从18.04更新到22.04以后,尽管电脑连接着WIFI,但是Edge死活访问不了网页,让我一气之下打算把Edge卸载重装。 使用如下命令卸载Edge 接着,使用如下命令将Edge的设置和配置文件一起删除 (可能如果安装的beta版本,就把命令行中的 dev 改为 beta ?不确定,可以试试看。)

    2024年02月17日
    浏览(83)
  • win/ubuntu/mac 卸载 安装 docker 命令

    参见 Docker 官网: 要从Windows计算机上卸载Docker Desktop,请执行以下操作: 1.从Windows“开始”菜单中,选择“设置”“应用程序”“应用功能”。 2.从应用程序功能列表中选择Docker Desktop,然后选择卸载。 3.选择“卸载”以确认您的选择。 您也可以从CLl卸载Docker Desktop: 参考链

    2024年01月18日
    浏览(57)
  • mac软件卸载不干净怎么回事 mac如何卸载软件干净

    很多苹果用户会发现,mac卸载软件不干净。明明是早都卸载的软件还能看到那些软件的图标和残留文件夹。mac软件卸载不干净怎么回事?mac如何卸载软件干净?今天小编就来教大家如何将软件彻底卸载,保证电脑磁盘的干净。 一、mac软件卸载不干净怎么回事 很多用户会选择

    2024年02月09日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包