在MacOS中Linux命令“sudo fdisk -l”的等价物是什么?


41

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

fdisk -l输出的示例

如果我尝试sudo fdisk -l在MacOS X 10.7.5中使用,输出如下:

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

Answers:


54

您可以使用'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

1
@VitoShadow - 请确保接受正确的答案(我认为你可以在你的水平)。
nerdwaller

但是如果我想知道分区的endblock怎么办?
约翰博伊斯

6

就目前我所记得的...

对于Mac OS X:

  1. diskutil联机帮助页)是Mac OS X可以处理的所有内容的命令行工具,即它将提供与磁盘工具可以图形化一样多或更多的功能。
  2. 对于MS-DOS MBR(主引导记录)分区驱动器,请使用fdisk联机帮助页)。
  3. 对于Apple APM(Apple Partition Map)分区驱动器,请使用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 -IMHO中的wikipages它们是最好的,除了这个特定的目前不是最新的(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因为它只是big-endian。看看Debian你看到只有powerpc / powerpc64软件包可用,除了m68k的实验包,但不是x86。我所知道的唯一一个mac-fdisk在x86 / amd64上工作的LinuxGentoo 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),带有UEFI和Intel-Mac,所有这些都使用EFI / UEFI(通用可扩展固件接口) ),使用GUID分区表(GPT)。
  3. 在m86k(Motorola 68000系列处理器)和PowerPC上运行的Apple Macintosh使用Apple Partition Map(APM)。

当然,这并不限制外部驱动器的特定分区方案,因为如果操作系统支持外部驱动器,所有这些计算机都可以使用外部介质上的每个分区方案。但对于内部驱动器,更具体地说:启动驱动器,只能使用一个分区方案。

因此:如果你fdisk在内置硬盘上的Mac上使用,你将没有运气,因为该驱动器上没有MBR。它是APM或GPT。同样,如果您fdisk在具有UEFI(或带有EFI的Intel Mac)的现代PC上使用,您将只能看到GPT的保护性MBR,而不是真正的分区表。

对于创建/管理分区,fdisk在使用MBR分区的外部驱动器上运行将像在Linux上一样在macOS上运行。

要在macOS(Mac OS X)上列出现有分区,请使用sudo diskutil list(另请参阅OSXDaily.com上的这篇精彩文章)。在Linux上,等效的是sudo parted -l,或者如果你只想要一个特定的驱动器,sudo parted /dev/sda print


我们不要忘记CoreStorage逻辑卷管理器。
Daniel B

再次阅读这一切,我意识到问题的简短答案实际上是使用diskutil。我想要指出的是,fdisk可能列出Linux上的分区,显然不是在macOS上,但使用fdisk是有风险的,因为它仅限于MBR分区。现代驱动器来自GPT分区fdisk- 过时并因此变得危险,因为它将仅列出GPT的保护性MBR部分。的Linux版本fdisk已被修改,以显示GPT分区为好,但MacOS的使用diskutil,因此它似乎从来就没有真正需要使用-lfdisk反正。
luttztfz 2017年

它变得更加令人困惑,因为有fdisk适用于Linux的GPT版本。就个人而言,我认为它也非常优越parted
Daniel B

@DanielB:是的,就像我刚才提到的,一些Linux版本fdisk已被修改用于GPT。恕我直言,在Linux和macOS上唯一非常棒的GPT工具是gdisk“gpt-fdisk”,但gpt也可以在Linux上工作,只能parted完成工作。使用BootCamp或其他多引导设置会更加复杂,更不用说非标准对齐和4k扇区, “高级格式”。我发现有趣的是fdisk- 显然是一个分区工具的历史MS-DOS名称 - 仍然在人们的脑海中列出分区,甚至在现代系统上。
luttztfz

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 

1
fdisk: /dev/rdisk0: Operation not permitted即使给了sudo密码我也得到了
张倩

适合我。也许它只适用于MBR分区?其实我只是用/dev/disk0而不是/dev/rdisk0。我不确定附加r意味着什么; 我从来没用过它。
直截了
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.