MacOS 中与 Linux 命令“sudo fdisk -l”等效的命令是什么?

MacOS 中与 Linux 命令“sudo fdisk -l”等效的命令是什么?

在 Linux 中,该命令sudo fdisk -l会生成一个输出,其中列出了计算机中的所有磁盘和分区。以下是示例:

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 -lLinux 中的行为?

答案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:

  1. diskutil手册页) 是 Mac OS X 可以处理的所有命令行工具,也就是说,它提供的功能与磁盘工具以图形方式执行的功能一样多或更多。
  2. 对于 MS-DOS MBR(主引导记录)分区驱动器,使用fdisk手册页)。
  3. 对于 Apple APM(Apple 分区图)分区驱动器,使用pdisk手册页)。
  4. 对于 Apple 和 (U)EFI GPT(GUID 分区表)分区驱动器,使用gpt手册页)。

如果您想要一个类似 fdisk 的 GPT 命令,您应该尝试gdiskRod 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 发行版不再包含预编译包pdiskpdisk 的状态
  • 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) 上操作相同,但您应该检查所使用的分区方案:

  1. 使用 BIOS 的 x86-PC(16 位、32 位“i386”和 64 位“x64”)(d)主分区记录(MBR)。
  2. Intel Itanium(IA-64)、x86-PC(IA-32、这包括 64 位,即 amd64,即 x64,即 x86-64) 和 Intel-Macs,它们都使用 EFI/UEFI (普遍的可扩展固件接口),使用GUID 分区表(通用电话协议)。
  3. 运行于 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 

相关内容