Możesz użyć parted -ldo określenia typu tablicy partycji. Na przykład:
$ sudo parted -l
Model: ATA TOSHIBA THNSNS25 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 4194kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 256GB 224GB primary ext4
Model: ATA Hitachi HDT72101 (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 32.2GB 32.2GB primary ext4 boot
2 32.2GB 996GB 964GB primary ext4
3 996GB 1000GB 4295MB primary linux-swap(v1)
To Partition Tablepole pokazuje, że korzystam z msdostabeli partycji MBR (wciąż powszechnie używanej w systemach Linux i Windows) na obu dyskach. Ze manstrony partedmożna utworzyć (i tym samym, mam nadzieję, zidentyfikować) następujące typy tablicy partycji (lub szerzej `etykieta dysku '):
bsd
dvh
gpt - this is a GPT partition table
loop - this is raw disk access without a partition table
mac
msdos - this is a standard MBR partition table
pc98
sun
Aktualizacja
Warto dodać polecenie do wyszczególnienia pojedynczej partycji, ponieważ nie jest to oczywiste bez pewnej wiedzy, parteda znalezienie potrzebnych danych może być uciążliwe, jeśli istnieje wiele dysków. Dla /dev/sdabyś zrobił:
To wspaniałe polecenie, Graeme. Chociaż używam Linuksa od kilku lat, nigdy tak naprawdę tego nie zauważyłem. Dzięki!
Tim
3
parted /dev/sda pteż zrobi.
sjas
musiałem zrobić „sudo parted -l”
Santropedro,
33
W systemie Linux możesz to sprawdzić za pomocą gdisknarzędzia, które powinno być dostępne dla każdej dystrybucji.
gdisk -l /dev/sda
Tutaj /dev/sdajest węzeł urządzenia z dysku fizycznego , a nie partycja ( /dev/sda1, /dev/sda2, itd. Są ścianki działowe).
Jeśli zobaczysz coś, co obejmuje:
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
Masz dysk w stylu MBR. Nie martw się, to nie zaszkodziło.
Jeśli nie widzisz tego ostrzeżenia, masz dysk GPT lub hybrydowy dysk GPT / MBR . Te późniejsze są używane głównie na komputerach Apple przeznaczonych do podwójnego rozruchu wersji MS Windows, które nie obsługują GPT. gdiskwskaże to za pomocą:
Found valid GPT with hybrid MBR; using GPT
Mogą być również używane w innych sytuacjach, w których wymagana jest obsługa obu stylów.
Lub odwrotnie - próba użycia cfdiskna partycji GPT spowoduje również ostrzeżenie.
Orion
Jeśli nie jest zainstalowany i nie znajduje się w gdiskpakiecie, można go znaleźć w gptfdiskpakiecie ... przynajmniej w Gentoo.
2
@orion Nie polecam tego, ponieważ niektóre wersje narzędzi, takie jak fdisklub cfdiskmogą obsługiwać GPT, dlatego nie wyświetlają błędu.
goldilocks
Dla mnie gdiskwykrywa hybrydową tablicę partycji GPT + MBR i daje Found valid GPT with hybrid MBR; using GPT.. Wydaje się, że jest to jedyna metoda, która wykryje tabelę hybrydową.
Graeme
@Graeme: Dzięki. Nie zdawałem sobie z tego sprawy (oryginalne odniesienie hybrydowe zostało zredagowane przez Stephane Chazelas), ale przeczytałem trochę i dodałem kilka szczegółów.
goldilocks
17
Ponieważ system operacyjny nie został określony, oto sposób robienia rzeczy przez FreeBSD .
Wszystko odbywa się za pomocą gpartpolecenia (skrót od GEOM partioner - nie ma nic wspólnego z GNU).
Prosty gpart showpokazałby wszystkie dostępne partycje wszystkich dysków, ale możesz określić urządzenie, które ma bardziej precyzyjny wygląd na jednym:
starszy układ partycji z MBR (alias „msdos”) i schematami partycji BSD (dla systemów BSD zwykle wymagany był partycjonowanie 2-poziomowe, chyba że używa się pełnego dysku):
$ sudo /lib/udev/udisks-part-id /dev/sda
using device_file=/dev/sda syspath=/sys/devices/pci0000:00/0000:00:0b.0/ata1/host0/target0:0:0/0:0:0:0/block/sda, offset=0 ao=0 and number=0 for /dev/sda
Entering MS-DOS parser (offset=0, size=500107862016)
MSDOS_MAGIC found
found partition type 0xee => protective MBR for GPT
Exiting MS-DOS parser
Entering EFI GPT parser
GPT magic found
partition_entry_lba=2
num_entries=128
size_of_entry=128
Leaving EFI GPT parser
EFI GPT partition table detected
UDISKS_PARTITION_TABLE=1
UDISKS_PARTITION_TABLE_SCHEME=gpt
UDISKS_PARTITION_TABLE_COUNT=4
Powyżej mam dysk z hybrydowym partycjonowaniem GPT + MS-DOS. W takim przypadku jądro Linuksa ignoruje partycjonowanie MS-DOS, dlatego udisksustawia UDISKS_PARTITION_TABLE_SCHEME na gpt.
To narzędzie udisks-part-id służy do zapełniania bazy danych udev. Więc jeśli masz udiskszainstalowany, powinieneś być w stanie zapytać o te informacje, nawet jako użytkownik nieuprzywilejowany za pomocą:
Pamiętaj, że otrzymasz podobne wyniki niezależnie od tego, czy istnieje hybrydowy GPT + MBR, czy nie. GPT wymaga fałszywego MBR z pojedynczą partycją pełnego typu 0xee. W wersji hybrydowej jest to normalny MBR z jedną 0xeepartycją (i może mieć poważne problemy, jeśli dane MBR nie zsynchronizują się z danymi GPT).
Graeme
6
Posługiwać się
$ sudo fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x987c1a05
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 999423 997376 487M 83 Linux
/dev/sda2 1001470 250068991 249067522 118.8G 5 Extended
/dev/sda5 1001472 250068991 249067520 118.8G 8e Linux LVM
Zobacz typ Disklabel: dos . Jeśli pokazuje dos, oznacza to, że jest to schemat MBR lub inny schemat GPT
Odpowiedzi:
Możesz użyć
parted -l
do określenia typu tablicy partycji. Na przykład:To
Partition Table
pole pokazuje, że korzystam zmsdos
tabeli partycji MBR (wciąż powszechnie używanej w systemach Linux i Windows) na obu dyskach. Zeman
stronyparted
można utworzyć (i tym samym, mam nadzieję, zidentyfikować) następujące typy tablicy partycji (lub szerzej `etykieta dysku '):Aktualizacja
Warto dodać polecenie do wyszczególnienia pojedynczej partycji, ponieważ nie jest to oczywiste bez pewnej wiedzy,
parted
a znalezienie potrzebnych danych może być uciążliwe, jeśli istnieje wiele dysków. Dla/dev/sda
byś zrobił:źródło
parted /dev/sda p
też zrobi.W systemie Linux możesz to sprawdzić za pomocą
gdisk
narzędzia, które powinno być dostępne dla każdej dystrybucji.Tutaj
/dev/sda
jest węzeł urządzenia z dysku fizycznego , a nie partycja (/dev/sda1
,/dev/sda2
, itd. Są ścianki działowe).Jeśli zobaczysz coś, co obejmuje:
Masz dysk w stylu MBR. Nie martw się, to nie zaszkodziło.
Jeśli nie widzisz tego ostrzeżenia, masz dysk GPT lub hybrydowy dysk GPT / MBR . Te późniejsze są używane głównie na komputerach Apple przeznaczonych do podwójnego rozruchu wersji MS Windows, które nie obsługują GPT.
gdisk
wskaże to za pomocą:Mogą być również używane w innych sytuacjach, w których wymagana jest obsługa obu stylów.
źródło
cfdisk
na partycji GPT spowoduje również ostrzeżenie.gdisk
pakiecie, można go znaleźć wgptfdisk
pakiecie ... przynajmniej w Gentoo.fdisk
lubcfdisk
mogą obsługiwać GPT, dlatego nie wyświetlają błędu.gdisk
wykrywa hybrydową tablicę partycji GPT + MBR i dajeFound valid GPT with hybrid MBR; using GPT.
. Wydaje się, że jest to jedyna metoda, która wykryje tabelę hybrydową.Ponieważ system operacyjny nie został określony, oto sposób robienia rzeczy przez FreeBSD .
Wszystko odbywa się za pomocą
gpart
polecenia (skrót od GEOM partioner - nie ma nic wspólnego z GNU).Prosty
gpart show
pokazałby wszystkie dostępne partycje wszystkich dysków, ale możesz określić urządzenie, które ma bardziej precyzyjny wygląd na jednym:starszy układ partycji z MBR (alias „msdos”) i schematami partycji BSD (dla systemów BSD zwykle wymagany był partycjonowanie 2-poziomowe, chyba że używa się pełnego dysku):
$
gpart show
nowoczesny układ partycji za pomocą GPT :
$
gpart show /dev/ada2
Aby dowiedzieć się więcej, wszystko znajduje się w
gpart
instrukcji .źródło
W
udisks
systemie Linux:Powyżej mam dysk z hybrydowym partycjonowaniem GPT + MS-DOS. W takim przypadku jądro Linuksa ignoruje partycjonowanie MS-DOS, dlatego
udisks
ustawia UDISKS_PARTITION_TABLE_SCHEME na gpt.To narzędzie udisks-part-id służy do zapełniania bazy danych udev. Więc jeśli masz
udisks
zainstalowany, powinieneś być w stanie zapytać o te informacje, nawet jako użytkownik nieuprzywilejowany za pomocą:źródło
0xee
. W wersji hybrydowej jest to normalny MBR z jedną0xee
partycją (i może mieć poważne problemy, jeśli dane MBR nie zsynchronizują się z danymi GPT).Posługiwać się
Zobacz typ Disklabel: dos . Jeśli pokazuje dos, oznacza to, że jest to schemat MBR lub inny schemat GPT
źródło
W moich skryptach partycji Alpine Linux używam:
źródło
fdisk -l /dev/sda | grep -i disklabel
nic nie zwraca ( GNU Fdisk 1.3.0a ).Możesz użyć
blkid
.Przykłady z wyjściem:
Lub w skrypcie, z
-o value
opcją:źródło