Tương đương với lệnh Linux sudo fdisk -l 'trong MacOS là gì?


41

Trong Linux, lệnh sudo fdisk -ltạo ra một đầu ra liệt kê tất cả các đĩa và phân vùng trong máy tính. Đây là một ví dụ:

Ví dụ về đầu ra fdisk -l

Nếu tôi cố gắng sử dụng sudo fdisk -ltrong MacOS X 10.7.5, thì đầu ra là như sau:

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

Có lệnh nào trong MacOS để sao chép hành vi của fdisk -lLinux không?

Câu trả lời:


55

Bạn có thể sử dụng công cụ 'đĩautil' cho việc đó:

% 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 - Hãy chắc chắn chấp nhận câu trả lời chính xác (tôi nghĩ bạn có thể ở cấp độ của bạn).
nerdwaller

Nhưng nếu tôi muốn biết endblock của một phân vùng thì sao?
johnboiles

6

Càng xa tôi càng nhớ...

Đối với Mac OS X:

  1. diskutil( manpage ) là một công cụ dòng lệnh cho mọi thứ mà Mac OS X có thể xử lý, tức là nó sẽ cung cấp nhiều hơn hoặc nhiều hơn so với Disk Utility có thể làm bằng đồ họa.
  2. Đối với các ổ đĩa được phân vùng MS-DOS MBR (Master Boot Record), hãy sử dụng fdisk( manpage ).
  3. Đối với các ổ đĩa được phân vùng của Apple APM (Bản đồ phân vùng Apple), hãy sử dụng pdisk( manpage ).
  4. Đối với các ổ đĩa được phân vùng của Apple và (U) EFI GPT (Bảng phân vùng GUID), hãy sử dụng gpt( manpage ).

Nếu bạn muốn một lệnh GPT giống như fdisk, bạn nên thử gdisk"GPT fdisk" từ Rod Smith. Bạn có thể tìm thấy (quan trọng) thông tin liên quan ở đâytải thông tin ở đây .

Đối với Linux:

Linux hiện đại sử dụng partedđể phân vùng, vì vậy fdiskcó thể vẫn còn, nhưng bạn thực sự muốn sử dụng partedthay thế.

  • GNU Parted parted hỗ trợ tất cả các bảng phân vùng phổ biến, bao gồm MBR, APM và GPT. Hầu hết các bản phân phối Linux đều có hướng dẫn sử dụng tốt parted, ví dụ như trong quá trình cài đặt, nhưng tôi luôn khuyên bạn nên đọc các wiki từ ArchLinux , !
  • fdiskchỉ dành cho phân vùng MBR. Nếu bạn cố gắng thay đổi bảng phân vùng trên đĩa được phân vùng GPT, thay vào đó, bạn sẽ làm hỏng "MBR bảo vệ", một phần của đặc tả GPT. partedsẽ ngăn bạn làm điều đó!
  • pdiskđã được chuyển từ Darwin (cơ sở BSD của Mac OS X) sang Linux, vì vậy bạn cũng có thể sử dụng pdiskđể tạo bảng phân vùng APM và quản lý các phân vùng của nó. Vấn đề là các bản phân phối Linux hiện đại không bao gồm gói tiền biên dịch pdisknữa. Tình trạng của pdisk
  • mac-fdisklà cách để đi trên Linux / PowerPC. Hầu hết các bản phân phối x86 (và x64) không bao gồm mac-fdiskvì nó chỉ là phần cuối lớn. Nhìn vào Debian bạn thấy rằng chỉ có các gói powerpc / powerpc64, ngoại trừ các gói thử nghiệm cho m68k, nhưng không phải là x86. Linux duy nhất tôi biết có hoạt động mac-fdisktrên x86 / amd64 là Gentoo Linux .
  • Đối với phân vùng GPT partedlàm một công việc tuyệt vời. Nếu bạn muốn có một công cụ dòng lệnh giống như fdisk, bạn có thể sử dụng gpthoặc gdisk, mặc dù có thể có nhiều ...

Để trả lời câu hỏi của bạn:

fdisk trên macOS (trước đây là OS X, ban đầu là Mac OS X) hoạt động giống nhau, nhưng bạn nên kiểm tra sơ đồ phân vùng được sử dụng:

  1. x86-PC (16-bit, 32-bit "i386" và 64-bit "x64") với BIOS sử dụng (d) Bản ghi phân vùng chính (MBR).
  2. Intel Itanium (IA-64), x86-PC (IA-32, bao gồm 64-bit tức là amd64 tức là x64 tức là x86-64 ) với UEFI và Intel-Mac, tất cả đều sử dụng EFI / UEFI ( Giao diện phần mềm mở rộng toàn cầu ), sử dụng Bảng phân vùng GUID (GPT).
  3. Apple Macintosh chạy trên m86k (bộ vi xử lý Motorola 68000) và PowerPC sử dụng Bản đồ phân vùng của Apple (APM).

Điều này không giới hạn sơ đồ phân vùng cụ thể của các ổ đĩa ngoài, vì tất cả các máy tính đó có thể sử dụng từng sơ đồ phân vùng trên phương tiện bên ngoài nếu hệ điều hành hỗ trợ. Nhưng đối với các ổ đĩa trong, cụ thể hơn: ổ đĩa khởi động, chỉ có thể sử dụng một sơ đồ phân vùng.

Do đó: nếu bạn sử dụng fdisktrên máy Mac trên ổ đĩa trong, bạn sẽ không gặp may, vì không có MBR trên ổ đĩa đó. Nó là APM hoặc GPT. Tương tự, nếu bạn sử dụng fdisktrên PC hiện đại có UEFI (hoặc Intel Mac có EFI), bạn sẽ chỉ thấy MBR bảo vệ của GPT, chứ không phải bảng phân vùng thực.

Để tạo / quản lý phân vùng, chạy fdisktrên ổ đĩa ngoài sử dụng phân vùng MBR sẽ hoạt động trên macOS giống như trên Linux.

Để liệt kê các phân vùng hiện có trên macOS (Mac OS X), hãy sử dụng sudo diskutil list(xem thêm bài viết tuyệt vời này tại OSXDaily.com ). Trên Linux, tương đương là sudo parted -l, hoặc nếu bạn chỉ muốn một ổ đĩa cụ thể , sudo parted /dev/sda print.


Và đừng quên trình quản lý khối lượng logic CoreStorage .
Daniel B

Đọc tất cả những điều này một lần nữa, tôi nhận ra rằng câu trả lời ngắn cho câu hỏi thực sự là sử dụng diskutil. Những gì tôi dự định chỉ ra là fdiskcó thể liệt kê các phân vùng trên Linux và rõ ràng không phải trên macOS, nhưng việc sử dụng fdiskrất rủi ro vì nó bị giới hạn trong các phân vùng MBR. Các ổ đĩa hiện đại được phân vùng GPT đã fdisklỗi thời và do đó trở nên nguy hiểm vì nó sẽ chỉ liệt kê phần MBR bảo vệ của GPT. Các phiên bản Linux fdiskđã được sửa đổi để hiển thị các phân vùng GPT, nhưng macOS sử dụng diskutil, do đó dường như không bao giờ có nhu cầu thực sự sử dụng -lvới fdiskdù sao.
luttztfz

Nó thậm chí còn khó hiểu hơn vì có các phiên bản hỗ trợ GPT fdiskcho Linux. Cá nhân, tôi nghĩ rằng nó cũng vượt trội hơn rất nhiều parted.
Daniel B

@DanielB: Có, như tôi đã đề cập, một số phiên bản Linux fdiskđã được sửa đổi để sử dụng với GPT. IMHO công cụ thực sự tuyệt vời duy nhất cho GPT trên Linux và macOS là gdisktức là gpt-fdisk, nhưng gptcũng sẽ hoạt động và chỉ trên Linux partedsẽ thực hiện đúng công việc. Nó thậm chí còn phức tạp hơn với những thứ như BootCamp hoặc các thiết lập multiboot khác, chưa kể đến việc căn chỉnh không chuẩn và các lĩnh vực 4k hay còn gọi là Định dạng Nâng cao Định dạng. Tôi chỉ thấy thú vị khi mà rõ fdiskràng là một tên MS-DOS trong lịch sử cho một công cụ phân vùng, vẫn còn trong tâm trí mọi người để liệt kê các phân vùng, ngay cả trên các hệ thống hiện đại.
luttztfz 17/03/2017

3

Chỉ cần sử dụng fdisk / dev / rdisk0 để nhận CHS và khối kết thúc của phân vùng

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
Tôi nhận được fdisk: /dev/rdisk0: Operation not permittedngay cả khi mật khẩu sudo được cung cấp
Chang Qian

Làm việc cho tôi. Có lẽ nó chỉ hoạt động cho các phân vùng MBR? Thật ra tôi chỉ dùng /dev/disk0chứ không dùng /dev/rdisk0. Tôi không chắc những gì thêm vào rngụ ý; Tôi chưa bao giờ sử dụng nó.
trực giác
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.