¿Cuál es el equivalente del comando de Linux "sudo fdisk -l" en MacOS?

41

En Linux, el comando sudo fdisk -lproduce una salida que enumera todos los discos y particiones en la computadora. Aquí hay un ejemplo:

Ejemplo de salida fdisk -l

Si intento usar sudo fdisk -len MacOS X 10.7.5, el resultado es el siguiente:

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

¿Hay un comando en MacOS para replicar el comportamiento de fdisk -len Linux?

Vito Gentile
fuente

Respuestas:

55

Puede usar la herramienta 'diskutil' para eso:

% 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
Teun Vink
fuente
1
@VitoShadow: asegúrese de aceptar la respuesta correcta, por favor (creo que puede a su nivel).
nerdwaller
Pero, ¿qué pasa si quiero saber el bloque final de una partición?
johnboiles
6

Hasta donde recuerdo...

Para Mac OS X:

  1. diskutil(página de manual ) es una herramienta de línea de comandos para todo lo que Mac OS X puede manejar, es decir, proporcionará tanto o más de lo que Disk Utility puede hacer gráficamente.
  2. Para unidades particionadas MBR (Master Boot Record) de MS-DOS, use fdisk(página de manual ).
  3. Para unidades particionadas Apple APM (Apple Partition Map), use pdisk(página de manual ).
  4. Para unidades particionadas Apple y (U) EFI GPT (tabla de particiones GUID), use gpt(página de manual ).

Si desea un comando GPT similar a fdisk, debe probar gdisk"GPT fdisk" de Rod Smith. Puede encontrar información (importante) asociada aquí y descargar información aquí .

Para Linux:

Los usos modernos de Linux partedpara la partición, por lo fdiskque aún puede existir, pero realmente querrá usar parteden su lugar.

  • GNU Parted parted admite todas las tablas de partición comunes, incluidas MBR, APM y GPT. La mayoría de las distribuciones de Linux tienen buenos manuales para su uso parted, es decir, durante la instalación, pero siempre recomiendo leer los wikipages de ArchLinux: en mi humilde opinión, son los mejores, excepto que este en particular actualmente no está muy actualizado (30 de diciembre de 2016) !
  • fdiskes solo para particiones MBR. Si intenta cambiar la tabla de particiones en un disco particionado GPT, en su lugar dañará el "MBR protector" que forma parte de la especificación GPT. partedte impedirá hacer eso!
  • pdiskha sido portado desde Darwin (la base BSD de Mac OS X) a Linux, por lo que también podría usarlo pdiskpara crear una tabla de particiones APM y administrar sus particiones. El problema es que las distribuciones modernas de Linux ya no incluyen un paquete precompilado pdisk. Estado de pdisk
  • mac-fdiskes el camino a seguir en Linux / PowerPC. La mayoría de las distribuciones x86 (y x64) no incluyen mac-fdiskporque solo es big-endian. Al mirar Debian , ve que solo están disponibles los paquetes powerpc / powerpc64, excepto los paquetes experimentales para m68k, pero no x86. El único Linux que conozco que funciona mac-fdisken x86 / amd64 es Gentoo Linux .
  • Para particiones GPT partedhace un gran trabajo. Si desea una herramienta de línea de comandos similar a fdisk, puede usar cualquiera gpto gdisk, aunque puede haber más ...

Para responder tu pregunta:

fdisk en macOS (anteriormente OS X, originalmente Mac OS X) actúa igual, pero debe verificar el esquema de partición utilizado:

  1. PC x86 (16 bits, 32 bits "i386" y 64 bits "x64") con uso de BIOS (d) Registro de partición maestra (MBR).
  2. Intel Itanium (IA-64), PC x86 (IA-32, esto incluye 64 bits, es decir, amd64, es decir, x64, es decir, x86-64 ) con UEFI e Intel-Macs, todos ellos utilizan EFI / UEFI ( interfaz de firmware extensible universal ), use la tabla de particiones GUID (GPT).
  3. Apple Macintosh que se ejecuta en m86k (procesadores de la serie Motorola 68000) y PowerPC utilizan Apple Partition Map (APM).

Esto no limita el esquema de particionamiento particular de unidades externas, naturalmente, ya que todas esas computadoras pueden usar cada esquema de particionamiento en medios externos si el sistema operativo lo admite. Pero para las unidades internas, más específicamente: unidades de arranque, solo se puede usar un esquema de partición.

Por lo tanto: si usa fdiskuna Mac en una unidad interna, no tendrá suerte, ya que no hay MBR en esa unidad. Es APM o GPT. Del mismo modo, si lo usa fdisken una PC moderna con UEFI (o una Intel Mac con EFI), solo verá el MBR protector de la GPT, no la tabla de partición real.

Para crear / administrar particiones, la ejecución fdisken una unidad externa que usa particiones MBR funcionará en macOS como lo hace en Linux.

Para enumerar particiones existentes en macOS (Mac OS X), use sudo diskutil list(consulte también este excelente artículo en OSXDaily.com ). En Linux, el equivilant es sudo parted -l, o si desea que sólo una unidad específica, sudo parted /dev/sda print.

luttztfz
fuente
Y no nos olvidemos del administrador de volumen lógico CoreStorage .
Daniel B
Al leer todo esto nuevamente, me doy cuenta de que la respuesta corta a la pregunta realmente es usar diskutil. Lo que pretendía señalar es que fdiskpuede enumerar particiones en Linux y obviamente no en macOS, pero el uso fdiskes riesgoso porque está limitado a las particiones MBR. Las unidades modernas vienen con particiones GPT: fdiskestán desactualizadas y, por lo tanto, se vuelven peligrosas, ya que solo enumerarán la parte protectora MBR de la GPT. Las versiones de Linux también fdiskse han modificado para mostrar particiones GPT, pero macOS las usa diskutil, por lo que parece que nunca hubo una necesidad real de usarlas -lde fdisktodos modos.
luttztfz
Se vuelve aún más confuso porque hay versiones compatibles con GPT fdiskpara Linux. Personalmente, creo que también es muy superior a parted.
Daniel B
@DanielB: Sí, como mencioné, algunas versiones de Linux fdiskhan sido modificadas para su uso con GPT. En mi humilde opinión, la única herramienta realmente excelente para GPT en Linux y macOS es, por gdiskejemplo, "gpt-fdisk", pero gpttambién funcionará y solo en Linux partedhará el trabajo correctamente. Se vuelve aún más complicado con cosas como BootCamp u otras configuraciones de arranque múltiple, sin mencionar la alineación no estándar y los sectores de 4k también conocidos como "Formato avanzado". Me parece interesante que, fdiskclaramente un nombre histórico de MS-DOS para una herramienta de partición, todavía está en la mente de las personas para enumerar particiones, incluso en sistemas modernos.
luttztfz
3

Simplemente use fdisk / dev / rdisk0 para obtener CHS y el bloque final de una partición

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 
cortar cabeza
fuente
1
Obtuve fdisk: /dev/rdisk0: Operation not permittedincluso si se da la contraseña de sudo
Chang Qian
Funciona para mi. ¿Quizás solo funciona para particiones MBR? En realidad, solo usé en /dev/disk0lugar de /dev/rdisk0. No estoy seguro de lo que rimplica el agregado ; Nunca lo he usado.
intuido