Вы можете использовать, parted -lчтобы определить тип таблицы разделов. Например:
$ 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)
Partition TableПоле показывает , что я использую msdosMBR таблицы разделов (тот , по- прежнему широко используется для Linux и Windows) на обоих дисках. Со manстраницы partedможно создать (и, как мы надеемся, идентифицировать) следующие типы таблицы разделов (или, более широко, «метка диска»):
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
Обновить
Стоит добавить команду для перечисления одного раздела, так как это не очевидно без некоторого знания, partedи может оказаться затруднительным найти нужные данные, если имеется несколько дисков. Для /dev/sdaвас будет делать:
Это отличная команда, Грэм. Хотя я использую Linux уже несколько лет, я никогда этого не замечал. Спасибо!
Тим
3
parted /dev/sda pтоже сделаю.
Sjas
я должен был сделать "sudo
parted
33
В Linux вы можете проверить это с помощью gdiskинструмента, который должен быть доступен для любого дистрибутива.
gdisk -l /dev/sda
Здесь, /dev/sdaэто узел устройства физического диска , а не раздел ( /dev/sda1, /dev/sda2и т.д., перегородка).
Если вы видите что-то, что включает в себя:
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************
У вас есть диск в стиле MBR. Не волнуйтесь, это не принесло никакого вреда.
Если вы не видите это предупреждение, у вас есть GPT-диск или гибридный GPT / MBR- диск. Последние используются в основном на компьютерах Apple, предназначенных для двойной загрузки версий MS Windows, которые не поддерживают GPT. gdiskукажет это с помощью:
Found valid GPT with hybrid MBR; using GPT
Они также могут использоваться в других ситуациях, когда требуется поддержка обоих стилей.
Или наоборот - попытка использования cfdiskна разделе GPT также приведет к предупреждению.
Орион
Если он не установлен и отсутствует в gdiskпакете, его можно найти в gptfdiskпакете ... по крайней мере, в Gentoo.
2
@orion Я бы не советовал так как некоторые версии инструментов любят fdiskили cfdiskмогут поддерживать GPT и поэтому не показывают ошибку.
Златовласка
Для меня gdiskобнаруживает гибридную таблицу разделов GPT + MBR и дает Found valid GPT with hybrid MBR; using GPT.. Кажется, это единственный метод, который обнаружит гибридную таблицу.
Грэм
@Graeme: Спасибо. Я не знал об этом (оригинальная гибридная ссылка была отредактирована Стефаном Шазеласом), но я немного прочитал и добавил некоторые детали.
Златовласка
17
Поскольку ОС не была указана, здесь есть способ работы FreeBSD .
Все делается с помощью gpartкоманды (сокращение от GEOM partioner - ничего общего с GNU).
Простое gpart showпокажет вам все доступные разделы всех дисков, но вы можете указать устройство для более точного просмотра:
Устаревшая схема разделов с MBR (также известной как «msdos») и схемами разделов BSD (для систем BSD обычно требуется двухуровневое разбиение, если только не используется полный диск):
$ 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
Выше у меня был диск с гибридным разделением GPT + MS-DOS. В этом случае ядро Linux игнорирует разбиение MS-DOS, поэтому udisksдля UDISKS_PARTITION_TABLE_SCHEME устанавливается значение gpt.
Этот инструмент udisks-part-id используется для заполнения базы данных udev. Так что, если вы udisksустановили, вы сможете запрашивать эту информацию даже как непривилегированный пользователь с:
Обратите внимание, что вы получите похожий вывод независимо от того, есть гибридный GPT + MBR или нет. GPT требует поддельной MBR с одним полным дисковым разделом типа 0xee. В гибридной системе это обычная MBR с одним 0xeeразделом (и потенциальная возможность возникновения серьезных проблем, если данные MBR не синхронизируются с данными GPT).
Грэм
6
использование
$ 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
Смотрите тип Disklabel: DOS . Если он показывает DOS, это означает, что это схема MBR, иначе схема GPT
Ответы:
Вы можете использовать,
parted -l
чтобы определить тип таблицы разделов. Например:Partition Table
Поле показывает , что я используюmsdos
MBR таблицы разделов (тот , по- прежнему широко используется для Linux и Windows) на обоих дисках. Соman
страницыparted
можно создать (и, как мы надеемся, идентифицировать) следующие типы таблицы разделов (или, более широко, «метка диска»):Обновить
Стоит добавить команду для перечисления одного раздела, так как это не очевидно без некоторого знания,
parted
и может оказаться затруднительным найти нужные данные, если имеется несколько дисков. Для/dev/sda
вас будет делать:источник
parted /dev/sda p
тоже сделаю.В Linux вы можете проверить это с помощью
gdisk
инструмента, который должен быть доступен для любого дистрибутива.Здесь,
/dev/sda
это узел устройства физического диска , а не раздел (/dev/sda1
,/dev/sda2
и т.д., перегородка).Если вы видите что-то, что включает в себя:
У вас есть диск в стиле MBR. Не волнуйтесь, это не принесло никакого вреда.
Если вы не видите это предупреждение, у вас есть GPT-диск или гибридный GPT / MBR- диск. Последние используются в основном на компьютерах Apple, предназначенных для двойной загрузки версий MS Windows, которые не поддерживают GPT.
gdisk
укажет это с помощью:Они также могут использоваться в других ситуациях, когда требуется поддержка обоих стилей.
источник
cfdisk
на разделе GPT также приведет к предупреждению.gdisk
пакете, его можно найти вgptfdisk
пакете ... по крайней мере, в Gentoo.fdisk
илиcfdisk
могут поддерживать GPT и поэтому не показывают ошибку.gdisk
обнаруживает гибридную таблицу разделов GPT + MBR и даетFound valid GPT with hybrid MBR; using GPT.
. Кажется, это единственный метод, который обнаружит гибридную таблицу.Поскольку ОС не была указана, здесь есть способ работы FreeBSD .
Все делается с помощью
gpart
команды (сокращение от GEOM partioner - ничего общего с GNU).Простое
gpart show
покажет вам все доступные разделы всех дисков, но вы можете указать устройство для более точного просмотра:Устаревшая схема разделов с MBR (также известной как «msdos») и схемами разделов BSD (для систем BSD обычно требуется двухуровневое разбиение, если только не используется полный диск):
$
gpart show
Современная разметка разделов с использованием GPT :
$
gpart show /dev/ada2
Чтобы узнать больше, все в
gpart
руководстве .источник
С помощью
udisks
Linux:Выше у меня был диск с гибридным разделением GPT + MS-DOS. В этом случае ядро Linux игнорирует разбиение MS-DOS, поэтому
udisks
для UDISKS_PARTITION_TABLE_SCHEME устанавливается значение gpt.Этот инструмент udisks-part-id используется для заполнения базы данных udev. Так что, если вы
udisks
установили, вы сможете запрашивать эту информацию даже как непривилегированный пользователь с:источник
0xee
. В гибридной системе это обычная MBR с одним0xee
разделом (и потенциальная возможность возникновения серьезных проблем, если данные MBR не синхронизируются с данными GPT).использование
Смотрите тип Disklabel: DOS . Если он показывает DOS, это означает, что это схема MBR, иначе схема GPT
источник
В моих скриптах Alpine Linux Partition я использую:
источник
fdisk -l /dev/sda | grep -i disklabel
ничего не возвращается ( GNU Fdisk 1.3.0a ).Вы можете использовать
blkid
.Примеры с выводом:
Или в сценарии с
-o value
опцией:источник