马春杰杰博客
致力于深度学习经验分享!

macos删除磁盘|删除所有分区

文章目录
[隐藏]

macOS系统中,并没有像diskgenius这种神器,有时候自带的磁盘工具并不好用,比如,外接磁盘有时候无法合并分区等。

这时,需要使用diskutil这个工具。

首先diskutil list,找到要删除的分区,比如这里的disk2

macos删除磁盘|删除所有分区

然后diskutil eraseDisk HFS+ ddddG disk2

更详细的使用说明见:

电脑上的操作系统应用程序应用数据一般都需要保存在永久存储器中(通常就是硬盘),这样电脑断电后应用数据等就不会丢失。
为了更有效地组织磁盘上的数据信息,通常将磁盘预先划分成一个或多个磁盘分区,创建对应的文件系统,以方便计算机对各分区分别进行管理。
MacOS 系统自带一个图形化的磁盘管理工具(Disk Utility),同时还有一个命令行版本的 diskutil。通过该命令的使用,可以很快捷地对本地磁盘进行擦除数据、调整分区大小、格式化等操作。

一、verb

diskutil 命令的格式为:diskutil <verb> <options>
不带任何选项的 diskutil 命令会列出该命令支持的 verb 及其对应的介绍:

上面列出的 verb 主要分为以下几类:

  • 获取磁盘和分区信息:如 listinfoactivity
  • 挂(卸)载磁盘或卷:如 mountejectmountDisk
  • 验证、修复磁盘分区或文件系统:如 verifyVolumerepairDisk
  • 分区操作:如 splitPartitionsmergePartitions
  • 其他:如 appleRAIDapfs

如不清楚某个 verb 的具体命令格式,可以直接使用 diskutil 命令加上该 verb 并且不带任何其他选项,命令行即输出该 verb 的使用介绍。如 eraseDisk 的使用介绍:

二、获取磁盘分区信息

1. list

可以使用 list 选项简要列出 MacOS 系统的磁盘及分区信息,包括分区类型(TYPE)、分区名(NAME)、容量大小(SIZE)和标志符(IDENTIFIER)等。如此时系统挂载了 dmg 映像文件,其信息也会显示在列表中(下表中的 disk3 )。

其中的 /dev/disk0 为内置磁盘,/dev/disk2 为外置磁盘(U 盘,已在 Windows系统下格式化为 FAT32 格式),/dev/disk3 为 DMG 映像文件。而 /dev/disk1 其实就是 disk0s2 作为 APFS 文件系统容器的具体信息。

2. info

info 选项可以列出指定磁盘或分区的详细信息。如查看 disk2 (即 8 G 优盘)的信息:

输出的信息包括设备标志符(Device Identifier)、设备节点(Device Node)、设备名(Device / Media Name)、容量大小(Disk Size)、块大小(Block Size)等。

也可以查看某个分区的详细信息:

三、擦除磁盘或分区

eraseDisk 选项用于擦除整个磁盘并重新格式化。该命令的格式为:
diskutil eraseDisk <format> <name> [APM|MBR|GPT] MountPoint|DiskIdentifier|DeviceNode
format 用于指定擦除数据后需要重新建立的文件系统类型。可以为 %noformat% 来跳过初始化文件系统的操作。其他支持的类型可以通过 listFilesystems 选项查看。

用来测试的优盘如下所示,已在 Windows 下格式化为 FAT32 格式。

macos删除磁盘|删除所有分区

可以使用 diskutil eraseDisk ExFAT StarkyDisk disk2 命令将优盘数据擦除并格式化为 ExFAT 格式。

此时的优盘信息为:

macos删除磁盘|删除所有分区

分区表变为 GPT 类型,且多了一个 EFI 分区。

也可以在擦除磁盘时指定分区表类型:

此时的优盘分区表变为 MBR 类型:

macos删除磁盘|删除所有分区

其他擦除命令如 eraseVolume (完全擦除整个磁盘或某个磁盘分区,创建新的文件系统)、zeroDisk (向整个磁盘或某个分区全部写入 ‘0’)
使用 zeroDisk 命令擦除磁盘(该过程会花费很长的时间,我试了)后,该磁盘上的全部信息被抹除,同时也不再包含分区和文件系统信息:

macos删除磁盘|删除所有分区

则再次插入此优盘会提示你『初始化』或『格式化』该磁盘。

macos删除磁盘|删除所有分区

四、创建磁盘分区

可以通过 partionDisk 选项完成对磁盘的分区操作。该命令的格式为:

命令选项中的 Size 用来指定分区的大小(以扇区数计量),合法的值包括带有指定后缀的浮点数。其中的后缀有 B(ytes), S(512-byte-
blocks), K(ilobytes), M(egabytes), G(igabytes), T(erabytes), P(etabytes),也可以是 % 来表示对整个磁盘的占比。
最后一个分区会自动扩展到占用整个磁盘的剩余空间,如果想为最后一个分区指定固定的大小,可在其后再创建一个类型为『free space』的分区。

上面的命令在优盘(disk2)上创建了 3 个分区,第一个(F01)格式为 FAT32,大小是 3 Gb。第二个(F02)格式为 JHFS+,大小为 3 Gb。最后一个是『自由空间』,大小为剩余的容量。所以实际上只是分了两个区,整体的分区表类型为 MBR。

五、分割/合并磁盘分区

splitPartition 选项可以用来将已存在的某个分区再分割成数个更小的分区,注意原分区上的所有数据都会丢失。
该选项的第一个参数为需要分割的分区的挂载点/标志符/设备节点,其余参数和使用 partitionDisk 时相同。

上面的命令将优盘的第二个分区(disk2s2)又分割成了两个更小的分区,分别是 FAT32 格式的 F01(disk2s2),和 JHFS+ 格式的 F02(disk2s3)。虽然命令中指定了 F02 的大小是 3G,因为是最后一个分区,所以自动扩展到占用剩余的磁盘空间。最后它的实际大小是 4.5G。


mergePartitions 选项用来将多个已存在的分区合并为一个大的分区。该选项的格式为:
diskutil mergePartitions [force] format name DiskIdentifier|DeviceNode DiskIdentifier|DeviceNode
第一个分区参数为起始分区,第二个分区参数为结束分区。这两个分区之间的所有分区都将被合并。
如果 force 选项没有被指定,且合并前的第一个分区是可调整大小的文件系统(如 JHFS+),则第一个分区上的数据会保留到合并后的分区。

macos删除磁盘|删除所有分区
macos删除磁盘|删除所有分区

六、调整分区大小(无损)

resizeVolume 选项可以无损调整(增加或缩减)分区大小。

将 disk2s2 分区缩减为 4g 大小,腾出的空间作为『free space』:

此时 disk2s2 内的文件如下:

macos删除磁盘|删除所有分区

将 disk2s2 分区扩展,并尽可能占用所有可用的自由空间。

此时 disk2s2 内的文件如下:

macos删除磁盘|删除所有分区

参考文章

man diskutil

本文最后更新于2022年10月31日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!

如果你对这篇文章有什么疑问或建议,欢迎下面留言提出,我看到会立刻回复!

打赏
未经允许不得转载:马春杰杰 » macos删除磁盘|删除所有分区
超级便宜的原生ChatGPT4.0

留个评论吧~ 抢沙发 评论前登陆可免验证码!

私密评论
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址(选填,便于回访^_^)

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

支付宝扫一扫打赏

微信扫一扫打赏

登录

忘记密码 ?

切换登录

注册