Вкомментарий, Йохан написал:
В редкой комбинации 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
- Таблица разделов — GPT («Найдена допустимая таблица GPT с защитной MBR; используется GPT.»)
- Есть загрузочный раздел 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. К сожалению, похоже, нет способа получить типы разделов из Управления дисками.