Jaki jest odpowiednik polecenia Linux „sudo fdisk -l” w systemie MacOS?


41

W systemie Linux polecenie sudo fdisk -lgeneruje dane wyjściowe z listą wszystkich dysków i partycji w komputerze. Oto przykład:

Przykład wyjścia fdisk -l

Jeśli spróbuję użyć sudo fdisk -lw systemie MacOS X 10.7.5, dane wyjściowe są następujące:

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

Czy w MacOS istnieje polecenie replikacji zachowania fdisk -lw systemie Linux?

Odpowiedzi:


55

Możesz do tego użyć narzędzia „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 - Upewnij się, że zaakceptowałeś poprawną odpowiedź (myślę, że możesz na swoim poziomie).
nerdwaller

Ale co, jeśli chcę poznać blok końcowy partycji?
johnboiles

6

O ile pamiętam...

W systemie Mac OS X:

  1. diskutil( manpage ) to narzędzie wiersza polecenia do wszystkiego, co Mac OS X może obsłużyć, tzn. zapewni tyle, ile program Disk Utility może zrobić graficznie.
  2. W przypadku dysków partycjonowanych MS-DOS MBR (Master Boot Record) należy użyć fdisk( manpage ).
  3. W przypadku dysków partycjonowanych Apple APM (Apple Partition Map) należy użyć pdisk( manpage ).
  4. W przypadku dysków partycjonowanych Apple i (U) EFI GPT (GUID Partition Table) należy użyć gpt( manpage ).

Jeśli chcesz mieć komendę GPT podobną do fdisk, powinieneś spróbować gdisk„GPT fdisk” od Rod Smith. Możesz znaleźć (ważne) powiązane informacje tutaj i pobrać informacje tutaj .

W systemie Linux:

Współczesny Linux używa parteddo partycjonowania, więc fdiskmoże nadal być dostępny, ale naprawdę powinieneś go użyć parted.

  • GNU Parted parted obsługuje wszystkie popularne tabele partycji, w tym MBR, APM i GPT. Większość dystrybucji Linuksa ma dobre instrukcje użytkowania parted, tj. Podczas instalacji, ale zawsze polecam czytanie stron Wiki z ArchLinux - IMHO są najlepsze, z wyjątkiem tego, że ta konkretna nie jest obecnie bardzo aktualna (30 grudnia 2016) !
  • fdiskdotyczy tylko partycji MBR. Jeśli spróbujesz zmienić tablicę partycji na partycjonowanym dysku GPT, zamiast tego uszkodzisz „ochronny MBR”, który jest częścią specyfikacji GPT. parteduniemożliwi ci to!
  • pdiskzostał przeniesiony z Darwin (podstawa BSD systemu Mac OS X) do Linuksa, więc możesz także użyć pdiskdo utworzenia tablicy partycji APM i zarządzania jej partycjami. Problem polega na tym, że współczesne dystrybucje Linuksa nie zawierają już wstępnie skompilowanego pakietu pdisk. Status pdisk
  • mac-fdiskjest sposobem na przejście na Linux / PowerPC. Większość dystrybucji x86 (i x64) nie obejmuje, mac-fdiskponieważ jest to tylko big-endian. Patrząc na Debiana , widzisz, że dostępne są tylko pakiety powerpc / powerpc64, z wyjątkiem pakietów eksperymentalnych dla m68k, ale nie x86. Jedyny znany mi Linux działający mac-fdiskna x86 / amd64 to Gentoo Linux .
  • Dla partycji GPT partedrobi świetną robotę. Jeśli potrzebujesz narzędzia wiersza polecenia podobnego do fdisk, możesz użyć jednego gptlub gdisk, chociaż może być więcej ...

Odpowiedzieć na Twoje pytanie:

fdisk w systemie macOS (poprzednio OS X, pierwotnie Mac OS X) działa tak samo, ale należy sprawdzić używany schemat partycjonowania:

  1. Komputery x86 (16-bitowe, 32-bitowe „i386” i 64-bitowe „x64”) z systemem BIOS (d) Master Partition Record (MBR).
  2. Intel Itanium (IA-64), komputery x86-PC (IA-32, w tym 64-bitowe, tj. Amd64, tj. X64, tj. X86-64 ) z UEFI i Intel-Mac, wszystkie używają EFI / UEFI ( Universal Extensible Firmware Interface) ), użyj tabeli partycji GUID (GPT).
  3. Apple Macintosh działający na m86k (procesory z serii Motorola 68000) i PowerPC korzystają z Apple Partition Map (APM).

Nie ogranicza to oczywiście konkretnego schematu partycjonowania dysków zewnętrznych, ponieważ wszystkie te komputery mogą korzystać z każdego schematu partycjonowania na nośniku zewnętrznym, jeśli system operacyjny go obsługuje. Ale w przypadku dysków wewnętrznych, a dokładniej: dysków rozruchowych, można zastosować tylko jeden schemat partycjonowania.

Dlatego: jeśli używasz fdiskkomputera Mac na dysku wewnętrznym, nie będziesz miał szczęścia, ponieważ na tym dysku nie ma MBR. Jest to APM lub GPT. Podobnie, jeśli używasz fdiskna nowoczesnym komputerze z UEFI (lub Intel Mac z EFI), zobaczysz tylko ochronny MBR GPT, a nie prawdziwą tablicę partycji.

W przypadku tworzenia partycji / zarządzania nimi uruchamianie fdiskna dysku zewnętrznym korzystającym z partycjonowania MBR będzie działało w systemie macOS, podobnie jak w systemie Linux.

Aby wyświetlić listę istniejących partycji w systemie MacOS (Mac OS X), użyj sudo diskutil list(zobacz także ten świetny artykuł na OSXDaily.com ). W systemie Linux equivilant jest sudo parted -l, lub jeśli chcesz tylko napędzające, sudo parted /dev/sda print.


I nie zapominajmy o menedżerze woluminów logicznych CoreStorage .
Daniel B,

Czytając to wszystko jeszcze raz, zdaję sobie sprawę, że naprawdę krótką odpowiedzią na to pytanie jest skorzystanie diskutil. Chciałem wskazać, że fdiskmoże wyświetlać listę partycji w systemie Linux i oczywiście nie w systemie macOS, ale używanie fdiskjest ryzykowne, ponieważ ogranicza się do partycji MBR. Nowoczesne dyski są podzielone na partycje GPT fdisk- są przestarzałe, a zatem stają się niebezpieczne, ponieważ zawierają tylko ochronną część MBR GPT. Wersje systemu Linux fdiskzostały zmodyfikowane, aby wyświetlały również partycje GPT, ale używa macOS diskutil, więc wygląda na to, że tak naprawdę nigdy nie było potrzeby korzystania -lz niego fdisk.
luttztfz

Staje się to jeszcze bardziej mylące, ponieważ istnieją wersje fdiskLinux -a obsługujące GPT . Osobiście uważam, że jest też znacznie lepszy parted.
Daniel B.

@DanielB: Tak, jak wspomniałem, niektóre wersje Linuksa fdiskzostały zmodyfikowane do użytku z GPT. IMHO jedynym naprawdę świetnym narzędziem do GPT na Linuksie i macOS jest gdisknp. „Gpt-fdisk”, ale gptbędzie również działać i tylko na Linuksie partedzrobi to dobrze. Jeszcze bardziej komplikuje się w takich rzeczach, jak BootCamp lub inne konfiguracje wielootworowe, nie wspominając o niestandardowym wyrównaniu i sektorach 4k, zwanych również „Advanced Format”. Po prostu uważam za interesujące, że - fdiskewidentnie historyczna nazwa MS-DOS dla narzędzia do partycjonowania - wciąż jest w pamięci ludzi, aby wymieniać partycje, nawet w nowoczesnych systemach.
luttztfz

3

Wystarczy użyć fdisk / dev / rdisk0, aby uzyskać CHS i zakończyć blok partycji

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
Dostałem fdisk: /dev/rdisk0: Operation not permittednawet jeśli podano hasło sudo
Chang Qian

Pracuje dla mnie. Być może działa tylko w przypadku partycji MBR? Właściwie tylko używane /dev/disk0zamiast /dev/rdisk0. Nie jestem pewien, co roznacza dodany ; Nigdy tego nie użyłem.
intuicyjnie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.