Как определить, имеет ли ПК комбинацию GPT-диска и устаревшей загрузки BIOS, где загрузочный код считывается из MBR?

Как определить, имеет ли ПК комбинацию GPT-диска и устаревшей загрузки BIOS, где загрузочный код считывается из MBR?

Вкомментарий, Йохан написал:

В редкой комбинации GPT-диск + устаревшая загрузка BIOS загрузочный код считывается старым добрым способом из MBR

Как правильно определить, есть ли на ПК описанная выше редкая комбинация? Какие команды Windows и/или Linux следует использовать для проверки диска на наличие такого состояния?

решение1

Если у вас есть работающая установка Linux на ПК, вы можете проверить, существует ли каталог /sys/firmware/efi. Если он существует, то ваш компьютер имеет прошивку EFI и не находится в режиме совместимости с BIOS. Если каталог отсутствует, то машина загружается с использованием устаревшего BIOS.

Схему разбиения можно проверить с помощью fdisk. Если fdisk pкоманда ("print the partition table") выдает "msdos" для типа disklabel, то диск имеет старомодную таблицу разделов MBR. Если тип disklabel - "gpt", то у вас диск GPT.

решение2

Я не знаю, редкое ли это состояние, но это один из разумных способов использовать диски большего размера на старых машинах. Или когда системная прошивка глючит и, например, не может правильно вернуться ко второму диску при загрузке программного RAID-массива.

Во-первых, вы должны проверить, что машина не загружена с EFI. Смотрите «Как узнать, загружаюсь ли я с использованием UEFI?" Проверять.

В Linux:

В Linux вы должны увидеть несколько индикаторов, если запуститеgdisk -l /dev/DISK

  1. Таблица разделов — GPT («Найдена допустимая таблица GPT с защитной MBR; используется GPT.»)
  2. Есть загрузочный раздел BIOS (указан как код EF02). Там находится большая часть GRUB (он заменяет сектора, которые в традиционном MBR находятся между загрузочным сектором и первым разделом).

Пример с одного из моих дисков:

# gdisk -l /dev/sdd
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdd: 5860533168 sectors, 2.7 TiB
Model: ST3000VN000-1HJ1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 3F3F7901-A38A-42FF-A7BA-8FBD1C35FB11
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5582 sectors (2.7 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          259024   125.5 MiB   8300  Linux filesystem
   2          260096          517135   125.5 MiB   0700  Microsoft basic data
   3          518144      1953524128   931.3 GiB   8300  Linux filesystem
   4      1953525760      3907033263   931.5 GiB   8300  Linux filesystem
   5      3907035136      5860533134   931.5 GiB   8300  Linux filesystem
 128              34            2047   1007.0 KiB  EF02  BIOS boot partition

В Windows:

Обратите внимание, что это другой диск, который я быстро настроил для виртуальной машины.

diskpartКоманда list diskотображает *в столбце GPT, если диск использует GPT:

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           40 GB      0 B
  Disk 1    Online           20 GB      0 B        *

К сожалению, list partition(после выбора диска с помощью select disk 1) отображаются два раздела как «неизвестные»:

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Unknown           4096 KB    17 KB
  Partition 2    Unknown             19 GB  5120 KB

но если вы детализируете их (после select partition 1), то получите тип GUID:

DISKPART> detail partition

Partition 1
Type    : 21686148-6449-6e6f-744e-656564454649
Hidden  : Yes
Required: No
Attrib  : 0000000000000000
Offset in Bytes: 17408

и 21686148-6449-6e6f-744e-656564454649означает загрузочный раздел BIOS. ( 0fc63daf-8483-4772-8e79-3d69d8477de4кстати, это общий раздел Linux).

В качестве альтернативы, в Управлении дисками выберите диск, выберите Свойства и проверьте вкладку Тома. Это скажет вам, является ли "стиль раздела" MBR или GPT. К сожалению, похоже, нет способа получить типы разделов из Управления дисками.

Связанный контент