在 Linux 中,该命令sudo fdisk -l
会生成一个输出,其中列出了计算机中的所有磁盘和分区。以下是示例:
如果我尝试在 MacOS X 10.7.5 中使用sudo fdisk -l
,则输出如下:
fdisk: illegal option -- l
usage: fdisk [-ieu] [-f mbrboot] [-c cyl -h head -s sect] [-S size] [-r] [-a style] disk
-i: initialize disk with new MBR
-u: update MBR code, preserve partition table
-e: edit MBRs on disk interactively
-f: specify non-standard MBR template
-chs: specify disk geometry
-S: specify disk size
-r: read partition specs from stdin (implies -i)
-a: auto-partition with the given style
-d: dump partition table
-y: don't ask any questions
-t: test if disk is partitioned
`disk' is of the form /dev/rdisk0.
auto-partition styles:
boothfs 8Mb boot plus HFS+ root partition (default)
hfs Entire disk as one HFS+ partition
dos Entire disk as one DOS partition
raid Entire disk as one 0xAC partition
MacOS 中是否有命令可以复制fdisk -l
Linux 中的行为?
答案1
您可以使用“diskutil”工具来实现此目的:
% diskutil list
/dev/disk0
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.1 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage 499.2 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macintosh HD *498.9 GB disk1
答案2
就目前我所记得的...
对于 Mac OS X:
diskutil
(手册页) 是 Mac OS X 可以处理的所有命令行工具,也就是说,它提供的功能与磁盘工具以图形方式执行的功能一样多或更多。- 对于 MS-DOS MBR(主引导记录)分区驱动器,使用
fdisk
(手册页)。 - 对于 Apple APM(Apple 分区图)分区驱动器,使用
pdisk
(手册页)。 - 对于 Apple 和 (U)EFI GPT(GUID 分区表)分区驱动器,使用
gpt
(手册页)。
如果您想要一个类似 fdisk 的 GPT 命令,您应该尝试gdisk
Rod Smith 的“GPT fdisk”。您可以找到(重要)相关信息和点击此处下载信息。
对于 Linux:
现代 Linux 使用parted
分区,因此fdisk
可能仍然存在,但您确实想使用parted
它。
- GNU Parted
parted
支持所有常见的分区表,包括 MBR、APM 和 GPT。大多数 Linux 发行版都有关于使用parted
(即安装过程中)的良好手册,但我始终建议阅读ArchLinux—在我看来它们是最好的,只是这个目前不是很新(2016 年 12 月 30 日)! fdisk
仅适用于 MBR 分区。如果您尝试更改 GPT 分区磁盘上的分区表,那么您将破坏 GPT 规范中的“保护性 MBR”。parted
将阻止您这样做!pdisk
已从 Darwin(Mac OS X 的 BSD 基础)移植到 Linux,因此您也可以使用它pdisk
来创建 APM 分区表并管理其分区。问题是现代 Linux 发行版不再包含预编译包pdisk
。pdisk 的状态mac-fdisk
是 Linux/PowerPC 上的选择。大多数 x86(和 x64)发行版不包括它,mac-fdisk
因为它只支持大端。Debian您会发现只有 powerpc/powerpc64 软件包可用,除了 m68k 的实验性软件包,但没有 x86。我所知道的唯一可以mac-fdisk
在 x86/amd64 上运行的 Linux 是Gentoo Linux。- 对于 GPT 分区来说,
parted
效果很好。如果您想要一个类似 fdisk 的命令行工具,您可以使用gpt
或者gdisk
,尽管可能还有更多……
回答你的问题:
fdisk
在 macOS (以前称为 OS X,最初是 Mac OS X) 上操作相同,但您应该检查所使用的分区方案:
- 使用 BIOS 的 x86-PC(16 位、32 位“i386”和 64 位“x64”)(d)主分区记录(MBR)。
- Intel Itanium(IA-64)、x86-PC(IA-32、这包括 64 位,即 amd64,即 x64,即 x86-64) 和 Intel-Macs,它们都使用 EFI/UEFI (普遍的可扩展固件接口),使用GUID 分区表(通用电话协议)。
- 运行于 m86k(摩托罗拉 68000 系列处理器)和 PowerPC 上的 Apple Macintosh 使用苹果分区图(APM)。
当然,这并不限制外部驱动器的特定分区方案,因为所有这些计算机都可以在外部介质上使用每个分区方案如果操作系统支持该方案。但对于内部驱动器,更具体地说是启动驱动器,只能使用一种分区方案。
因此:如果您fdisk
在 Mac 的内置驱动器上使用,那么您将不会有好运,因为该驱动器上没有 MBR。它要么是 APM,要么是 GPT。同样,如果您fdisk
在具有 UEFI 的现代 PC(或具有 EFI 的 Intel Mac)上使用,您将只能看到 GPT 的保护性 MBR,而不是真正的分区表。
对于创建/管理分区,fdisk
在使用 MBR 分区的外部驱动器上运行将在 macOS 上像在 Linux 上一样工作。
要在 macOS (Mac OS X) 上列出现有分区,请使用sudo diskutil list
(另请参阅OSXDaily.com 上的这篇精彩文章)。在 Linux 上,等效项是sudo parted -l
,或者,如果您只想要特定的驱动器,则是sudo parted /dev/sda print
。
答案3
只需使用 fdisk /dev/rdisk0 即可获取分区的 CHS 和结束块
LiuJianweis-iMac:~ liujianwei$ sudo fdisk /dev/rdisk0
Password:
Disk: /dev/rdisk0 geometry: 15566/255/63 [250069680 sectors]
Signature: 0xAA55
Starting Ending
: id cyl hd sec - cyl hd sec [ start - size]
1: EE 1023 254 63 - 1023 254 63 [ 1 - 250069679] <Unknown ID>
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused